mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-08 19:46:06 +01:00
modules/lsp: auto-import per-server custom modules
Adding a module in the following places will import the module into that specific server's submodule. This allows creating server-specific options. Added a test case to ensure all custom modules correspond to an actual server option to avoid accidental dead code.
This commit is contained in:
parent
cf6c8ef1fa
commit
2414e8e99f
3 changed files with 50 additions and 1 deletions
8
modules/lsp/servers/custom/README.md
Normal file
8
modules/lsp/servers/custom/README.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Custom LSP server modules
|
||||
|
||||
This directory contains modules that relate to a specific server.
|
||||
Files are auto-imported into the submodule based on their name.
|
||||
|
||||
For example, a file named `foo.nix` or `foo/default.nix` would be imported into the `lsp.servers.foo` submodule.
|
||||
|
||||
A corresponding `lsp.servers.<name>` option must exist for every module in this directory.
|
||||
|
|
@ -90,5 +90,13 @@ in
|
|||
|
||||
imports = [
|
||||
./server-renames.nix
|
||||
];
|
||||
]
|
||||
# We cannot use `config._module.args.name` in imports, since `config` causes inf-rec.
|
||||
# Therefore we can only import custom modules when we have an externally supplied `name`.
|
||||
++ lib.optionals (args ? name) (
|
||||
lib.filter lib.pathExists [
|
||||
./custom/${args.name}.nix
|
||||
./custom/${args.name}/default.nix
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue