" lsp-config if has('nvim') nnoremap gd lua vim.lsp.buf.definition() nnoremap gD lua vim.lsp.buf.declaration() nnoremap gr lua vim.lsp.buf.references() nnoremap gi lua vim.lsp.buf.implementation() nnoremap K lua vim.lsp.buf.hover() nnoremap lua vim.lsp.buf.signature_help() nnoremap lua vim.lsp.buf.rename() nnoremap lua vim.lsp.diagnostic.goto_prev() nnoremap lua vim.lsp.diagnostic.goto_next() " auto-format autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100) autocmd BufWritePre *.jsx lua vim.lsp.buf.formatting_sync(nil, 100) autocmd BufWritePre *.py lua vim.lsp.buf.formatting_sync(nil, 100) " setup lsp-providers " (-> need to be installed manually first and then added here) lua require'lspconfig'.ccls.setup{} lua require'lspconfig'.clangd.setup{} lua require'lspconfig'.pyright.setup{} lua require'lspconfig'.bashls.setup{} lua require'lspconfig'.gopls.setup{} endif