modules/home/programs/editor: some lsp work
Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
@ -62,44 +62,57 @@ in {
|
||||
};
|
||||
languages = {
|
||||
language-server = {
|
||||
clangd.command = "${pkgs.clang-tools}/bin/clangd";
|
||||
# markdown-oxide.command = getExe pkgs.markdown-oxide;
|
||||
nil.command = getExe pkgs.nil;
|
||||
# nixd.command = getExe pkgs.nixd;
|
||||
# pyright.command = getExe pkgs.pyright;
|
||||
# pyright.args = ["-"];
|
||||
ruff.command = getExe pkgs.ruff;
|
||||
ruff.args = ["server"];
|
||||
# pyright = {
|
||||
# command = getExe pkgs.pyright;
|
||||
# args = ["-"];
|
||||
# };
|
||||
# rust-analyzer.command = getExe pkgs.rust-analyzer;
|
||||
# texlab.command = getExe pkgs.texlab;
|
||||
bash-language-server = {
|
||||
command = getExe pkgs.bash-language-server;
|
||||
environment = {
|
||||
"SHELLCHECK_PATH" = getExe pkgs.shellcheck;
|
||||
"SHFMT_PATH" = getExe pkgs.shfmt;
|
||||
};
|
||||
};
|
||||
clangd.command = "${pkgs.clang-tools}/bin/clangd";
|
||||
fsac = {
|
||||
command = getExe pkgs.fsautocomplete;
|
||||
config = {
|
||||
# editor.formatOnSave = true;
|
||||
AutomaticWorkspaceInit = true;
|
||||
FSharp.ExternalAutocomplete = true;
|
||||
FSharp.linting.fsharplint.enabled = true;
|
||||
FSharp.linting.fsharplint.configFile = "fsharplint.json";
|
||||
FSharp.formatting.fantomas.enabled = true;
|
||||
};
|
||||
};
|
||||
nil = {
|
||||
command = getExe pkgs.nil;
|
||||
config = {
|
||||
formatting.command = [(getExe pkgs.alejandra)];
|
||||
};
|
||||
};
|
||||
ruff = {
|
||||
command = getExe pkgs.ruff;
|
||||
args = ["server"];
|
||||
};
|
||||
tinymist.command = getExe pkgs.tinymist;
|
||||
vscode-json-language-server.command = getExe pkgs.nodePackages.vscode-json-languageserver;
|
||||
yaml-language-server.command = getExe pkgs.yaml-language-server;
|
||||
zk = {
|
||||
command = getExe pkgs.zk;
|
||||
args = ["lsp"];
|
||||
};
|
||||
fsac.command = getExe pkgs.fsautocomplete;
|
||||
fsac.config = {
|
||||
# editor.formatOnSave = true;
|
||||
AutomaticWorkspaceInit = true;
|
||||
FSharp.ExternalAutocomplete = true;
|
||||
FSharp.linting.fsharplint.enabled = true;
|
||||
FSharp.linting.fsharplint.configFile = "fsharplint.json";
|
||||
FSharp.formatting.fantomas.enabled = true;
|
||||
};
|
||||
};
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.alejandra;
|
||||
language-servers = ["nil"];
|
||||
}
|
||||
# {
|
||||
# name = "latex";
|
||||
# auto-format = true;
|
||||
# formatter.command = "${pkgs.texlivePackages.latexindent}/bin/latexindent";
|
||||
# language-servers = ["texlab"];
|
||||
# }
|
||||
{
|
||||
name = "typst";
|
||||
auto-format = true;
|
||||
@ -109,23 +122,21 @@ in {
|
||||
{
|
||||
name = "markdown";
|
||||
# auto-format = true;
|
||||
# formatter.command = "${pkgs.comrak}/bin/comrak";
|
||||
language-servers = ["zk" "markdown-oxide"];
|
||||
}
|
||||
{
|
||||
name = "c";
|
||||
auto-format = true;
|
||||
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
# formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
}
|
||||
{
|
||||
name = "cpp";
|
||||
auto-format = true;
|
||||
formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
# formatter.command = "${pkgs.clang-tools}/bin/clang-format";
|
||||
}
|
||||
{
|
||||
name = "fsharp";
|
||||
auto-format = true;
|
||||
# formatter.command = getExe pkgs.fantomas;
|
||||
language-servers = ["fsac"];
|
||||
scope = "source.fs";
|
||||
roots = ["fsproj" "sln" ".git"];
|
||||
@ -136,6 +147,25 @@ in {
|
||||
# language-servers = ["rust-analyzer"];
|
||||
# formatter.command = getExe pkgs.rustfmt;
|
||||
# }
|
||||
{
|
||||
name = "json";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.jq;
|
||||
language-servers = ["vscode-json-language-server"];
|
||||
}
|
||||
{
|
||||
name = "yaml";
|
||||
auto-format = true;
|
||||
formatter.command = getExe pkgs.yamlfmt;
|
||||
formatter.args = ["-"];
|
||||
language-servers = ["yaml-language-server"];
|
||||
}
|
||||
{
|
||||
name = "bash";
|
||||
auto-format = true;
|
||||
# formatter.command = getExe pkgs.shfmt;
|
||||
# formatter.args = ["-"];
|
||||
}
|
||||
{
|
||||
name = "python";
|
||||
auto-format = true;
|
||||
|
Reference in New Issue
Block a user