nvim/lua/plugs/nvim-lspconfig.lua

39 lines
1.1 KiB
Lua

return {
{
-- lsp的config
"neovim/nvim-lspconfig",
dependencies = {
"folke/neodev.nvim",
"hrsh7th/cmp-nvim-lsp",
},
config = function()
require 'neodev'.setup {}
local servers = {
lua_ls = require('lsp.lua'),
clangd = require('lsp.c'),
bashls = require('lsp.bash'),
basedpyright = require('lsp.basedpyright'),
yamlls = require('lsp.yaml'),
gopls = require('lsp.go'),
jsonls = require('lsp.json'),
}
for server, config in pairs(servers) do
vim.lsp.config(server, config)
vim.lsp.enable(server)
end
G.map({
{ 'n', '<cs-r>', '<cmd>lua vim.lsp.buf.rename()<CR>' },
{ 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>' },
{ 'n', 'gh', '<cmd>lua vim.lsp.buf.hover()<CR>' },
{ 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>' },
{ 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>' },
{ 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>' },
{ 'n', '<cs-i>', '<cmd>lua vim.lsp.buf.format()<CR>' },
})
end
},
}