diff --git a/docs/manual/configuring/languages/lsp.md b/docs/manual/configuring/languages/lsp.md index 2ddc08b56..f5a4d8145 100644 --- a/docs/manual/configuring/languages/lsp.md +++ b/docs/manual/configuring/languages/lsp.md @@ -1,23 +1,41 @@ -# LSP Custom Packages/Command {#sec-languages-custom-lsp-packages} +# Configuring supported LSP servers {#sec-languages-configuraing-lsp-servers} One of the strengths of **nvf** is convenient aliases to quickly configure LSP servers through the Nix module system. By default the LSP packages for relevant language modules will be pulled into the closure. If this is not desirable, you -may provide **a custom LSP package** (e.g., a Bash script that calls a command) -or **a list of strings** to be interpreted as the command to launch the language -server. By using a list of strings, you can use this to skip automatic -installation of a language server, and instead use the one found in your `$PATH` -during runtime, for example: +may modify [](#opt-vim.lsp.servers._name_.cmd) (see example below). + +Any other forms of configuration can be done via [](#opt-vim.lsp.servers), which +is a wrapper for the Neovim Lua API available as`vim.lsp.config()`. Getting +familiar with `:help vim.lsp.config()` may help you better understand how to +configure LSPs. ```nix -vim.languages.java = { - lsp = { +{ + vim.languages.python = { enable = true; + lsp = { + enable = true; + # You can now enable multiple LSPs per language + servers = ["basedpyright"]; + }; + }; + + # vim.lsp.servers is a wrapper for the lua API vim.lsp.config + # (see :help vim.lsp.config) + vim.lsp.servers = { + basedpyright = { + # `vim.languages..lsp.package` is now removed, you have to + # modify the cmd field, and remember to copy over the arguments! + cmd = [(getExe pkgs.myCustomPackage) "--stdio"]; - # This expects 'jdt-language-server' to be in your PATH or in - # 'vim.extraPackages.' There are no additional checks performed to see - # if the command provided is valid. - package = ["jdt-language-server" "-data" "~/.cache/jdtls/workspace"]; + # server specific settings, see documentation of the respective language + # servers + settings = { + basedpyright.analysis.logLevel = "Error"; + python.pythonPath = getExe pkgs.myPython3; + }; + }; }; } ``` diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1d7ce1029..082c145d5 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -28,6 +28,62 @@ align with the "hunks" themed mapping and avoid conflict with the new [neogit] group. +- Language modules are reworked to allow more flexible and close-to-neovim-API + configs. LSP configuration options are removed from `vim.languages` and should + be done via `vim.lsp.servers`. + +## Language module LSP rework + +In nvf v0.8, language modules are overhauled, with a few goals in mind: + +1. Get rid of our rigid "hard-coded" Lua scripts in favor of the more flexible + `setupOpts` styled options +2. Have our new API stick closer to Lua APIs, in this case `vim.lsp.config` +3. Allow enabling multiple LSPs per-language + +This is, however, a big change, so breaking changes are inevitable. The most +important change is the removal of `vim.languages..lsp.package` - you now +need to modify `vim.lsp.servers..cmd`, copying over any additional +arguments - these can be found in the source code files of the respective +language. + + + +The `` mentioned here is the name of the language server, as shown in +`vim.languages..lsp.servers`. This is NOT the name of the language. + +Here's a quick overview at what the new language module, looks like: + +```nix +{ + vim.languages.python = { + enable = true; + lsp = { + enable = true; + # You can now enable multiple LSPs per language + servers = ["pyright" "python-lsp-server"]; + }; + }; + + # vim.lsp.servers is a wrapper for the lua API vim.lsp.config + # (see :help vim.lsp.config) + vim.lsp.servers = { + pyright = { + # `vim.languages..lsp.package` is now removed, you have to + # modify the cmd field, and remember to copy over the arguments! + cmd = [(getExe pkgs.myCustomPyright) "--stdio"]; + }; + + python-lsp-server = { + # server specific settings + settings = { + pylsp.signature.line_length = 100; + }; + }; + }; +} +``` + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 6c18b98ed..663772d67 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -41,24 +41,22 @@ in { servers = mkOption { type = attrsOf lspOptions; default = {}; - example = '' - { - "*" = { - root_markers = [".git"]; - capabilities = { - textDocument = { - semanticTokens = { - multilineTokenSupport = true; - }; + example = { + "*" = { + root_markers = [".git"]; + capabilities = { + textDocument = { + semanticTokens = { + multilineTokenSupport = true; }; }; }; + }; - "clangd" = { - filetypes = ["c"]; - }; - } - ''; + "clangd" = { + filetypes = ["c"]; + }; + }; description = '' LSP configurations that will be managed using `vim.lsp.config()` and related utilities added in Neovim 0.11. LSPs defined here will be added to the diff --git a/modules/plugins/languages/asm.nix b/modules/plugins/languages/asm.nix index 9d296755f..76c7adcb6 100644 --- a/modules/plugins/languages/asm.nix +++ b/modules/plugins/languages/asm.nix @@ -36,7 +36,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Assembly LSP server to use"; + description = '' + Assembly LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index a16f286e2..950f8067e 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -91,7 +91,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Astro LSP server to use"; + description = '' + Astro LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/bash.nix b/modules/plugins/languages/bash.nix index 4597666a0..91e5bf091 100644 --- a/modules/plugins/languages/bash.nix +++ b/modules/plugins/languages/bash.nix @@ -57,7 +57,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Bash LSP server to use"; + description = '' + Bash LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/clang.nix b/modules/plugins/languages/clang.nix index 487bc151e..443464289 100644 --- a/modules/plugins/languages/clang.nix +++ b/modules/plugins/languages/clang.nix @@ -197,7 +197,10 @@ in { enable = mkEnableOption "clang LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - description = "The clang LSP server to use"; + description = '' + The clang LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; type = singleOrListOf (enum (attrNames servers)); default = defaultServers; }; diff --git a/modules/plugins/languages/clojure.nix b/modules/plugins/languages/clojure.nix index 25452d9b5..3f66ffaf3 100644 --- a/modules/plugins/languages/clojure.nix +++ b/modules/plugins/languages/clojure.nix @@ -37,7 +37,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Clojure LSP server to use"; + description = '' + Clojure LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/csharp.nix b/modules/plugins/languages/csharp.nix index 9e13a5efb..e160f1aad 100644 --- a/modules/plugins/languages/csharp.nix +++ b/modules/plugins/languages/csharp.nix @@ -185,7 +185,10 @@ in { lsp = { enable = mkEnableOption "C# LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - description = "C# LSP server to use"; + description = '' + C# LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; type = singleOrListOf (enum (attrNames servers)); default = defaultServers; }; diff --git a/modules/plugins/languages/css.nix b/modules/plugins/languages/css.nix index 2d767ffce..15b03581b 100644 --- a/modules/plugins/languages/css.nix +++ b/modules/plugins/languages/css.nix @@ -76,7 +76,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServer; - description = "CSS LSP server to use"; + description = '' + CSS LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 52dcd560d..028f0937f 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -54,7 +54,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Dart LSP server to use"; + description = '' + Dart LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/elixir.nix b/modules/plugins/languages/elixir.nix index 12c8a517d..629821050 100644 --- a/modules/plugins/languages/elixir.nix +++ b/modules/plugins/languages/elixir.nix @@ -65,7 +65,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Elixir LSP server to use"; + description = '' + Elixir LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/fsharp.nix b/modules/plugins/languages/fsharp.nix index 9ead9a486..a1c48af52 100644 --- a/modules/plugins/languages/fsharp.nix +++ b/modules/plugins/languages/fsharp.nix @@ -74,7 +74,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServer; - description = "F# LSP server to use"; + description = '' + F# LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; format = { diff --git a/modules/plugins/languages/gleam.nix b/modules/plugins/languages/gleam.nix index 984d21aa5..d56804f3a 100644 --- a/modules/plugins/languages/gleam.nix +++ b/modules/plugins/languages/gleam.nix @@ -37,7 +37,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Gleam LSP server to use"; + description = '' + Gleam LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 5b1aeebb4..fbaa19f71 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -97,7 +97,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Go LSP server to use"; + description = '' + Go LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/haskell.nix b/modules/plugins/languages/haskell.nix index e73140f48..07e2feaef 100644 --- a/modules/plugins/languages/haskell.nix +++ b/modules/plugins/languages/haskell.nix @@ -78,7 +78,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Haskell LSP server to use"; + description = '' + Haskell LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/hcl.nix b/modules/plugins/languages/hcl.nix index ca00f600d..ec736f2d0 100644 --- a/modules/plugins/languages/hcl.nix +++ b/modules/plugins/languages/hcl.nix @@ -44,7 +44,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "HCL LSP server to use"; + description = '' + HCL LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/helm.nix b/modules/plugins/languages/helm.nix index 450177ad2..3c952049c 100644 --- a/modules/plugins/languages/helm.nix +++ b/modules/plugins/languages/helm.nix @@ -53,7 +53,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Helm LSP server to use"; + description = '' + Helm LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/html.nix b/modules/plugins/languages/html.nix index bcc6b8421..ccc4e2640 100644 --- a/modules/plugins/languages/html.nix +++ b/modules/plugins/languages/html.nix @@ -60,7 +60,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "HTML LSP server to use"; + description = '' + HTML LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/java.nix b/modules/plugins/languages/java.nix index 82fae1841..c3b4e7f99 100644 --- a/modules/plugins/languages/java.nix +++ b/modules/plugins/languages/java.nix @@ -74,7 +74,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Java LSP server to use"; + description = '' + Java LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/json.nix b/modules/plugins/languages/json.nix index 26349710c..d540610e1 100644 --- a/modules/plugins/languages/json.nix +++ b/modules/plugins/languages/json.nix @@ -51,7 +51,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "JSON LSP server to use"; + description = '' + JSON LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/just.nix b/modules/plugins/languages/just.nix index 7645f255f..04a7b8b43 100644 --- a/modules/plugins/languages/just.nix +++ b/modules/plugins/languages/just.nix @@ -39,7 +39,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Just LSP server to use"; + description = '' + Just LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/kotlin.nix b/modules/plugins/languages/kotlin.nix index f316c4cb7..bf2be053c 100644 --- a/modules/plugins/languages/kotlin.nix +++ b/modules/plugins/languages/kotlin.nix @@ -65,7 +65,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Kotlin LSP server to use"; + description = '' + Kotlin LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index e454eaa8c..67f90399f 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -66,7 +66,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Lua LSP server to use"; + description = '' + Lua LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers"; diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index a619e3c80..b9950025a 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -69,7 +69,10 @@ in { enable = mkEnableOption "Markdown LSP support" // {default = config.vim.lsp.enable;}; servers = mkOption { - description = "Markdown LSP server to use"; + description = '' + Markdown LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; type = singleOrListOf (enum (attrNames servers)); default = defaultServers; }; diff --git a/modules/plugins/languages/nim.nix b/modules/plugins/languages/nim.nix index b4fab356d..d6be007fc 100644 --- a/modules/plugins/languages/nim.nix +++ b/modules/plugins/languages/nim.nix @@ -61,7 +61,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Nim LSP server to use"; + description = '' + Nim LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 6127f78e8..cb6b47b24 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -100,7 +100,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Nix LSP server to use"; + description = '' + Nix LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/nu.nix b/modules/plugins/languages/nu.nix index d58e39a39..58e47a01d 100644 --- a/modules/plugins/languages/nu.nix +++ b/modules/plugins/languages/nu.nix @@ -48,7 +48,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Nu LSP server to use"; + description = '' + Nu LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/ocaml.nix b/modules/plugins/languages/ocaml.nix index cf9fdd935..8dc344c08 100644 --- a/modules/plugins/languages/ocaml.nix +++ b/modules/plugins/languages/ocaml.nix @@ -76,7 +76,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "OCaml LSP server to use"; + description = '' + OCaml LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/odin.nix b/modules/plugins/languages/odin.nix index f18a33833..2c63476ad 100644 --- a/modules/plugins/languages/odin.nix +++ b/modules/plugins/languages/odin.nix @@ -48,7 +48,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Odin LSP server to use"; + description = '' + Odin LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/php.nix b/modules/plugins/languages/php.nix index 353b11373..036aa9073 100644 --- a/modules/plugins/languages/php.nix +++ b/modules/plugins/languages/php.nix @@ -79,7 +79,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "PHP LSP server to use"; + description = '' + PHP LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 8e1f0ebd5..e14c541ec 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -250,7 +250,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Python LSP server to use"; + description = '' + Python LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/qml.nix b/modules/plugins/languages/qml.nix index 6750a55a1..fc3b26725 100644 --- a/modules/plugins/languages/qml.nix +++ b/modules/plugins/languages/qml.nix @@ -48,7 +48,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "QML LSP server to use"; + description = '' + QML LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix index 873edaa34..2d7ecab25 100644 --- a/modules/plugins/languages/r.nix +++ b/modules/plugins/languages/r.nix @@ -79,7 +79,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "R LSP server to use"; + description = '' + R LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/ruby.nix b/modules/plugins/languages/ruby.nix index 94e272771..b0aece716 100644 --- a/modules/plugins/languages/ruby.nix +++ b/modules/plugins/languages/ruby.nix @@ -79,7 +79,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Ruby LSP server to use"; + description = '' + Ruby LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/sql.nix b/modules/plugins/languages/sql.nix index c1ea66787..9c919de9c 100644 --- a/modules/plugins/languages/sql.nix +++ b/modules/plugins/languages/sql.nix @@ -80,7 +80,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "SQL LSP server to use"; + description = '' + SQL LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 301a51d78..a28d6dcf0 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -101,7 +101,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Svelte LSP server to use"; + description = '' + Svelte LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/tailwind.nix b/modules/plugins/languages/tailwind.nix index 4e63a8d88..1ce452d23 100644 --- a/modules/plugins/languages/tailwind.nix +++ b/modules/plugins/languages/tailwind.nix @@ -156,7 +156,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Tailwindcss LSP server to use"; + description = '' + Tailwindcss LSP server to use. Customization of the servers can be + done via [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/terraform.nix b/modules/plugins/languages/terraform.nix index 5f3952dfb..85301a71f 100644 --- a/modules/plugins/languages/terraform.nix +++ b/modules/plugins/languages/terraform.nix @@ -38,7 +38,10 @@ in { servers = mkOption { type = listOf (enum (attrNames servers)); default = defaultServers; - description = "Terraform LSP server to use"; + description = '' + Terraform LSP server to use. Customization of the servers can be done + via [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index 40e598aea..d1c368485 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -230,7 +230,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Typescript/Javascript LSP server to use"; + description = '' + Typescript/Javascript LSP server to use. Customization of the servers + can be done via [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/typst.nix b/modules/plugins/languages/typst.nix index fbeb0ce2a..cf6b2d755 100644 --- a/modules/plugins/languages/typst.nix +++ b/modules/plugins/languages/typst.nix @@ -116,7 +116,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Typst LSP server to use"; + description = '' + Typst LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; diff --git a/modules/plugins/languages/vala.nix b/modules/plugins/languages/vala.nix index 722b0d3b1..154b62764 100644 --- a/modules/plugins/languages/vala.nix +++ b/modules/plugins/languages/vala.nix @@ -75,7 +75,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Vala LSP server to use"; + description = '' + Vala LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/wgsl.nix b/modules/plugins/languages/wgsl.nix index 8c33e5818..a89654325 100644 --- a/modules/plugins/languages/wgsl.nix +++ b/modules/plugins/languages/wgsl.nix @@ -39,7 +39,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "WGSL LSP server to use"; + description = '' + WGSL LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index b06ef17f3..78716f818 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -61,7 +61,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Yaml LSP server to use"; + description = '' + Yaml LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; }; }; diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 966e93698..6ab3ce5a5 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -69,7 +69,10 @@ in { servers = mkOption { type = singleOrListOf (enum (attrNames servers)); default = defaultServers; - description = "Zig LSP server to use"; + description = '' + Zig LSP server to use. Customization of the servers can be done via + [](#opt-vim.lsp.servers). + ''; }; };