local mason = require("mason") local mason_lspconfig = require("mason-lspconfig") local lspconfig = require("lspconfig") local cmp_cap = require("config.cmp").capabilities local newlspconfig = vim.lsp.config -- Fix! local lspenable = vim.lsp.enable lspenable("") mason.setup() mason_lspconfig.setup({ ensure_installed = { "rust_analyzer", "jdtls", "yamlls", "ts_ls", "tailwindcss", "html", "cssls", "bashls", "postgres_lsp", "pyright", "vimls" }, handlers = { function(server_name) lspconfig[server_name].setup({capabilities = cmp_cap}) end, zls = function() lspconfig.zls.setup({ capabilities = cmp_cap, root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"), settings = { zls = { enable_inlay_hints = true, enable_snippets = true, warn_style = true } } }) vim.g.zig_fmt_parse_errors = 0 vim.g.zig_fmt_autosave = 0 end } }) -- locally installed lsps vim.lsp.enable('denols') vim.lsp.enable('lua_ls') vim.lsp.enable('qmlls') vim.lsp.enable('nil_ls') vim.lsp.enable('arduino-langauge-server') vim.lsp.enable('cmake') vim.lsp.enable('clangd') vim.lsp.enable('hyprls') vim.lsp.enable('nginx_language_server') vim.lsp.enable('docker_compose_language_service') vim.lsp.enable('dockerls') vim.diagnostic.config({ virtual_text = true, float = { focusable = false, style = "minimal", border = "rounded", source = "always", header = "", prefix = "" } }) vim.api.nvim_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", {noremap = true, silent = true}) vim.api.nvim_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", {noremap = true, silent = true})