32 lines
793 B
Lua
32 lines
793 B
Lua
-- LSP Capabilities (for nvim-cmp integration)
|
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
|
|
|
-- Global LSP configuration
|
|
vim.lsp.config('*', {
|
|
capabilities = capabilities,
|
|
})
|
|
|
|
-- Server-specific configurations
|
|
vim.lsp.config('clangd', {})
|
|
|
|
vim.lsp.config('yamlls', {
|
|
settings = {
|
|
yaml = {
|
|
keyOrdering = false,
|
|
},
|
|
},
|
|
})
|
|
|
|
-- Enable all LSP servers
|
|
vim.lsp.enable({ 'clangd', 'ts_ls', 'lua_ls', 'cssls', 'yamlls', 'intelephense', 'gopls' })
|
|
|
|
-- JSON file formatting with jq
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = "json",
|
|
callback = function(ev)
|
|
vim.bo[ev.buf].formatprg = "jq"
|
|
end,
|
|
})
|