nvim: added automatic detection of language servers
This commit is contained in:
parent
c9b000765e
commit
37575bcd55
1 changed files with 24 additions and 19 deletions
|
@ -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()"
|
||||||
|
|
Loading…
Add table
Reference in a new issue