Commit Graph

46 Commits

Author SHA1 Message Date
Matthieu Coudron
a5e5d66a4c
vimPlugins: introduce passthru.initLua for some plugins (#334913)
* vimPlugins: introduce passthru.initLua for some plugins

as described in https://github.com/NixOS/nixpkgs/issues/172538, some vim
plugins need some configuration to be able to work at all.
We choose not to patch those plugins and instead expose the necessary
configuration to make them work in `PLUGIN.passthru.initLua`.
For now the user can check if plugins have a `PLUGIN.passthru.initLua`
and if yes, prepend it to their own init.lua.

Maybe later we can revisit this to either patch them in a way that is
clear that it's a nixpkgs patch or by having the neovim wrapper pick
those snippets and autoadd them to init.lua ?

* Update doc/languages-frameworks/vim.section.md

Co-authored-by: Marc Jakobi <mrcjkb89@outlook.com>

---------

Co-authored-by: Marc Jakobi <mrcjkb89@outlook.com>
2024-08-19 12:16:42 +02:00
Thiago Kenji Okada
5d2257ba7b doc/vim.section.md: fix references to the old update.py script
Running the `update.py` script directly doesn't work anymore, so instead
replace all usages of it in the documentation with `nix-shell -p
vimPluginsUpdater --run 'vim-plugins-updater'`.
2024-07-15 10:09:28 +01:00
Mango The Fourth
36e8d8a53b
vimPlugins.nvim-treesitter: fix update.py and update documentation (#321535)
* vimPlugins.nvim-treesitter: fix update.py and update documentation
2024-06-24 14:53:31 +02:00
Janne Heß
fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Matthieu Coudron
901b21c555 vimPluginsUpdater: init
The nixpkgs documentation mentions how to update out of tree plugins but
one problem is that it requires a nixpkgs clone.
This makes it more convenient.
I've had the need to generate vim plugins and lua overlays for other
projects unrelated to nix and this will make updates easier (aka just
run `nix run nixpkgs#vimPluginsUpdater -- --proc=1` or with the legacy commands:
`nix-shell -p vimPluginsUpdater  --run vim-plugins-updater`.

I added an optional "nixpkgs" argument to command line parser, which is the path
towards a nixpkgs checkout. By default the current folder.

update-luarocks-packages: format with black
2023-10-01 17:30:55 +02:00
Matthieu Coudron
0ab2c96429 vimUtils: buildVimPluginFrom2Nix renamed to buildVimPlugin
the `from2Nix` suffix is a legacy from vim2nix but we dont use that anymore. It makes the name of the function unusual and long.
2023-09-27 19:08:38 +02:00
Matthieu Coudron
351cec5db3
use subcommands in plugin updaters (#223164)
* update.py: introduce subparsers for plugin updaters

This is preliminary work to help create more powerful plugin updaters.
Namely I would like to be able to "just add" plugins without refreshing
the older ones (helpful when github temporarily removes a user from
github due to automated bot detection).

Also concerning the lua updater, we pin some of the dependencies, and I
would like to be able to unpin the package without editing the csv
(coming in later PRs).

* doc/updaters: update command to update editor plugins

including vim, kakoune and lua packages

Co-authored-by: figsoda
2023-04-14 22:02:17 +02:00
pennae
052bb41410 doc: assign ids to many headings
without stable ids on headings we cannot generate stable links to these
headings. nrd complains about this, but the current docbook workflow
does not.

a few generated ids remain, mostly in examples and footnotes. most of
the examples are generated by nixdoc (which has since gained MD export
functions, and the MD export does generate IDs).
2023-03-27 22:39:11 +02:00
Naïm Favier
4e5ebcc3ed
vim-full: rename from vim_configurable
Avoids confusion: `vim-full`'s build-time features are configurable, but both
`vim` and `vim-full` are *customizable* (in the sense of user configuration).
2022-12-09 09:55:55 +01:00
Colin Arnott
bac379f30a
doc: use sri hash syntax
The nixpkgs manual contains references to both sri hash and explicit
sha256 attributes. This is at best confusing to new users. Since the
final destination is exclusive use of sri hashes, see nixos/rfcs#131,
might as well push new users in that direction gently.

Notable exceptions to sri hash support are builtins.fetchTarball,
cataclysm-dda, coq, dockerTools.pullimage, elixir.override, and
fetchCrate. None, other than builtins.fetchTarball, are fundamentally
incompatible, but all currently accept explicit sha256 attributes as
input. Because adding backwards compatibility is out of scope for this
change, they have been left intact, but migration to sri format has been
made for any using old hash formats.

All hashes have been manually tested to be accurate, and updates were
only made for missing upstream artefacts or bugs.
2022-12-04 06:12:18 +00:00
Jocelyn Thode
2f933d60fb doc/vim: Clarify buildVimPlugin/buildVimPluginFrom2Nix 2022-11-14 14:59:13 -05:00
figsoda
0426b36f9f doc/vim: update docs for nvim-treesitter 2022-10-31 09:44:02 -04:00
Matthieu Coudron
800323c0c0 doc(vim): take into account plug non-support
Apply suggestions from code review

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-09-11 20:33:01 +02:00
Matthieu Coudron
3944240476 doc(neovim): remove the mention of plug for neovim
This was removed to simplify configuration. One could create a function that converts the plug format to vim native package format (only plugin system supported for neovim)  and upstream it to nixpkgs if that's an issue
2022-09-11 18:11:16 +02:00
Matthieu Coudron
584bc20aa0 doc: present how to create a vim-plugin overlay
it is possible to maintain an out of tree list of neovim plugins with this method

Update doc/languages-frameworks/vim.section.md

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-09-11 18:11:16 +02:00
Matthieu Coudron
341b9564bb vimUtils: remove vam support
having this many (complex) options not only is hard to maintain but I cant see the benefit of these options now that vim supports packages
2022-07-10 20:38:09 +02:00
Jayson Henkel
cb7bea1312 Update grammar in vim section
Fixed a few grammatical issues. Was uncertain how to address Treesitter, as the homepage itself is inconsistent, using all combinations of Treesitter, Tree-sitter, treesitter and tree-sitter.
2022-07-08 15:09:32 +02:00
Matthieu Coudron
a1ad235743
vimUtils: deprecate configure.pathogen (#154814)
pathogen does not bring any value compared to vim native packages so
remove it to ease maintainance burden.
2022-06-13 15:25:46 +02:00
7c6f434c
cd8d955620
Merge pull request #164994 from ncfavier/vim-wrapper
vim wrapper improvements
2022-03-29 09:50:44 +00:00
Lucas Hoffmann
f3bda2f2c0 docs: replace defunct git://github.com urls with https:// 2022-03-25 11:21:42 +01:00
Naïm Favier
7ab1fd262f
vimUtils.makeCustomizable: rewrite to include more things
The current wrapper only includes vim, gvim and the man pages
(optionally). This rewrite distinguishes two scenarios, which I expect
cover the majority of use cases:

- standalone mode, when `name != "vim"`, means the user already has a
  vim in scope and only wants to add a customized version with a
  different name. In this case we only include wrappers for `/bin/*vim`.
- non-standalone mode, when `name == "vim"`, means the user expects a
  normal vim package that uses the specified configuration. In this case
  we include everything in the original derivation, with wrappers for
  all the executables that accept a vimrc.
2022-03-25 00:12:02 +01:00
AndersonTorres
3f19fc37a3 Move misc/vim-plugins to applications/editors/vim/plugins 2022-02-24 20:26:07 -03:00
Amon Stopinšek
5f2db22eae doc: fix broken links
Links in documentation shouldn't point to dead ends.
2021-12-09 18:57:38 +00:00
Matthieu Coudron
560a4e4e08 update-luarocks-packages: use pluginupdate.py
Trying to reuse the update scripts used by kakoune/vim to provide the
user with an unified convergence. Some stuff doesn't work yet (parallel
download, caching) but I (anyone else welcome to try too) will improve
it in other PRs.
2021-08-09 21:37:56 +02:00
Guillaume Girol
f620722174 vimPlugins.nvim-treesitter: document plugins 2021-07-18 14:40:49 +02:00
Jan Tojnar
6ecc641d08
doc: prepare for commonmark
We are still using Pandoc’s Markdown parser, which differs from CommonMark spec slightly.

Notably:
- Line breaks in lists behave differently.
- Admonitions do not support the simpler syntax https://github.com/jgm/commonmark-hs/issues/75
- The auto_identifiers uses a different algorithm – I made the previous ones explicit.
- Languages (classes) of code blocks cannot contain whitespace so we have to use “pycon” alias instead of Python “console” as GitHub’s linguist

While at it, I also fixed the following issues:
- ShellSesssion was used
- Removed some pointless docbook tags.
2021-06-07 06:34:59 +02:00
Adrian Hesketh
f86b57d708
Include custom package in vim docs (#92811)
Describe how to package a plugin that doesn't exist in nixpkgs (and also how to include an external file).

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2021-04-20 21:28:06 +01:00
Sandro Jäckel
2c143a4614 doc/languages-frameworks/*: add missing languages to code fences
convert shell -> ShellSession
2021-04-05 05:23:19 +02:00
Ryan Mulligan
b8344f9e5c doc: explicit Markdown anchors for top-level headings; remove metadata
I used the existing anchors generated by Docbook, so the anchor part
should be a no-op. This could be useful depending on the
infrastructure we choose to use, and it is better to be explicit than
rely on Docbook's id generating algorithms.

I got rid of the metadata segments of the Markdown files, because they
are outdated, inaccurate, and could make people less willing to change
them without speaking with the author.
2021-01-01 10:02:57 -08:00
Austin Butler
7fd9976af3 vimPlugins: document update proces 2020-10-28 13:51:24 -07:00
Jake Waksbaum
58e585c93b vimPlugins: Document node-based plugins 2020-09-04 08:33:47 -07:00
ryneeverett
0a2759483a vimPlugins: update auto-commiting based on review
- Use git.Repo(ROOT, search_parent_directories=True) to find nixpkgs
repo.
- Don't commit overrides.nix.
- Remove "-a" short argument.
- Remove "--commit" flag and commit by default.
- Improve help/error messages.
- Favor closure pattern over classes.Use a closure to wrap the update
function with state rather than a callable class.
- break NixpkgsRepo class into functions
- Optional None-type arguments
- Remove repo checks from update.py. Git is too flexible and permits too
many workflows for my attempt to replace documentation with code to work.
My goal would be to separate the `--add` functionality from the update
functionality in the near term and then there will be no reason for this
usage to create commits anyway.
2020-04-01 17:19:01 +00:00
ryneeverett
f1ae95f6d3 vimPlugins: update.py --add <plugin> argument
- update.py's new --add argument replaces manual editing of
vim-plugin-names for basic use cases.
2020-04-01 14:30:39 +00:00
ryneeverett
df0db17740 vimPlugins: automatically commit update 2020-04-01 14:30:23 +00:00
Frederik Rietdijk
95dfbe2d63 doc: organize chapters into parts, and reduce toc depth
Reorganize the chapters into parts and reduce the TOC depth to make the
TOC useful again. The top-level TOC is very brief, but that is fine
because every part will have its own TOC.

Section titles of languages/frameworks are also simplified to just
the name of the language/framework.
2019-10-20 13:35:04 +02:00
Malo Bourgon
2b6012ac39 Cleanup formatting in Vim plugin docs 2019-07-14 17:13:34 -07:00
Malo Bourgon
5d69e5f84b Update documentation about adding new Vim plugins to nixpkgs 2019-07-14 17:13:29 -07:00
Daniel Schaefer
bac4d95aa2 treewide: Change URLs to HTTPS
Lots of URLs were HTTP redirect to HTTPS. Changed those and checked them
if there's actual content. Inspired by
https://github.com/NixOS/nixpkgs/issues/60004
2019-04-22 10:19:54 +02:00
Timo Kaufmann
c52c4a00a2 doc: add neovim-qt configuration 2019-01-06 10:56:28 +01:00
Timo Kaufmann
8e8a09bfc9 vimUtils: add dependency logic to nativeImpl
nativeImpl previously simply ignored dependency information.
2018-12-24 23:41:44 +01:00
Trolli Schmittlauch
c90051c53d clarifying name arg determines vim command name
The `name` arg of `vim_configurable.customize` does not only determine
the package name, but also the name of the command/ executable to be
called.
In my opinion this is not documented properly and finding that out took
me several hours.
2018-10-24 17:02:54 +02:00
Jörg Thalheim
1552f2ef68 doc/vim: remove some vim-plug redundancy 2018-09-20 08:20:11 +01:00
Roman Volosatovs
c1d8b1e266
doc: Add section about vim-plug 2018-09-20 09:05:33 +02:00
Jörg Thalheim
953199fd82 vim-plugins: rewrite updater
A new python script has been added to replace the aged viml-based
updater. The new updater has the following advantages:

- use rss feeds to check for updates quicker
- parallel downloads & better caching
- uses proper override mechanism instead of text substitution
- update generated files in-place instead of having to insert updated plugins manually

Automatically reading `dependencies` from the plugins directory has been
not re-implemented.
This has been mostly been used by Mark Weber's plugins, which seem to
no longer receive regular updates.
This could be implemented in future as required.
2018-09-09 11:22:43 +01:00
Jörg Thalheim
97acac9a81 doc/vim: improve plugin documentation 2018-09-09 09:45:45 +01:00
Graham Christensen
92d53362d4
Move all nixpkgs doc files in to the doc directory
This makes a makefile-driven developer workflow nicer.
2018-03-25 19:52:00 -04:00