modules/home/programs/editor: some lsp work

Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
2025-06-13 00:15:32 +03:00
parent 8a4af44494
commit e2f6ed72ed
2 changed files with 111 additions and 63 deletions

View File

@ -15,11 +15,11 @@ in {
programs.zed-editor = {
enable = true;
extensions = [
"nix"
"bash"
"fsharp"
# "latex"
"typst"
"justfile"
"nix"
"typst"
];
userSettings = {
vim_mode = true;
@ -35,30 +35,29 @@ in {
};
"Nix" = {
language-servers = [
"!nil"
"nixd"
"nil"
];
formatter = {
external.command = getExe pkgs.alejandra;
};
};
"Rust" = {
formatter = {
external = {
command = getExe pkgs.rustfmt;
arguments = ["--edition" "2021"];
};
};
# formatter = {
# external.command = getExe pkgs.alejandra;
# };
};
# "Rust" = {
# formatter = {
# external = {
# command = getExe pkgs.rustfmt;
# arguments = ["--edition" "2021"];
# };
# };
# };
"typst" = {
language-servers = ["tinymist"];
format_on_save = "on";
formatter = {
external = {
command = getExe pkgs.typstyle;
arguments = ["-i" "{buffer_path}"];
};
};
# formatter = {
# external = {
# command = getExe pkgs.typstyle;
# arguments = ["-i" "{buffer_path}"];
# };
# };
};
"Python" = {
format_on_save = "on";
@ -73,6 +72,15 @@ in {
};
};
lsp = {
bash-language-server = {
binary = {
path = getExe pkgs.bash-language-server;
env = {
"SHELLCHECK_PATH" = getExe pkgs.shellcheck;
"SHFMT_PATH" = getExe pkgs.shfmt;
};
};
};
fsautocomplete = {
binary = {
path = getExe pkgs.fsautocomplete;
@ -91,32 +99,32 @@ in {
path = "${pkgs.clang-tools}/bin/clangd";
};
};
rust-analyzer = {
binary = {
arguments = [];
path = getExe pkgs.rust-analyzer;
};
};
# rust-analyzer = {
# binary = {
# arguments = [];
# path = getExe pkgs.rust-analyzer;
# };
# };
ruff = {
binary = {
arguments = [];
path = getExe pkgs.ruff;
};
};
nixd = {
binary = {
arguments = [];
path = getExe pkgs.nixd;
};
initialization_options.formatting.command = [(getExe pkgs.alejandra)];
};
# nil = {
# nixd = {
# binary = {
# arguments = [];
# path = getExe pkgs.nil;
# path = getExe pkgs.nixd;
# };
# initialization_options.formatting.command = [(getExe pkgs.alejandra)];
# };
nil = {
binary = {
arguments = [];
path = getExe pkgs.nil;
};
settings.formatting.command = [(getExe pkgs.alejandra)];
};
# texlab = {
# binary = {
# arguments = [];
@ -129,6 +137,16 @@ in {
path = getExe pkgs.tinymist;
};
};
vscode-json-language-server = {
binary = {
path = getExe pkgs.nodePackages.vscode-json-languageserver;
};
};
yaml-language-server = {
binary = {
path = getExe pkgs.yaml-language-server;
};
};
};
telemetry = {
diagnostics = false;