feat: Add language servers
This commit is contained in:
parent
35f310e0a9
commit
6eb0d74ec0
10 changed files with 106 additions and 3 deletions
|
@ -143,6 +143,10 @@ with final.pkgs.lib; let
|
|||
emmet-language-server
|
||||
lua-language-server
|
||||
nixd
|
||||
phpactor
|
||||
stylelint-lsp
|
||||
taplo
|
||||
vscode-langservers-extracted # html, css, json, eslint
|
||||
|
||||
# Linters
|
||||
biome
|
||||
|
@ -157,7 +161,6 @@ with final.pkgs.lib; let
|
|||
php84Packages.php-cs-fixer
|
||||
nodePackages.prettier
|
||||
rustywind
|
||||
taplo
|
||||
shfmt
|
||||
stylelint
|
||||
stylua
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
return {
|
||||
cmd = { 'emmet-language-server', '--stdio' },
|
||||
filetypes = {
|
||||
'blade',
|
||||
'css',
|
||||
'eruby',
|
||||
'html',
|
||||
'htmlangular',
|
||||
'htmldjango',
|
||||
'javascriptreact',
|
||||
'less',
|
||||
'liquid',
|
||||
'pug',
|
||||
'sass',
|
||||
'scss',
|
||||
'typescriptreact',
|
||||
'htmlangular',
|
||||
'vue',
|
||||
},
|
||||
root_markers = { '.git' },
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
return {
|
||||
filetypes = { 'lua' },
|
||||
cmd = { 'lua-language-server' },
|
||||
filetypes = { 'lua' },
|
||||
root_markers = {
|
||||
'.luarc.json',
|
||||
'.luarc.jsonc',
|
||||
|
|
24
nvim/lsp/nixd.lua
Normal file
24
nvim/lsp/nixd.lua
Normal file
|
@ -0,0 +1,24 @@
|
|||
return {
|
||||
cmd = { 'nixd' },
|
||||
filetypes = { 'nix' },
|
||||
root_markers = { 'flake.nix', '.git' },
|
||||
|
||||
settings = {
|
||||
nixd = {
|
||||
formatting = {
|
||||
command = { 'alejandra' },
|
||||
},
|
||||
options = {
|
||||
nixos = {
|
||||
expr = '(builtins.getFlake "/home/marley/marleyos").nixosConfigurations.nyx.options',
|
||||
},
|
||||
['home-manager'] = {
|
||||
expr = '(builtins.getFlake "/home/marley/marleyos").homeConfigurations."marley@nyx".options',
|
||||
},
|
||||
['nix-darwin'] = {
|
||||
expr = '(builtins.getFlake "/home/marley/marleyos").darwinConfigurations.mairley.options',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
10
nvim/lsp/phpactor.lua
Normal file
10
nvim/lsp/phpactor.lua
Normal file
|
@ -0,0 +1,10 @@
|
|||
return {
|
||||
cmd = { 'phpactor', 'language-server' },
|
||||
filetypes = { 'php', 'blade' },
|
||||
root_markers = {
|
||||
'composer.json',
|
||||
'.git',
|
||||
'.phpactor.json',
|
||||
'.phpactor.yml',
|
||||
},
|
||||
}
|
29
nvim/lsp/stylelint-lsp.lua
Normal file
29
nvim/lsp/stylelint-lsp.lua
Normal file
|
@ -0,0 +1,29 @@
|
|||
return {
|
||||
cmd = { 'stylelint-lsp', '--stdio' },
|
||||
filetypes = {
|
||||
'css',
|
||||
'less',
|
||||
'scss',
|
||||
'sugarss',
|
||||
'vue',
|
||||
'wxss',
|
||||
},
|
||||
root_markers = {
|
||||
'.stylelintrc',
|
||||
'.stylelintrc.cjs',
|
||||
'.stylelintrc.js',
|
||||
'.stylelintrc.json',
|
||||
'.stylelintrc.yaml',
|
||||
'.stylelintrc.yml',
|
||||
'stylelint.config.cjs',
|
||||
'stylelint.config.js',
|
||||
},
|
||||
|
||||
settings = {
|
||||
stylelintplus = {
|
||||
autoFixOnFormat = true,
|
||||
validateOnSave = true,
|
||||
validateOnType = false,
|
||||
},
|
||||
},
|
||||
}
|
5
nvim/lsp/taplo.lua
Normal file
5
nvim/lsp/taplo.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
return {
|
||||
cmd = { 'taplo', 'lsp', 'stdio' },
|
||||
filetypes = { 'toml' },
|
||||
root_markers = { '.git' },
|
||||
}
|
12
nvim/lsp/vscode-css-language-server.lua
Normal file
12
nvim/lsp/vscode-css-language-server.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
return {
|
||||
cmd = { 'vscode-css-language-server', '--stdio' },
|
||||
filetypes = { 'css', 'scss', 'less' },
|
||||
root_markers = { 'package.json', '.git' },
|
||||
|
||||
init_options = { provideFormatter = true },
|
||||
settings = {
|
||||
css = { validate = true },
|
||||
scss = { validate = true },
|
||||
less = { validate = true },
|
||||
},
|
||||
}
|
11
nvim/lsp/vscode-html-language-server.lua
Normal file
11
nvim/lsp/vscode-html-language-server.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
cmd = { 'vscode-html-language-server', '--stdio' },
|
||||
filetypes = { 'html', 'templ', 'liquid' },
|
||||
root_markers = { 'package.json', '.git' },
|
||||
|
||||
init_options = {
|
||||
provideFormatter = true,
|
||||
embeddedLanguages = { css = true, javascript = true },
|
||||
configurationSection = { 'html', 'css', 'javascript' },
|
||||
},
|
||||
}
|
|
@ -83,6 +83,12 @@ vim.lsp.enable({
|
|||
'bash-language-server',
|
||||
'emmet-language-server',
|
||||
'lua-language-server',
|
||||
'nixd',
|
||||
'phpactor',
|
||||
'stylelint-lsp',
|
||||
'taplo',
|
||||
'vscode-css-language-server',
|
||||
'vscode-html-language-server',
|
||||
})
|
||||
|
||||
-- Keymaps -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
|
|
Loading…
Reference in a new issue