diff --git a/.SpaceVim.d/init.toml b/.SpaceVim.d/init.toml index 5077efe..94288cd 100755 --- a/.SpaceVim.d/init.toml +++ b/.SpaceVim.d/init.toml @@ -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' diff --git a/.SpaceVim.d/lua/custom.lua b/.SpaceVim.d/lua/custom.lua index fefd4ed..caf373f 100644 --- a/.SpaceVim.d/lua/custom.lua +++ b/.SpaceVim.d/lua/custom.lua @@ -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','kk',' lua lcustom.echo()',{ noremap = true, silent = true }) vim.api.nvim_set_keymap('n','kl',' lua llsp()',{ noremap = true, silent = true }) - -- spc_key_bind('nore',{'k','k'}, 'test key bind', ':lua custom.echo()',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()',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','lua vim.lsp.buf.declaration()') + map('n','gd','lua vim.lsp.buf.definition()') + map('n','K','lua vim.lsp.buf.hover()') + map('n','gr','lua vim.lsp.buf.references()') + map('n','gs','lua vim.lsp.buf.signature_help()') + map('n','gi','lua vim.lsp.buf.implementation()') + map('n','gt','lua vim.lsp.buf.type_definition()') + map('n','gw','lua vim.lsp.buf.document_symbol()') + map('n','gW','lua vim.lsp.buf.workspace_symbol()') + map('n','ah','lua vim.lsp.buf.hover()') + map('n','af','lua vim.lsp.buf.code_action()') + map('n','ee','lua vim.lsp.util.show_line_diagnostics()') + map('n','ar','lua vim.lsp.buf.rename()') + map('n','=', 'lua vim.lsp.buf.formatting()') + map('n','ai','lua vim.lsp.buf.incoming_calls()') + map('n','ao','lua vim.lsp.buf.outgoing_calls()') +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