DashNix/nvim/lua/settings/lsp.lua

156 lines
3.7 KiB
Lua

local status_ok, _ = pcall(require, "lspconfig")
if not status_ok then
return
end
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
require("mason-lspconfig").setup({
ensure_installed = {
"cssls", -- css
"html", -- html
"eslint", -- latex
"clangd", -- cpp / c
--"tsserver", -- python
"texlab", -- latex
"sumneko_lua", -- lua
"pyright", -- python
"rust_analyzer", -- rust
"jdtls", -- jdtls
"cmake", -- cmake
"bashls", -- shell
"ansiblels", -- ansible
"csharp_ls", -- dotnot
"hls", -- haskel
},
automatic_installation = true,
})
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
require("lspconfig")["cssls"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["html"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["eslint"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["clangd"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
--require("lspconfig")["tsserver"].setup({
-- capabilities = capabilities,
--on_attach = on_attach,
--})
require("lspconfig")["texlab"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["sumneko_lua"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["pyright"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["rust_analyzer"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["jdtls"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["cmake"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["bashls"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["ansiblels"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["csharp_ls"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
require("lspconfig")["hls"].setup({
capabilities = capabilities,
--on_attach = on_attach,
})
--local status_ok2, lsp_installer = pcall(require, "mason")
--if not status_ok2 then
-- return
--end
--
--local servers = {"jdtls" , "sumneko_lua" , "texlab", "pyright" , "eslint_d" , "html" , "cssls" , "rust_analyzer" , "bashls" , "csharp_ls" , "sqls" , "clangd" }
--
--lsp_installer.setup {
-- ensure_installed = servers
--}
--
--for _, server in pairs(servers) do
-- local opts = {
-- on_attach = require("settings.lsp_config.handlers").on_attach,
-- capabilities = require("settings.lsp_config.handlers").capabilities,
-- }
-- local has_custom_opts, server_custom_opts = pcall(require, "settings.lsp_config." .. server)
-- if has_custom_opts then
-- opts = vim.tbl_deep_extend("force", server_custom_opts, opts)
-- end
-- lspconfig[server].setup(opts)
--end
--
--
--local null_ls_status_ok, null_ls = pcall(require, "null-ls")
--if not null_ls_status_ok then
-- return
--end
--
---- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting
--local formatting = null_ls.builtins.formatting
---- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
--local diagnostics = null_ls.builtins.diagnostics
--
--null_ls.setup({
-- debug = false,
-- sources = {
-- formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }),
-- formatting.black.with({ extra_args = { "--fast" } }),
-- formatting.stylua,
-- -- diagnostics.flake8
-- },
--})