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 }) 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 -- }, --})