mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-04-15 09:08:37 +00:00
Merge 7868198945
into ed31499ad6
This commit is contained in:
commit
e661d87385
2 changed files with 41 additions and 16 deletions
|
@ -190,6 +190,11 @@
|
||||||
- Add [ruff] as a formatter option in `vim.languages.python.format.type`.
|
- Add [ruff] as a formatter option in `vim.languages.python.format.type`.
|
||||||
- Add [cue] support under `vim.languages.cue`.
|
- Add [cue] support under `vim.languages.cue`.
|
||||||
|
|
||||||
|
[QuiNzX](https://github.com/QuiNzX):
|
||||||
|
|
||||||
|
- Add ruff as lsp alongside other lsp servers in a list as an option. Under
|
||||||
|
`vim.languages.python.lsp.server`.
|
||||||
|
|
||||||
[ARCIII](https://github.com/ArmandoCIII):
|
[ARCIII](https://github.com/ArmandoCIII):
|
||||||
|
|
||||||
[leetcode.nvim]: https://github.com/kawre/leetcode.nvim
|
[leetcode.nvim]: https://github.com/kawre/leetcode.nvim
|
||||||
|
|
|
@ -8,9 +8,10 @@
|
||||||
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
inherit (lib.options) mkEnableOption mkOption literalExpression;
|
||||||
inherit (lib.meta) getExe;
|
inherit (lib.meta) getExe;
|
||||||
inherit (lib.modules) mkIf mkMerge;
|
inherit (lib.modules) mkIf mkMerge;
|
||||||
inherit (lib.lists) isList;
|
inherit (lib.lists) isList toList;
|
||||||
inherit (lib.types) enum either listOf package str bool;
|
inherit (lib.types) enum either listOf package str bool attrsOf;
|
||||||
inherit (lib.nvim.lua) expToLua;
|
inherit (lib.nvim.lua) expToLua;
|
||||||
|
inherit (lib) genAttrs;
|
||||||
|
|
||||||
cfg = config.vim.languages.python;
|
cfg = config.vim.languages.python;
|
||||||
|
|
||||||
|
@ -23,9 +24,9 @@
|
||||||
capabilities = capabilities;
|
capabilities = capabilities;
|
||||||
on_attach = default_on_attach;
|
on_attach = default_on_attach;
|
||||||
cmd = ${
|
cmd = ${
|
||||||
if isList cfg.lsp.package
|
if isList cfg.lsp.package.pyright
|
||||||
then expToLua cfg.lsp.package
|
then expToLua cfg.lsp.package.pyright
|
||||||
else ''{"${cfg.lsp.package}/bin/pyright-langserver", "--stdio"}''
|
else ''{"${cfg.lsp.package.pyright}/bin/pyright-langserver", "--stdio"}''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
@ -38,9 +39,24 @@
|
||||||
capabilities = capabilities;
|
capabilities = capabilities;
|
||||||
on_attach = default_on_attach;
|
on_attach = default_on_attach;
|
||||||
cmd = ${
|
cmd = ${
|
||||||
if isList cfg.lsp.package
|
if isList cfg.lsp.package.basedpyright
|
||||||
then expToLua cfg.lsp.package
|
then expToLua cfg.lsp.package.basedpyright
|
||||||
else ''{"${cfg.lsp.package}/bin/basedpyright-langserver", "--stdio"}''
|
else ''{"${cfg.lsp.package.basedpyright}/bin/basedpyright-langserver", "--stdio"}''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
ruff = {
|
||||||
|
package = pkgs.ruff;
|
||||||
|
lspConfig = ''
|
||||||
|
lspconfig.ruff.setup{
|
||||||
|
capabilities = capabilities;
|
||||||
|
on_attach = default_on_attach;
|
||||||
|
cmd = ${
|
||||||
|
if isList cfg.lsp.package.ruff
|
||||||
|
then expToLua cfg.lsp.package.ruff
|
||||||
|
else ''{"${cfg.lsp.package.ruff}/bin/ruff", "server"}''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
@ -53,9 +69,9 @@
|
||||||
capabilities = capabilities;
|
capabilities = capabilities;
|
||||||
on_attach = default_on_attach;
|
on_attach = default_on_attach;
|
||||||
cmd = ${
|
cmd = ${
|
||||||
if isList cfg.lsp.package
|
if isList cfg.lsp.package.pylsp
|
||||||
then expToLua cfg.lsp.package
|
then expToLua cfg.lsp.package.pylsp
|
||||||
else ''{"${cfg.lsp.package}/bin/pylsp"}''
|
else ''{"${cfg.lsp.package.pylsp}/bin/pylsp"}''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
@ -172,16 +188,20 @@ in {
|
||||||
enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;};
|
enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;};
|
||||||
|
|
||||||
server = mkOption {
|
server = mkOption {
|
||||||
description = "Python LSP server to use";
|
description = "Python LSP server to use either as a single server or a list of servers";
|
||||||
type = enum (attrNames servers);
|
example = ''
|
||||||
|
server = "basedpyright;
|
||||||
|
server = ["basedpyright" "ruff"];
|
||||||
|
'';
|
||||||
|
type = either (enum (attrNames servers)) (listOf (enum (attrNames servers)));
|
||||||
default = defaultServer;
|
default = defaultServer;
|
||||||
};
|
};
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
description = "python LSP server package, or the command to run as a list of strings";
|
description = "python LSP server package, or the command to run as a list of strings";
|
||||||
example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]'';
|
example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]'';
|
||||||
type = either package (listOf str);
|
type = attrsOf (either package (listOf str));
|
||||||
default = servers.${cfg.lsp.server}.package;
|
default = genAttrs (toList cfg.lsp.server) (name: servers.${name}.package);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -235,7 +255,7 @@ in {
|
||||||
|
|
||||||
(mkIf cfg.lsp.enable {
|
(mkIf cfg.lsp.enable {
|
||||||
vim.lsp.lspconfig.enable = true;
|
vim.lsp.lspconfig.enable = true;
|
||||||
vim.lsp.lspconfig.sources.python-lsp = servers.${cfg.lsp.server}.lspConfig;
|
vim.lsp.lspconfig.sources = genAttrs (toList cfg.lsp.server) (name: servers.${name}.lspConfig);
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf cfg.format.enable {
|
(mkIf cfg.format.enable {
|
||||||
|
|
Loading…
Add table
Reference in a new issue