Commit graph

3221 commits

Author SHA1 Message Date
Matt Sturgeon
21688b1d2a
modules/lsp/server: rename config -> settings
`config` is a loaded term within modules and options.

`settings` is the name usually used for freeform config in nixvim and
most other module configurations.
2025-04-30 17:35:46 +01:00
github-actions[bot]
fc6f00a7fd flake/dev/flake.lock: Update
Flake lock file updates:

• Updated input 'dev-nixpkgs':
    'github:NixOS/nixpkgs/fbc071e5c11e23fba50037de37268e3d8a1858eb?narHash=sha256-odZyAgjybOV1ha/lEoVL5HVOJw1YqFDfem9u3t%2BVB2o%3D' (2025-04-29)
  → 'github:NixOS/nixpkgs/423d2df5b04b4ee7688c3d71396e872afa236a89?narHash=sha256-vonyYAKJSlsX4n9GCsS0pHxR6yCrfqBIuGvANlkwG6U%3D' (2025-04-30)
2025-05-01 02:14:02 +10:00
github-actions[bot]
edc9a469c9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fbc071e5c11e23fba50037de37268e3d8a1858eb?narHash=sha256-odZyAgjybOV1ha/lEoVL5HVOJw1YqFDfem9u3t%2BVB2o%3D' (2025-04-29)
  → 'github:NixOS/nixpkgs/423d2df5b04b4ee7688c3d71396e872afa236a89?narHash=sha256-vonyYAKJSlsX4n9GCsS0pHxR6yCrfqBIuGvANlkwG6U%3D' (2025-04-30)
2025-05-01 02:14:02 +10:00
Matt Sturgeon
e34eaf8395
modules/lsp/server: declare package defaults
Convert the `attrsOf (servers.nix)` option to a freeform submodule.

Declare a `servers.nix` option for each lsp server listed in
`lsp-packages.nix` that has a known nixpkgs package.
2025-04-30 16:53:55 +01:00
Gaetan Lepage
276abde288 plugins/peek: init 2025-04-30 16:27:29 +02:00
Gaetan Lepage
76a319c5ab Revert "tests/lsp-servers: disable bitbake_language_server (build failure)"
This reverts commit cd3cbb1e26.
2025-04-30 08:31:32 +02:00
github-actions[bot]
0c4ef8e01b flake/dev/flake.lock: Update
Flake lock file updates:

• Updated input 'dev-nixpkgs':
    'github:NixOS/nixpkgs/29335f23bea5e34228349ea739f31ee79e267b88?narHash=sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g%3D' (2025-04-28)
  → 'github:NixOS/nixpkgs/fbc071e5c11e23fba50037de37268e3d8a1858eb?narHash=sha256-odZyAgjybOV1ha/lEoVL5HVOJw1YqFDfem9u3t%2BVB2o%3D' (2025-04-29)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1ad123239957d40e11ef66c203d0a7e272eb48aa?narHash=sha256-m47zhftaod/oHOwoVT25jstdcVLhkrVGyvEHKjbnFHI%3D' (2025-04-29)
  → 'github:nix-community/home-manager/d2b3e6c83d457aa0e7f9344c61c3fed32bad0f7e?narHash=sha256-8Up4QPuMZEJBU0eefAY%2BnUe7DYKQQzvaHnMpNdwRgKA%3D' (2025-04-30)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/763f1ce0dd12fe44ce6a5c6ea3f159d438571874?narHash=sha256-gNrTO3pEjmu3WiuYrUHJrTGCFw9v%2BqZXCFmX/Vjf5WI%3D' (2025-04-28)
  → 'github:numtide/treefmt-nix/82bf32e541b30080d94e46af13d46da0708609ea?narHash=sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko%3D' (2025-04-29)
2025-04-30 06:29:57 +00:00
github-actions[bot]
ce10295ddf flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/29335f23bea5e34228349ea739f31ee79e267b88?narHash=sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g%3D' (2025-04-28)
  → 'github:NixOS/nixpkgs/fbc071e5c11e23fba50037de37268e3d8a1858eb?narHash=sha256-odZyAgjybOV1ha/lEoVL5HVOJw1YqFDfem9u3t%2BVB2o%3D' (2025-04-29)
2025-04-30 06:29:53 +00:00
Gaetan Lepage
cd3cbb1e26 tests/lsp-servers: disable bitbake_language_server (build failure) 2025-04-29 15:37:54 +02:00
github-actions[bot]
8ffba233d6 generated: Update
- Updated lspconfig-servers.json
- Updated rust-analyzer.nix
2025-04-29 15:37:54 +02:00
github-actions[bot]
2435325720 flake/dev/flake.lock: Update
Flake lock file updates:

• Updated input 'dev-nixpkgs':
    'github:NixOS/nixpkgs/507b63021ada5fee621b6ca371c4fca9ca46f52c?narHash=sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA%3D' (2025-04-23)
  → 'github:NixOS/nixpkgs/29335f23bea5e34228349ea739f31ee79e267b88?narHash=sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g%3D' (2025-04-28)
• Updated input 'home-manager':
    'github:nix-community/home-manager/be7cf1709b469a2a2c62169172a167d1fed3509f?narHash=sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI%3D' (2025-04-28)
  → 'github:nix-community/home-manager/1ad123239957d40e11ef66c203d0a7e272eb48aa?narHash=sha256-m47zhftaod/oHOwoVT25jstdcVLhkrVGyvEHKjbnFHI%3D' (2025-04-29)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/d1863f30d9ca67f679f9c2583d7adf674b5d9b8a?narHash=sha256-aRkV0ZpfT/ERgRlGrbgjHFRcEWdseltSO%2BwPnpdPYKg%3D' (2025-04-28)
  → 'github:numtide/treefmt-nix/763f1ce0dd12fe44ce6a5c6ea3f159d438571874?narHash=sha256-gNrTO3pEjmu3WiuYrUHJrTGCFw9v%2BqZXCFmX/Vjf5WI%3D' (2025-04-28)
2025-04-29 15:37:54 +02:00
github-actions[bot]
947621fe92 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/507b63021ada5fee621b6ca371c4fca9ca46f52c?narHash=sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA%3D' (2025-04-23)
  → 'github:NixOS/nixpkgs/29335f23bea5e34228349ea739f31ee79e267b88?narHash=sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g%3D' (2025-04-28)
2025-04-29 15:37:54 +02:00
Gaetan Lepage
944a316881 plugins/goto-preview: init 2025-04-29 13:52:09 +02:00
Matt Sturgeon
9caeb51238
docs: don't remove freeform sub-options
This isn't a fully correct fix, but it's much closer to the intended
behaviour.
2025-04-29 09:36:06 +01:00
Gaetan Lepage
19528509e5 plugins/dial: init 2025-04-29 00:48:55 +02:00
Heitor Augusto
7a6c5b4803 chore: remove empty "test" file 2025-04-28 23:12:38 +01:00
Heitor Augusto
bf276f5223
plugins/lspconfig: add HeitorAugustoLN as a maintainer 2025-04-28 15:09:18 -03:00
Matt Sturgeon
29aa22c41a
modules/lsp: use relative link to plugins.lspconfig 2025-04-28 18:54:05 +01:00
Matt Sturgeon
5c67a96a86
modules/lsp: get nvim-lspconfig link from plugins.lspconfig.package 2025-04-28 18:54:04 +01:00
Matt Sturgeon
812b2b0903
modules/lsp: update wording for plugins.lspconfig recommendation 2025-04-28 18:54:04 +01:00
Matt Sturgeon
556eb29548
plugins/lspconfig: init
A simplified replacement for `plugins.lsp`.

Eventually, once the `lsp` and `plugins.lspconfig` modules are mature,
`plugins.lsp` will be deprecated and/or aliased.
2025-04-28 18:54:04 +01:00
Matt Sturgeon
29aa60b43a
modules/lsp: add per-server name option
This allows users to override the name used for a given `lsp.servers.*`
entry. The default is still the attr-name.

This may be useful to inject raw lua, or to configure the same server in
different ways via different attrs.
2025-04-28 18:23:49 +01:00
Matt Sturgeon
3722f88c5d
modules/lsp: move server module to dedicated file 2025-04-28 18:04:11 +01:00
Matt Sturgeon
74368bcfc1
modules/lsp: move to dedicated directory 2025-04-28 17:59:05 +01:00
Gaetan Lepage
70c9b3b890 modules/lsp: init
Co-authored-by: Matt Sturgeon <matt@sturgeon.me.uk>
2025-04-28 18:11:39 +02:00
Gaetan Lepage
9e0d2e4bed plugins/lsp: rename lua scope to nvim-lspconfig 2025-04-28 18:11:39 +02:00
Stanislav Asunkin
775e4d8856 plugins/luasnip: remove redundant jsregexp dependency
This dependency is already handled by nixpkgs.
2025-04-28 18:06:13 +03:00
Stanislav Asunkin
6415ae4a97 tests/modules/performance/combine-plugins: improve assertion messages
This commit eliminates assertions boilerplate and improves assertion
message by returning the number of plugins and their names.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
f28d384ab5 modules/performance/combine-plugins: propagate lua dependencies
Plugins from luarocks (e.g. telescope-nvim) have dependencies specified
in propagatedBuildInputs. These dependencies are not added as plugins in
Nvim runtime. They are added to LUA_PATH env var for wrapped neovim.
This commit collects all propagatedBuildInputs from input plugin list
and puts them in the combined plugin.
Note that such dependencies are never combined, because they are not
plugins.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
57e19ec3ec tests/modules/performance/combine-plugins: use stub plugins for tests
During the last half of the year many dependencies of plugins used in
the tests were changed in nixpkgs. To make tests more robust use a
specially crafted stub plugins.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
9c39ea4ccb tests/modules/performance/byte-compile-lua: fix tests
telescope-nvim doesn't have explicit dependency on plenary-nvim anymore.
Use noice-nvim which have a dependency on nui-nvim instead.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
014b143f6a tests/modules/performance/combine-plugins: restore test functionality
Replace test plugins to those that reflect the intention for the test.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
faa31d994c Revert "tests/modules-performance: add nvim-cmp to extraPlugins when necessary"
This reverts commit bb5b0a2655.

This change defeats the purpose of the dependency test. Revert it.
The test should verify that dependencies are correctly pulled. If
upstream plugin doesn't have dependency anymore, then a suitable
alternative should be used, not dependencies added manually.
2025-04-28 17:26:13 +03:00
Stanislav Asunkin
7bb135b091 Revert "modules/performance: temporary add plenary to extraPlugins to fix tests"
This reverts commit 5a491f4b2b.
2025-04-28 17:26:13 +03:00
github-actions[bot]
65d3f2f4ae flake/dev/flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/98f4fef7fd7b4a77245db12e33616023162bc6d9?narHash=sha256-lhVyVn1utb2UVTbyKJ6mfKB7wLTjrj14OlebvO0WU2s%3D' (2025-04-25)
  → 'github:nix-community/home-manager/be7cf1709b469a2a2c62169172a167d1fed3509f?narHash=sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI%3D' (2025-04-28)
• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/43975d782b418ebf4969e9ccba82466728c2851b?narHash=sha256-dyN%2BteG9G82G%2Bm%2BPX/aSAagkC%2BvUv0SgUw3XkPhQodQ%3D' (2025-04-12)
  → 'github:lnl7/nix-darwin/4515dacafb0ccd42e5395aacc49fd58a43027e01?narHash=sha256-Gyh/fkCDqVNGM0BWvk%2B4UAS17w2UI6iwnbQQCmc1TDI%3D' (2025-04-28)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/8d404a69efe76146368885110f29a2ca3700bee6?narHash=sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI%3D' (2025-04-18)
  → 'github:numtide/treefmt-nix/d1863f30d9ca67f679f9c2583d7adf674b5d9b8a?narHash=sha256-aRkV0ZpfT/ERgRlGrbgjHFRcEWdseltSO%2BwPnpdPYKg%3D' (2025-04-28)
2025-04-28 22:52:26 +10:00
Matt Sturgeon
3ea2ce7ff6
Revert "plugins/lsp: use vim.lsp native API"
This reverts commit 78f6ff0369.

From PR https://github.com/nix-community/nixvim/pull/3204
2025-04-28 13:08:48 +01:00
Gaetan Lepage
836994b8bc plugins/telescope/extensions: use mkExtension's dependencies parameter 2025-04-28 02:04:15 +02:00
Gaetan Lepage
436fd243cf plugins/telescope: add dependencies parameter for mkExtension 2025-04-28 02:04:15 +02:00
Gaetan Lepage
1a64636839 plugins: use mk{Neovim,Vim}Plugin's dependencies parameter 2025-04-28 02:04:13 +02:00
Gaetan Lepage
b66559d8ef lib/plugins/mk{Neovim,Vim}Plugin: add dependencies parameter 2025-04-28 02:04:13 +02:00
Gaetan Lepage
89c94d9ea7 plugins/telescope/media-files: use the top-level dependencies option 2025-04-27 11:28:18 +02:00
Gaetan Lepage
0a301a428a plugins/telescope/media-files: remove old rename warnings 2025-04-27 10:03:31 +02:00
Gaetan Lepage
8d8a856896 plugins/lsp: remove unused internal enabledServers.*.capabilities option 2025-04-26 21:52:14 +02:00
Matt Sturgeon
6c73350557
modules/diagnostic: rename diagnostics -> diagnostic.config
Currently we represent `vim.diagnostic.config()` as a top-level
`diagnostics` option. This means we have no clear namespace for
(e.g.) `vim.diagnostic.<action>` keymap functions.
2025-04-26 20:09:23 +01:00
Matt Sturgeon
c3a42a7ac4
plugins/lsp: remove standalonePlugins default
We don't need to add `plugins.lsp` to
`performance.combinePlugins.standalonePlugins`
now that `/lsp` is included in `pathsToLink`.
2025-04-26 19:55:38 +01:00
Matt Sturgeon
47f44488ae
modules/performance: document pathsToLink default
We set the default with "normal" priority, so explicitly list it as
`defaultText`.
2025-04-26 19:55:38 +01:00
Matt Sturgeon
6418cf3414
modules/performance: update runtimepath pathsToLink 2025-04-26 19:55:38 +01:00
Gaetan Lepage
f0ec773869 plugins/lsp: simplify implementation of per-server capabilities 2025-04-27 04:40:24 +10:00
Gaetan Lepage
2e559d3c3a plugins/lsp: simplify implementation of inlayHints 2025-04-26 19:35:31 +02:00
Matt Sturgeon
b72ba2e4e2
plugins/lsp/servers: replace rootDir with rootMarkers
nvim-lspconfig historically used `root_dir`, along with util functions
like `root_pattern`.

Now that neovim's own LSP API is used, `root_dir` appears to be subtly
different and `root_markers` is introduced to replace `util.root_pattern`.

Since we cannot easily warn about the `root_dir` differences, it can
usually be replaced with `root_markers`, and can still be manually
configured via `extraOptions` if needed; the simplest approach here is
to remove the `rootDir` option.
2025-04-25 16:04:38 +01:00