* plugins: Add nvim-lightbulb plugin, showing if code actions are available
* Update nvim-lightbulb.nix
Co-authored-by: Pedro Alves <pta2002@users.noreply.github.com>
* nvim-lsp: Add settings for rust-analyzer
Because the settings are quite complex they are auto-generated. This
commit adds the script creating it & the generated options.
* Update flake.nix
Co-authored-by: Pedro Alves <pta2002@users.noreply.github.com>
The grammars in the tree-sitter package and nvim-treesitter package are
not the same. The grammars in the nvim-treesitter package are directly
taken from the grammars supported by the plugin, whereas tree-sitter
grammars are hard-coded in nixpkgs.
This means that there are more tree-sitter grammars available from
nvim-treesitter rather than tree-sitter.
* plugins/languages/treesitter: change default value for parserInstallDir
* better document parserInstallDir
Co-authored-by: Pedro Alves <pta2002@pta2002.com>
* nvim-lsp: Allow to pass settings to clients
Some clients (like rust-analyzer, nil_ls, ...) can take settings
specified in the setup function. This commit adds two fields for the
'mkLsp' function to handle this:
- extraOptions: define nix module options
- settings: A function that takes the corresponding lsp module config
and formats it as a settings object compatible with the server.
* nvim-lsp: Add nil-ls (for Nix)
* nvim-lsp: Add bashls (for Bash)
* nvim-lsp: Add dartls, for dart
Co-authored-by: Pedro Alves <pta2002@users.noreply.github.com>
As treesitter-refactor is a treesitter module we need a way to pass
extra configuration options to the treesitter setup. This is done
through a `moduleConfig` attrset. This set should not be used outside
nixvim.
* wrappers: Allow to customize the nixpkgs used for nixvim
This allows to pass overlays and other such modifications of nixpkgs.
* wrappers: Allow to pass a custom module to nixvim
This is useful to be able to take full advantage of the Nix module
system, with `imports` and `options`.
* README: Update the documentation on the standalone usage
The following information were out of date or incomplete:
- The `build` function has be changed to the `makeNixvim` function.
- `makeNixvimWithModule` has been introduced in order to allow more
customization.
- Added a full example using nixvim in a standalone flake
The global variables don't work for applying configuration, we need to
switch to using the 'setup' function. This also aligns the default
option values in tokyonight upstream.