From f7bcac5ee5db56081981bb946a66d3fc34807988 Mon Sep 17 00:00:00 2001 From: Ariel D'Alessandro Date: Sun, 8 Jan 2023 09:58:56 +0100 Subject: feat: refactor lsp & cmp to lua folder from after --- lua/alpha/lsp/setups.lua | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 lua/alpha/lsp/setups.lua (limited to 'lua/alpha/lsp/setups.lua') diff --git a/lua/alpha/lsp/setups.lua b/lua/alpha/lsp/setups.lua new file mode 100644 index 0000000..646eec1 --- /dev/null +++ b/lua/alpha/lsp/setups.lua @@ -0,0 +1,65 @@ +local lsp_attach = require("alpha.lsp.attach") + +local lsp_flags = { + debounce_text_changes = 150, +} + +return setmetatable({ + rust_analyzer = function() + return { + on_attach = lsp_attach, + flags = lsp_flags, + settings = { + ["rust-analyzer"] = {}, + }, + } + end, + phpactor = function() + return { + on_attach = lsp_attach, + flags = lsp_flags, + filetypes = { "php", "cucumber" }, + } + end, + emmet_ls = function() + local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) + + return { + on_attach = lsp_attach, + flags = lsp_flags, + capabilities = capabilities, + filetypes = { "html", "typescriptreact", "javascriptreact", "css", "sass", "scss", "less", "blade", "vue" }, + } + end, + sumneko_lua = function() + return { + on_attach = lsp_attach, + flags = lsp_flags, + settings = { + Lua = { + runtime = { + version = "LuaJIT", + }, + diagnostics = { + globals = { "vim" }, + }, + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + telemetry = { + enable = false, + }, + }, + }, + } + end, +}, { + __index = function() + return function () + return { + on_attach = lsp_attach, + flags = lsp_flags, + } + end + end, +}) -- cgit v1.2.3