fix(custom): add lsp config

This commit is contained in:
2021-03-15 17:24:12 +08:00
parent 5547f8b910
commit 6a6f99bd12
2 changed files with 54 additions and 6 deletions
+1 -3
View File
@@ -26,7 +26,7 @@
enable_statusline_display_mode = false
vim_help_language = "cn"
default_indent = 4
bootstrap_before = "myspacevim#before"
bootstrap_after= "myspacevim#before"
# Enable autocomplete layer
#[[layers]]
@@ -86,5 +86,3 @@ merged=false
name = "zivyangll/git-blame.vim"
merged=false
[[custom_plugins]]
name='neovim/nvim-lspconfig'
+53 -3
View File
@@ -1,23 +1,34 @@
lcustom = {}
local cmd = vim.cmd -- to execute Vim commands e.g. cmd('pwd')
local fn = vim.fn -- to call Vim functions e.g. fn.bufnr()
local g = vim.g -- a table to access global variables
function lcustom.echo()
print("hello lua")
end
function add_plugin()
cmd 'packadd paq-nvim'
local paq = require('paq-nvim').paq
paq {'savq/paq-nvim', opt = true}
paq {'neovim/nvim-lspconfig'}
end
function llsp()
local lspconfig = require('lspconfig')
lspconfig.gopls.setup{}
lspconfig.gopls.setup{on_attach=custom_attach}
vim.lsp.set_log_level("debug")
lsp_key_map()
print("init lsp finished")
end
function lcustom.init()
vim.api.nvim_set_keymap('n','<Space>kk','<Cmd> lua lcustom.echo()<CR>',{ noremap = true, silent = true })
vim.api.nvim_set_keymap('n','<Space>kl','<Cmd> lua llsp()<CR>',{ noremap = true, silent = true })
-- spc_key_bind('nore',{'k','k'}, 'test key bind', ':lua custom.echo()<CR>',1)
add_plugin()
llsp()
g['deoplete#enable_at_startup'] = 1 -- enable deoplete at startup
-- spc_key_bind('nore',{'k','k'}, 'test key bind', ':lua custom.echo()<CR>',1)
end
function lsp_key_map()
@@ -28,7 +39,46 @@ function simple_key_map(keys, cmd)
vim.api.nvim_set_keymap('n',keys,cmd,{ noremap = true, silent = true })
end
local custom_attach = function(client)
print("LSP started.");
-- require'completion'.on_attach(client)
-- require'diagnostic'.on_attach(client)
map('n','gD','<cmd>lua vim.lsp.buf.declaration()<CR>')
map('n','gd','<cmd>lua vim.lsp.buf.definition()<CR>')
map('n','K','<cmd>lua vim.lsp.buf.hover()<CR>')
map('n','gr','<cmd>lua vim.lsp.buf.references()<CR>')
map('n','gs','<cmd>lua vim.lsp.buf.signature_help()<CR>')
map('n','gi','<cmd>lua vim.lsp.buf.implementation()<CR>')
map('n','gt','<cmd>lua vim.lsp.buf.type_definition()<CR>')
map('n','<leader>gw','<cmd>lua vim.lsp.buf.document_symbol()<CR>')
map('n','<leader>gW','<cmd>lua vim.lsp.buf.workspace_symbol()<CR>')
map('n','<leader>ah','<cmd>lua vim.lsp.buf.hover()<CR>')
map('n','<leader>af','<cmd>lua vim.lsp.buf.code_action()<CR>')
map('n','<leader>ee','<cmd>lua vim.lsp.util.show_line_diagnostics()<CR>')
map('n','<leader>ar','<cmd>lua vim.lsp.buf.rename()<CR>')
map('n','<leader>=', '<cmd>lua vim.lsp.buf.formatting()<CR>')
map('n','<leader>ai','<cmd>lua vim.lsp.buf.incoming_calls()<CR>')
map('n','<leader>ao','<cmd>lua vim.lsp.buf.outgoing_calls()<CR>')
end
local map = function(type, key, value)
vim.fn.nvim_buf_set_keymap(0,type,key,value,{noremap = true, silent = true});
end
function _G.dump(...)
local objects = vim.tbl_map(vim.inspect, {...})
print(unpack(objects))
end
local function RunIt(...)
if pcall(function(...)
string.format(...)
end) == false then
error("Function cannot format text",2)
end
end
--[[
--// not work