let g:compe = {} let g:compe.enabled = v:true let g:compe.autocomplete = v:true let g:compe.debug = v:false let g:compe.min_length = 1 let g:compe.preselect = 'enable' let g:compe.throttle_time = 80 let g:compe.source_timeout = 200 let g:compe.incomplete_delay = 400 let g:compe.max_abbr_width = 100 let g:compe.max_kind_width = 100 let g:compe.max_menu_width = 100 let g:compe.documentation = v:true let g:compe.source = {} let g:compe.source.path = v:true let g:compe.source.buffer = v:true let g:compe.source.calc = v:true let g:compe.source.nvim_lsp = v:true let g:compe.source.nvim_lua = v:true let g:compe.source.vsnip = v:false let g:compe.source.luasnip = v:true inoremap compe#complete() inoremap compe#confirm('') inoremap compe#close('') inoremap compe#scroll({ 'delta': +4 }) inoremap compe#scroll({ 'delta': -4 }) fun! LspLocationList() lua vim.lsp.diagnostic.set_loclist({open_loclist = false}) endfun augroup alpha_lsp autocmd! autocmd! BufWrite,BufEnter,InsertLeave * :call LspLocationList() augroup END nnoremap vd :lua vim.lsp.buf.definition() nnoremap vsh :lua vim.lsp.buf.signature_help() nnoremap vh :lua vim.lsp.buf.hover() " to test nnoremap vi :lua vim.lsp.buf.implementation() nnoremap vrn :lua vim.lsp.buf.rename() nnoremap vca :lua vim.lsp.buf.code_action() nnoremap vsd :lua vim.lsp.util.show_line_diagnostics(); vim.lsp.util.show_line_diagnostics() nnoremap vn :lua vim.lsp.diagnostic.goto_next() nnoremap vo :LspRestart au Filetype php setl omnifunc=v:lua.vim.lsp.omnifunc autocmd FileType go setlocal omnifunc=v:lua.vim.lsp.omnifunc let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] lua << EOF local function on_attach() vim.api.nvim_set_keymap('n', 'K', ':lua vim.lsp.buf.hover()', {noremap = true}) end local function setup_servers() require'lspinstall'.setup() local servers = require'lspinstall'.installed_servers() for _, server in pairs(servers) do require'lspconfig'[server].setup{ on_attach=on_attach} end end setup_servers() require'lspinstall'.post_install_hook = function () setup_servers() vim.cmd("bufdo e") end EOF