Przeglądaj źródła

refactor capabilites function

Chris 4 lat temu
rodzic
commit
ed71e50593
3 zmienionych plików z 30 dodań i 31 usunięć
  1. 12 12
      lua/default-config.lua
  2. 5 19
      lua/lsp/init.lua
  3. 13 0
      lua/lsp/utils.lua

+ 12 - 12
lua/default-config.lua

@@ -57,8 +57,8 @@ lvim = {
 }
 
 local schemas = nil
-local common_on_attach = require("lsp").common_on_attach
-local common_capabilities = require("lsp").common_capabilities()
+local common_on_attach = require("lsp.utils").common_on_attach
+local common_capabilities = require("lsp.utils").common_capabilities()
 local status_ok, jsonls_settings = pcall(require, "nlspsettings.jsonls")
 if status_ok then
   schemas = jsonls_settings.get_default_schemas()
@@ -640,8 +640,8 @@ lvim.lang = {
     lsp = {
       provider = "puppet",
       setup = {
-        on_attach = require("lsp").common_on_attach,
-        capabilities = require("lsp").common_capabilities(),
+        on_attach = common_on_attach,
+        capabilities = common_capabilities,
       },
     },
   },
@@ -662,8 +662,8 @@ lvim.lang = {
           DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
           "--stdio",
         },
-        on_attach = require("lsp").common_on_attach,
-        capabilities = require("lsp").common_capabilities(),
+        on_attach = common_on_attach,
+        capabilities = common_capabilities,
       },
     },
   },
@@ -684,8 +684,8 @@ lvim.lang = {
           DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
           "--stdio",
         },
-        on_attach = require("lsp").common_on_attach,
-        capabilities = require("lsp").common_capabilities(),
+        on_attach = common_on_attach,
+        capabilities = common_capabilities,
       },
     },
   },
@@ -903,8 +903,8 @@ lvim.lang = {
           DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
           "--stdio",
         },
-        on_attach = require("lsp").common_on_attach,
-        capabilities = require("lsp").common_capabilities(),
+        on_attach = common_on_attach,
+        capabilities = common_capabilities,
       },
     },
   },
@@ -925,8 +925,8 @@ lvim.lang = {
           DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server",
           "--stdio",
         },
-        on_attach = require("lsp").common_on_attach,
-        capabilities = require("lsp").common_capabilities(),
+        on_attach = common_on_attach,
+        capabilities = common_capabilities,
       },
     },
   },

+ 5 - 19
lua/lsp/init.lua

@@ -6,6 +6,11 @@ function lsp_config.config()
   require("lsp.handlers").setup()
   require("lsp.signs").setup()
   require("lsp.keybinds").setup()
+  require("core.autocmds").define_augroups {
+    _general_lsp = {
+      { "FileType", "lspinfo", "nnoremap <silent> <buffer> q :q<CR>" },
+    },
+  }
 end
 
 local function no_formatter_on_attach(client, bufnr)
@@ -16,25 +21,6 @@ local function no_formatter_on_attach(client, bufnr)
   client.resolved_capabilities.document_formatting = false
 end
 
-function lsp_config.common_capabilities()
-  local capabilities = vim.lsp.protocol.make_client_capabilities()
-  capabilities.textDocument.completion.completionItem.snippetSupport = true
-  capabilities.textDocument.completion.completionItem.resolveSupport = {
-    properties = {
-      "documentation",
-      "detail",
-      "additionalTextEdits",
-    },
-  }
-  return capabilities
-end
-
-require("core.autocmds").define_augroups {
-  _general_lsp = {
-    { "FileType", "lspinfo", "nnoremap <silent> <buffer> q :q<CR>" },
-  },
-}
-
 function lsp_config.setup(lang)
   local lang_server = lvim.lang[lang].lsp
   local provider = lang_server.provider

+ 13 - 0
lua/lsp/utils.lua

@@ -98,4 +98,17 @@ function M.common_on_attach(client, bufnr)
   lsp_highlight_document(client)
 end
 
+function M.common_capabilities()
+  local capabilities = vim.lsp.protocol.make_client_capabilities()
+  capabilities.textDocument.completion.completionItem.snippetSupport = true
+  capabilities.textDocument.completion.completionItem.resolveSupport = {
+    properties = {
+      "documentation",
+      "detail",
+      "additionalTextEdits",
+    },
+  }
+  return capabilities
+end
+
 return M