neovim: fix LSP
This commit is contained in:
parent
04bea73b6a
commit
00c3f83961
2 changed files with 143 additions and 144 deletions
|
|
@ -1,84 +1,84 @@
|
|||
return {
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
dependencies = { "rafamadriz/friendly-snippets" },
|
||||
version = "1.*",
|
||||
opts = {
|
||||
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept)
|
||||
-- 'enter' for enter to accept
|
||||
-- 'none' for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = "default" },
|
||||
{
|
||||
"saghen/blink.cmp",
|
||||
dependencies = { "rafamadriz/friendly-snippets" },
|
||||
version = "1.*",
|
||||
opts = {
|
||||
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept)
|
||||
-- 'enter' for enter to accept
|
||||
-- 'none' for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = "default" },
|
||||
|
||||
appearance = {
|
||||
nerd_font_variant = "mono",
|
||||
},
|
||||
appearance = {
|
||||
nerd_font_variant = "mono",
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = true } },
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
},
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer" },
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" },
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
},
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = "prefer_rust_with_warning" },
|
||||
},
|
||||
opts_extend = { "sources.default" },
|
||||
},
|
||||
|
||||
-- {
|
||||
-- 'neovim/nvim-lspconfig',
|
||||
-- dependencies = {
|
||||
-- 'saghen/blink.cmp',
|
||||
-- 'williamboman/mason.nvim',
|
||||
-- 'mason-org/mason-registry',
|
||||
-- 'williamboman/mason-lspconfig.nvim',
|
||||
-- 'L3MON4D3/LuaSnip',
|
||||
-- 'saadparwaiz1/cmp_luasnip',
|
||||
-- 'j-hui/fidget.nvim',
|
||||
-- },
|
||||
--
|
||||
-- -- example using `opts` for defining servers
|
||||
-- opts = {
|
||||
-- servers = {
|
||||
-- lua_ls = {}
|
||||
-- }
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- require("fidget").setup({})
|
||||
-- require("mason").setup()
|
||||
--
|
||||
-- local lspconfig = require('mason-lspconfig')
|
||||
-- for server, config in pairs(opts.servers) do
|
||||
-- -- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- -- `opts[server].capabilities, if you've defined it
|
||||
-- print('configuring server:', server)
|
||||
-- config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
-- require("lspconfig")[server].setup(config)
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- 'neovim/nvim-lspconfig',
|
||||
-- dependencies = {
|
||||
-- 'saghen/blink.cmp',
|
||||
-- 'williamboman/mason.nvim',
|
||||
-- 'mason-org/mason-registry',
|
||||
-- 'williamboman/mason-lspconfig.nvim',
|
||||
-- 'L3MON4D3/LuaSnip',
|
||||
-- 'saadparwaiz1/cmp_luasnip',
|
||||
-- 'j-hui/fidget.nvim',
|
||||
-- },
|
||||
--
|
||||
-- -- example using `opts` for defining servers
|
||||
-- opts = {
|
||||
-- servers = {
|
||||
-- lua_ls = {}
|
||||
-- }
|
||||
-- },
|
||||
-- config = function(_, opts)
|
||||
-- require("fidget").setup({})
|
||||
-- require("mason").setup()
|
||||
--
|
||||
-- local lspconfig = require('mason-lspconfig')
|
||||
-- for server, config in pairs(opts.servers) do
|
||||
-- -- passing config.capabilities to blink.cmp merges with the capabilities in your
|
||||
-- -- `opts[server].capabilities, if you've defined it
|
||||
-- print('configuring server:', server)
|
||||
-- config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities)
|
||||
-- require("lspconfig")[server].setup(config)
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- example calling setup directly for each LSP
|
||||
-- config = function()
|
||||
-- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||
-- local lspconfig = require('lspconfig')
|
||||
--
|
||||
-- lspconfig['lua_ls'].setup({ capabilities = capabilities })
|
||||
-- end
|
||||
-- },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,8 +30,73 @@ return {
|
|||
require("fidget").setup({})
|
||||
require("mason").setup()
|
||||
|
||||
-- local vue_typescript_plugin = require("mason-registry")
|
||||
-- .get_package("vue-language-server")
|
||||
-- :get_install_path() .. "/node_modules/@vue/language-server" .. "/node_modules/@vue/typescript-plugin"
|
||||
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
require("lspconfig").lua_ls.setup({ capabilites = capabilities })
|
||||
require("mason-lspconfig").setup({
|
||||
automatic_enable = true,
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"rust_analyzer",
|
||||
"ts_ls",
|
||||
"cssls",
|
||||
"tailwindcss",
|
||||
"pyright",
|
||||
},
|
||||
handlers = {
|
||||
function(server_name) -- default handler (optional)
|
||||
-- if server_name == "rust_analyzer" then
|
||||
-- return
|
||||
-- end
|
||||
require("lspconfig")[server_name].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end,
|
||||
|
||||
["lua_ls"] = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { "vim", "it", "describe", "before_each", "after_each" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
||||
["ts_ls"] = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
lspconfig.ts_ls.setup({
|
||||
capabilities = capabilities,
|
||||
-- settings = {
|
||||
-- },
|
||||
-- init_options = {
|
||||
-- plugins = {
|
||||
-- {
|
||||
-- name = "@vue/typescript-plugin",
|
||||
-- location = vue_typescript_plugin,
|
||||
-- languages = { "vue" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
filetypes = {
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"javascript.jsx",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"typescript.tsx",
|
||||
-- "vue",
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
callback = function(args)
|
||||
|
|
@ -52,72 +117,6 @@ return {
|
|||
end,
|
||||
})
|
||||
|
||||
-- local vue_typescript_plugin = require("mason-registry")
|
||||
-- .get_package("vue-language-server")
|
||||
-- :get_install_path() .. "/node_modules/@vue/language-server" .. "/node_modules/@vue/typescript-plugin"
|
||||
|
||||
-- require("mason-lspconfig").setup({
|
||||
-- ensure_installed = {
|
||||
-- "lua_ls",
|
||||
-- "rust_analyzer",
|
||||
-- "ts_ls",
|
||||
-- "cssls",
|
||||
-- "tailwindcss",
|
||||
-- "pyright",
|
||||
-- },
|
||||
-- handlers = {
|
||||
-- function(server_name) -- default handler (optional)
|
||||
-- if server_name == "rust_analyzer" then
|
||||
-- return
|
||||
-- end
|
||||
-- require("lspconfig")[server_name].setup({
|
||||
-- capabilities = capabilities,
|
||||
-- })
|
||||
-- end,
|
||||
--
|
||||
-- ["lua_ls"] = function()
|
||||
-- local lspconfig = require("lspconfig")
|
||||
-- lspconfig.lua_ls.setup({
|
||||
-- capabilities = capabilities,
|
||||
-- settings = {
|
||||
-- Lua = {
|
||||
-- diagnostics = {
|
||||
-- globals = { "vim", "it", "describe", "before_each", "after_each" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
--
|
||||
-- ["ts_ls"] = function()
|
||||
-- local lspconfig = require("lspconfig")
|
||||
-- lspconfig.ts_ls.setup({
|
||||
-- capabilities = capabilities,
|
||||
-- -- settings = {
|
||||
-- -- },
|
||||
-- init_options = {
|
||||
-- plugins = {
|
||||
-- {
|
||||
-- name = "@vue/typescript-plugin",
|
||||
-- location = vue_typescript_plugin,
|
||||
-- languages = { "vue" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- filetypes = {
|
||||
-- "javascript",
|
||||
-- "javascriptreact",
|
||||
-- "javascript.jsx",
|
||||
-- "typescript",
|
||||
-- "typescriptreact",
|
||||
-- "typescript.tsx",
|
||||
-- "vue",
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||
|
||||
--- Select item next/prev, taking into account whether the cmp window is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue