|
|
- local M = {}
-
- local servers = {
- gopls = {},
- html = {},
- jsonls = {},
- pyright = {},
- tsserver = {},
- vimls = {},
- dartls = {},
- dockerls = {},
- intelephense = {},
- sqlls = {},
- volar = {},
- }
-
- local function on_attach(client, bufnr)
- -- Enable completion triggered by <C-X><C-O>
- -- See `:help omnifunc` and `:help ins-completion` for more information.
- vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
-
- -- Use LSP as the handler for formatexpr.
- -- See `:help formatexpr` for more information.
- vim.api.nvim_buf_set_option(0, "formatexpr", "v:lua.vim.lsp.formatexpr()")
-
- -- Configure key mappings
- require("config.lsp.keymaps").setup(client, bufnr)
- end
-
- local lsp_signature = require "lsp_signature"
- lsp_signature.setup {
- bind = true,
- handler_opts = {
- border = "rounded",
- },
- }
-
- local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities())
-
- local opts = {
- on_attach = on_attach,
- capabilities = cababilities,
- flags = {
- debounce_text_changes = 150,
- },
- }
-
- function M.setup()
- require("config.lsp.installer").setup(servers, opts)
- end
-
- return M
|