Modules/Neovim: Configure perl lsp/formatter + R lsp/formatter
This commit is contained in:
@ -30,28 +30,29 @@ in {
|
|||||||
|
|
||||||
(lib.optionals (!headless) [
|
(lib.optionals (!headless) [
|
||||||
# Language servers
|
# Language servers
|
||||||
|
autotools-language-server
|
||||||
|
basedpyright
|
||||||
clang-tools
|
clang-tools
|
||||||
clojure-lsp
|
clojure-lsp
|
||||||
cmake-language-server
|
cmake-language-server
|
||||||
haskell-language-server
|
haskell-language-server
|
||||||
jdt-language-server
|
jdt-language-server
|
||||||
|
just-lsp
|
||||||
ltex-ls # TODO: Only enable on-demand
|
ltex-ls # TODO: Only enable on-demand
|
||||||
lua-language-server
|
lua-language-server
|
||||||
# nil
|
# nil
|
||||||
basedpyright
|
# perl5Packages.PLS
|
||||||
perl5Packages.PLS
|
|
||||||
pyrefly
|
pyrefly
|
||||||
ty
|
rPackages.languageserver
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
svelte-language-server
|
svelte-language-server
|
||||||
tailwindcss-language-server
|
tailwindcss-language-server
|
||||||
tex-fmt
|
tex-fmt
|
||||||
texlab
|
texlab
|
||||||
tinymist
|
tinymist
|
||||||
|
ty
|
||||||
typescript
|
typescript
|
||||||
vscode-langservers-extracted # includes nodejs
|
vscode-langservers-extracted # includes nodejs
|
||||||
autotools-language-server
|
|
||||||
just-lsp
|
|
||||||
|
|
||||||
# Linters
|
# Linters
|
||||||
checkstyle # java
|
checkstyle # java
|
||||||
@ -66,20 +67,21 @@ in {
|
|||||||
# statix # nix (doesn't recognize pipe operator)
|
# statix # nix (doesn't recognize pipe operator)
|
||||||
|
|
||||||
# Formatters
|
# Formatters
|
||||||
|
air-formatter
|
||||||
cljfmt
|
cljfmt
|
||||||
python313Packages.black
|
|
||||||
google-java-format
|
google-java-format
|
||||||
html-tidy
|
html-tidy
|
||||||
jq # json
|
jq # json
|
||||||
perl5Packages.PerlTidy
|
just-formatter
|
||||||
# prettierd # Use prettier instead because of plugins
|
mbake
|
||||||
# nodePackages_latest.prettier # Use local install as plugins change per project
|
# nodePackages_latest.prettier # Use local install as plugins change per project
|
||||||
|
# perl5Packages.PerlTidy
|
||||||
|
# prettierd # Use prettier instead because of plugins
|
||||||
|
python313Packages.black
|
||||||
rustfmt
|
rustfmt
|
||||||
stylua
|
stylua
|
||||||
typstyle
|
|
||||||
mbake
|
|
||||||
just-formatter
|
|
||||||
tombi
|
tombi
|
||||||
|
typstyle
|
||||||
])
|
])
|
||||||
|
|
||||||
[
|
[
|
||||||
@ -89,6 +91,19 @@ in {
|
|||||||
lua54Packages.jsregexp # For tree-sitter
|
lua54Packages.jsregexp # For tree-sitter
|
||||||
# nodejs_latest
|
# nodejs_latest
|
||||||
|
|
||||||
|
# TODO: Create a perl module where I can add packages to, so I don't end up with multiple perl installations
|
||||||
|
# TODO: The same is required for python
|
||||||
|
(perl.withPackages (p:
|
||||||
|
with p; [
|
||||||
|
PLS
|
||||||
|
PerlTidy
|
||||||
|
NetOpenSSH
|
||||||
|
DateTime
|
||||||
|
DBI
|
||||||
|
DBDMariaDB
|
||||||
|
CursesUI
|
||||||
|
]))
|
||||||
|
|
||||||
nixd
|
nixd
|
||||||
alejandra # nix
|
alejandra # nix
|
||||||
]
|
]
|
||||||
@ -528,6 +543,7 @@ in {
|
|||||||
perl = ["perltidy"];
|
perl = ["perltidy"];
|
||||||
python = ["black"];
|
python = ["black"];
|
||||||
qml = ["qmlformat"];
|
qml = ["qmlformat"];
|
||||||
|
r = ["air"];
|
||||||
rust = ["rustfmt"];
|
rust = ["rustfmt"];
|
||||||
svelte = ["prettierd" "prettier"];
|
svelte = ["prettierd" "prettier"];
|
||||||
toml = ["tombi"];
|
toml = ["tombi"];
|
||||||
@ -863,9 +879,8 @@ in {
|
|||||||
dependencies = [_lazydev];
|
dependencies = [_lazydev];
|
||||||
config = let
|
config = let
|
||||||
servers = mylib.generators.toLuaObject [
|
servers = mylib.generators.toLuaObject [
|
||||||
|
{name = "autotools-language-server";}
|
||||||
{name = "basedpyright";}
|
{name = "basedpyright";}
|
||||||
# {name = "pyrefly";} # TODO: Config
|
|
||||||
# {name = "ty";} # TODO: Config
|
|
||||||
{
|
{
|
||||||
name = "clangd";
|
name = "clangd";
|
||||||
extraOptions = {
|
extraOptions = {
|
||||||
@ -917,7 +932,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{name = "autotools-language-server";}
|
|
||||||
# {name = "nil_ls";}
|
# {name = "nil_ls";}
|
||||||
{
|
{
|
||||||
name = "nixd";
|
name = "nixd";
|
||||||
@ -967,6 +981,8 @@ in {
|
|||||||
"-E" # Use QML_IMPORT_PATH env variable
|
"-E" # Use QML_IMPORT_PATH env variable
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
# {name = "pyrefly";} # TODO: Config
|
||||||
|
{name = "r_language_server";}
|
||||||
{name = "svelte";}
|
{name = "svelte";}
|
||||||
{name = "tailwindcss";}
|
{name = "tailwindcss";}
|
||||||
{name = "texlab";}
|
{name = "texlab";}
|
||||||
@ -978,6 +994,7 @@ in {
|
|||||||
semanticTokens = "disable";
|
semanticTokens = "disable";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
# {name = "ty";} # TODO: Config
|
||||||
|
|
||||||
# {name = "jdtls";} # Don't set up when using nvim-jdtls
|
# {name = "jdtls";} # Don't set up when using nvim-jdtls
|
||||||
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim
|
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim
|
||||||
|
|||||||
Reference in New Issue
Block a user