nvim: added automatic detection of language servers

This commit is contained in:
PowerUser64 2021-09-22 03:19:20 -07:00
parent c9b000765e
commit 37575bcd55

View file

@ -216,14 +216,19 @@ M.lspconfig = function()
-- Use a loop to conveniently call 'setup' on multiple servers and -- Use a loop to conveniently call 'setup' on multiple servers and
-- map buffer local keybindings when the language server attaches -- map buffer local keybindings when the language server attaches
local servers = { 'clangd', } local lsp_servers = {
for _, lsp in ipairs(servers) do clangd = 'clangd',
nvim_lsp[lsp].setup { html = 'vscode-html-language-server',
on_attach = on_attach, }
flags = { for lsp, exe in pairs(lsp_servers) do
debounce_text_changes = 150, if (vim.fn.executable(exe) == 1) then
nvim_lsp[lsp].setup {
on_attach = on_attach,
flags = {
debounce_text_changes = 150,
}
} }
} end
end end
end -- <<< end -- <<<
@ -231,20 +236,20 @@ end -- <<<
M.dap = function() M.dap = function()
-- keybinds -- keybinds
vim.cmd [[ vim.cmd [[
" Debugger movement " Debugger movement
nnoremap <silent> <leader>d<space> <cmd>lua require'dap'.continue()<CR> nnoremap <silent> <leader>d<space> <cmd>lua require'dap'.continue()<CR>
nnoremap <silent> <leader>dj <cmd>lua require'dap'.step_over()<CR> nnoremap <silent> <leader>dj <cmd>lua require'dap'.step_over()<CR>
nnoremap <silent> <leader>dl <cmd>lua require'dap'.step_into()<CR> nnoremap <silent> <leader>dl <cmd>lua require'dap'.step_into()<CR>
nnoremap <silent> <leader>dh <cmd>lua require'dap'.step_out()<CR> nnoremap <silent> <leader>dh <cmd>lua require'dap'.step_out()<CR>
" Breakpoints " Breakpoints
nnoremap <silent> <leader>dbb <cmd>lua require'dap'.toggle_breakpoint()<CR> nnoremap <silent> <leader>dbb <cmd>lua require'dap'.toggle_breakpoint()<CR>
nnoremap <silent> <leader>dbc <cmd>lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition<cmd> '))<CR> nnoremap <silent> <leader>dbc <cmd>lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition<cmd> '))<CR>
nnoremap <silent> <leader>dbl <cmd>lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message<cmd> '))<CR> nnoremap <silent> <leader>dbl <cmd>lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message<cmd> '))<CR>
" Extra " Extra
nnoremap <silent> <leader>dp <cmd>lua require'dap'.run_last()<CR> nnoremap <silent> <leader>dp <cmd>lua require'dap'.run_last()<CR>
nnoremap <silent> <leader>dr <cmd>lua require'dap'.repl.open()<CR> nnoremap <silent> <leader>dr <cmd>lua require'dap'.repl.open()<CR>
]] ]]
-- vim.fn.sign_define('DapBreakpoint', {text='B', texthl='', linehl='', numhl=''}) -- custom attributes of breakpointed lines (use an emoji?) -- vim.fn.sign_define('DapBreakpoint', {text='B', texthl='', linehl='', numhl=''}) -- custom attributes of breakpointed lines (use an emoji?)
vim.cmd "au FileType dap-repl lua require('dap.ext.autocompl').attach()" vim.cmd "au FileType dap-repl lua require('dap.ext.autocompl').attach()"