|
|
-- Learn the keybindings, see :help lsp-zero-keybindings -- Learn to configure LSP servers, see :help lsp-zero-api-showcase local lsp = require('lsp-zero') lsp.preset('recommended')
lsp.setup_nvim_cmp({ experimental = { ghost_text = true, }, })
-- (Optional) Configure lua language server for neovim lsp.nvim_workspace()
local platform = require("mason-core.platform"); local servers = { 'tailwindcss', 'tsserver', 'texlab', 'pyright', 'efm', 'ltex', 'jsonls' }
if not (platform.is.linux_x64_musl or platform.is.linux_arm64_musl) then table.insert(servers, "sumneko_lua"); end
lsp.ensure_installed(servers)
lsp.configure("efm", { settings = { languages = { sh = "shellcheck -x", bash = "shellcheck -x", zsh = "shellcheck -x", } }, filetypes = { "sh", "bash", "zsh" } })
lsp.on_attach(function(client, bufnr) local opts = { buffer = bufnr, remap = false } vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts) end)
lsp.setup()
vim.diagnostic.config({ virtual_text = true, underline = true, float = true, })
|