diff --git a/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua b/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua index 5c04e33..3653e31 100644 --- a/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua +++ b/dot_config/nvim/exact_lua/lsp/exact_config/lspconfig.lua @@ -1,7 +1,9 @@ local servers = require("lsp.config.lsp_servers").lsp_servers - local lspconfig = require("lspconfig") -local capabilities = require("cmp_nvim_lsp").default_capabilities() + +-- Neovim 版本要在 0.10 以上才啟用 +local is_nvim_010 = vim.fn.has("nvim-0.10") == 1 +local capabilities = is_nvim_010 and require("cmp_nvim_lsp").default_capabilities() or nil local on_attach = function(_, bufnr) local map = function(mode, lhs, rhs) @@ -18,7 +20,9 @@ end for _, name in ipairs(servers) do local ok, config = pcall(require, "lsp.servers." .. name) if not ok then config = {} end - config.capabilities = capabilities + if capabilities then + config.capabilities = capabilities + end config.on_attach = on_attach lspconfig[name].setup(config) end