Show how to use the existing wasi32 cross parser set with
wasm-enabled Neovim, and explain why native and WASM parsers
should not be mixed for one language.
This was available in makeNeovimConfig already but:
- generated wrapper arguments, which we want to avoid because it
confuses users
- `makeNeovimConfig` relies on neovim-unwrapped in impure manner, which
for instance caused issues in one of cases where I override
neovim-unwrapped's luajit with a luajit with custom lua packages.
It's confusing to have a polymorphic behavior for nvimSkipModule and it
is an implementation detail.
Let's not force ourselves to keep supporting both types and just support
lists, which imply plural in nixpkgs (e.g. "lib.optional" vs "lib.optionals").
Support and showcase just the list format to avoid confusion.
* doc/neovim: better document the wrappers
there is new wrapper interface `wrapNeovimUnstable` in development intended to be
easier to use than the old `wrapNeovim`. It provides new fancy features that we would like to
leverage/advertise
The interface is not definitive yet so we provide a translation layer
to avoid breaking user configurations such that `wrapNeovim` still works.
This explains why we document both at the moment with the goal to remove
the old one once we ciment the interface.
* doc/neovim: explain what buildNeovimPlugin does
I wanted to add instructions on how to configure neovim via the new
wrapper but it was difficult mixing this with both the vim and old
wrapper.
Neovim differs enough from vim to warrant its own section IMO:
1. its wrapper is different (old wrapper close to vim's syntax, new one
not so much)
2. treesitter is unique to neovim
3. the section about neovim plugins is unique to neovim as well. Not
only that but it needs to expanded.
At some point the doc unique to vim is going to exceed vim's.
We can refer to vim's section to avoid duplication where it makes sense.