150 lines
3.8 KiB
Lua
150 lines
3.8 KiB
Lua
return {
|
|
"neovim/nvim-lspconfig",
|
|
opts = {
|
|
servers = {
|
|
}
|
|
},
|
|
config = function()
|
|
local lspconfig = require('lspconfig')
|
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
|
|
|
lspconfig.texlab.setup({
|
|
capabilities = capabilities,
|
|
settings = {
|
|
texlab = {
|
|
build = {
|
|
executable = 'latexmk',
|
|
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
|
|
onSave = true,
|
|
},
|
|
chktex = { onOpenAndSave = true }, -- Enables linting
|
|
}
|
|
}
|
|
})
|
|
lspconfig.rust_analyzer.setup({
|
|
capabilities = capabilities,
|
|
settings = {
|
|
['rust-analyzer'] = {
|
|
diagnostics = {
|
|
enable = true,
|
|
},
|
|
imports = {
|
|
granularity = {
|
|
group = "module",
|
|
},
|
|
prefix = "self",
|
|
},
|
|
cargo = {
|
|
buildScripts = {
|
|
enable = true,
|
|
},
|
|
},
|
|
procMacro = {
|
|
enable = true,
|
|
},
|
|
},
|
|
},
|
|
})
|
|
lspconfig.lua_ls.setup({
|
|
capabilities = capabilities,
|
|
settings = {
|
|
Lua = {
|
|
runtime = { version = 'LuaJIT' },
|
|
workspace = {
|
|
checkThirdParty = false,
|
|
library = { vim.env.VIMRUNTIME },
|
|
},
|
|
},
|
|
},
|
|
})
|
|
lspconfig.cssls.setup({
|
|
capabilities = capabilities,
|
|
settings = {
|
|
scss = {
|
|
validate = true
|
|
},
|
|
css = {
|
|
validate = true
|
|
}
|
|
}
|
|
})
|
|
lspconfig.somesass_ls.setup({
|
|
capabilities = capabilities,
|
|
filetypes = { "sass", "scss" }
|
|
})
|
|
lspconfig.yamlls.setup({
|
|
capabilities = capabilities,
|
|
filetypes = { "yaml", "yaml.docker-compose", "yaml.gitlab" },
|
|
settings = {
|
|
yaml = {
|
|
validate = true,
|
|
hover = true,
|
|
completion = true,
|
|
format = {
|
|
enable = true
|
|
},
|
|
schemaStore = {
|
|
enable = true,
|
|
url = "https://schemastore.org",
|
|
},
|
|
schemas = {
|
|
["http://json.schemastore.org/github-workflow"] = ".github/workflows/*",
|
|
["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}",
|
|
["http://json.schemastore.org/prettierrc"] = ".prettierrc.{yml,yaml}",
|
|
["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}",
|
|
kubernetes = "*.yaml"
|
|
},
|
|
},
|
|
}
|
|
})
|
|
lspconfig.ts_ls.setup({
|
|
capabilities = capabilities,
|
|
init_options = {
|
|
plugins = {
|
|
{
|
|
name = "@vue/typescript-plugin",
|
|
location = "/usr/local/lib/node_modules/@vue/typescript-plugin",
|
|
languages = {"javascript", "typescript", "vue"},
|
|
},
|
|
},
|
|
|
|
}
|
|
})
|
|
lspconfig.bashls.setup({
|
|
capabilities = capabilities,
|
|
filetypes = { "sh", "bash", "zsh" },
|
|
settings = {
|
|
bashIde = {
|
|
globPattern = "**/*@(.sh|.inc|.bash|.command|.zsh|zshrc|.zshrc|zsh_*|.zsh_*)"
|
|
}
|
|
},
|
|
single_file_support = true
|
|
})
|
|
lspconfig.jsonls.setup({
|
|
capabilities = capabilities
|
|
})
|
|
-- lspconfig.helm_ls.setup({
|
|
-- capabilities = capabilities,
|
|
-- filetypes = { "helm" },
|
|
-- settings = {
|
|
-- ['helm_ls'] = {
|
|
-- yamlls = {
|
|
-- enabled = true,
|
|
-- path = "yaml-language-server",
|
|
-- enabledForFilesGlob = "*.{yaml,yml}",
|
|
-- config = {
|
|
-- schemas = {
|
|
-- kubernetes = "templates/**",
|
|
-- },
|
|
-- completion = true,
|
|
-- hover = true,
|
|
-- },
|
|
-- }
|
|
-- }
|
|
-- }
|
|
-- })
|
|
end,
|
|
version = "~1.0.0"
|
|
}
|