67 lines
1.3 KiB
Nix
67 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
plugins.lspconfig.enable = true;
|
|
|
|
lsp = {
|
|
enable = true;
|
|
|
|
servers = {
|
|
lua_ls = {
|
|
enable = true;
|
|
package = pkgs.lua-language-server;
|
|
packageFallback = true;
|
|
};
|
|
nil_ls = {
|
|
enable = true;
|
|
package = pkgs.nil;
|
|
packageFallback = true;
|
|
};
|
|
ts_ls = {
|
|
enable = true;
|
|
package = pkgs.typescript-language-server;
|
|
packageFallback = true;
|
|
};
|
|
jsonls = {
|
|
enable = true;
|
|
package = pkgs.vscode-langservers-extracted;
|
|
packageFallback = true;
|
|
};
|
|
astro = {
|
|
enable = true;
|
|
package = pkgs.astro-language-server;
|
|
packageFallback = true;
|
|
};
|
|
eslint = {
|
|
enable = true;
|
|
package = pkgs.vscode-langservers-extracted;
|
|
packageFallback = true;
|
|
};
|
|
biome = {
|
|
enable = true;
|
|
package = pkgs.biome;
|
|
packageFallback = true;
|
|
};
|
|
};
|
|
|
|
keymaps = [
|
|
{
|
|
key = "<leader>ca";
|
|
lspBufAction = "code_action";
|
|
}
|
|
{
|
|
key = "<leader>e";
|
|
action = "<cmd>lua vim.diagnostic.open_float()<cr>";
|
|
}
|
|
];
|
|
};
|
|
|
|
# Define diagnostic appearance
|
|
diagnostic.settings = {
|
|
virtual_text = false;
|
|
signs = true;
|
|
underline = true;
|
|
update_in_insert = false;
|
|
severity_sort = false;
|
|
};
|
|
}
|