2021-06-13 16:20:42 -04:00
|
|
|
---- Aliases ----
|
|
|
|
|
local cmd = vim.cmd
|
|
|
|
|
local g = vim.g
|
|
|
|
|
local opt = vim.opt
|
|
|
|
|
|
|
|
|
|
---- General Config ----
|
|
|
|
|
opt.mouse = 'a'
|
2023-04-10 19:45:51 -04:00
|
|
|
opt.tabstop = 2
|
|
|
|
|
opt.shiftwidth = 2
|
2021-06-13 16:20:42 -04:00
|
|
|
opt.number = true
|
|
|
|
|
opt.breakindent = true
|
|
|
|
|
opt.showmatch = true
|
|
|
|
|
opt.ignorecase = true
|
|
|
|
|
opt.smartcase = true
|
|
|
|
|
opt.joinspaces = false
|
|
|
|
|
opt.showmode = false
|
|
|
|
|
opt.hidden = true
|
|
|
|
|
opt.backup = false
|
|
|
|
|
opt.writebackup = false
|
|
|
|
|
opt.swapfile = false
|
|
|
|
|
opt.shortmess:append({ I = true })
|
|
|
|
|
-- whichwrap -- left/right keys can traverse up/down
|
|
|
|
|
--opt.whichwrap = {'<','>','[',']'}
|
|
|
|
|
opt.cmdheight = 2
|
|
|
|
|
opt.showcmd = true
|
|
|
|
|
g.mapleader = ' '
|
|
|
|
|
|
|
|
|
|
---- Terminal ----
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.api.nvim_create_autocmd({ "TermOpen" }, {
|
|
|
|
|
callback = function()
|
2023-04-12 23:37:22 -04:00
|
|
|
if vim.l then
|
|
|
|
|
vim.l.number = false
|
|
|
|
|
end
|
2023-03-27 16:09:35 -03:00
|
|
|
end,
|
|
|
|
|
})
|
2021-06-13 16:20:42 -04:00
|
|
|
|
|
|
|
|
---- Theming ----
|
|
|
|
|
opt.termguicolors = true
|
|
|
|
|
opt.background = 'dark'
|
|
|
|
|
g.gruvbox_italic = true
|
2023-04-03 22:22:45 -04:00
|
|
|
cmd.colorscheme('gruvbox')
|
2021-06-13 16:20:42 -04:00
|
|
|
opt.listchars = {
|
|
|
|
|
eol = '↲' ,
|
|
|
|
|
tab = '▶▹',
|
|
|
|
|
nbsp = '␣',
|
|
|
|
|
extends = '…',
|
|
|
|
|
trail = '•'}
|
|
|
|
|
-- vim-airline config ---
|
|
|
|
|
g.airline_powerline_fonts = true
|
|
|
|
|
g.airline_theme = 'powerlineish'
|
|
|
|
|
g['airline#extensions#tabline#enabled'] = 1
|
|
|
|
|
g['airline#extensions#tabline#left_sep'] = ' '
|
|
|
|
|
g['airline#extensions#tabline#left_alt_sep'] = '|'
|
|
|
|
|
|
|
|
|
|
---- Maps ----
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.keymap.set('!','<C-BS>','<C-w>')
|
|
|
|
|
vim.keymap.set('v','>','>gv')
|
|
|
|
|
vim.keymap.set('v','<','<gv')
|
|
|
|
|
vim.keymap.set('n','<C-L>',':nohlsearch<CR>')
|
2021-06-13 16:20:42 -04:00
|
|
|
|
|
|
|
|
---- Treesitter ----
|
|
|
|
|
local ts = require 'nvim-treesitter.configs'
|
2022-06-08 20:16:56 -04:00
|
|
|
ts.setup {
|
|
|
|
|
ensure_installed = {
|
|
|
|
|
'bash',
|
|
|
|
|
'c',
|
2022-10-07 12:48:37 -03:00
|
|
|
'cmake',
|
2023-03-27 00:03:12 -03:00
|
|
|
'comment',
|
2022-06-08 20:16:56 -04:00
|
|
|
'cpp',
|
|
|
|
|
'css',
|
|
|
|
|
'dockerfile',
|
2023-03-27 00:03:12 -03:00
|
|
|
'diff',
|
2022-06-08 20:16:56 -04:00
|
|
|
'dot',
|
2023-03-27 00:05:09 -03:00
|
|
|
'git_config',
|
2023-03-27 00:03:12 -03:00
|
|
|
'git_rebase',
|
2022-10-07 12:48:37 -03:00
|
|
|
'gitattributes',
|
2023-03-27 00:03:12 -03:00
|
|
|
'gitcommit',
|
2022-10-07 12:48:37 -03:00
|
|
|
'gitignore',
|
2022-06-08 20:16:56 -04:00
|
|
|
'go',
|
|
|
|
|
'html',
|
|
|
|
|
'http',
|
2023-03-27 00:03:12 -03:00
|
|
|
'ini',
|
2022-06-08 20:16:56 -04:00
|
|
|
'javascript',
|
|
|
|
|
'json',
|
2023-03-27 00:03:12 -03:00
|
|
|
'kdl',
|
2022-10-07 12:48:37 -03:00
|
|
|
'kotlin',
|
2022-06-08 20:16:56 -04:00
|
|
|
'latex',
|
2022-10-07 12:48:37 -03:00
|
|
|
'lua',
|
2023-03-27 00:03:12 -03:00
|
|
|
'make',
|
2022-06-08 20:16:56 -04:00
|
|
|
'markdown',
|
2023-03-27 00:03:12 -03:00
|
|
|
'markdown_inline',
|
|
|
|
|
'passwd',
|
2022-06-08 20:16:56 -04:00
|
|
|
'perl',
|
|
|
|
|
'php',
|
|
|
|
|
'python',
|
2023-03-27 00:03:12 -03:00
|
|
|
'regex',
|
2022-06-08 20:16:56 -04:00
|
|
|
'rust',
|
|
|
|
|
'scss',
|
2022-10-07 12:48:37 -03:00
|
|
|
'sql',
|
2023-03-27 00:03:12 -03:00
|
|
|
'terraform',
|
2022-06-08 20:16:56 -04:00
|
|
|
'toml',
|
|
|
|
|
'typescript',
|
|
|
|
|
'vim',
|
|
|
|
|
'yaml',
|
|
|
|
|
},
|
|
|
|
|
highlight = {enable = true, indent = true}}
|
2023-03-27 01:12:15 -03:00
|
|
|
|
2023-03-27 01:03:04 -03:00
|
|
|
---- Filetypes ---
|
2023-03-27 01:12:15 -03:00
|
|
|
vim.filetype.add({ extension = {kdl = 'kdl'} })
|
2023-03-27 01:03:04 -03:00
|
|
|
|
2021-06-13 16:20:42 -04:00
|
|
|
|
|
|
|
|
---- LSP ----
|
|
|
|
|
local lsp = require 'lspconfig'
|
2021-12-13 22:04:05 -03:00
|
|
|
|
|
|
|
|
-- Use an on_attach function to only map the following keys
|
|
|
|
|
-- after the language server attaches to the current buffer
|
2022-10-07 13:13:21 -03:00
|
|
|
local on_lsp_attach = function(client, bufnr)
|
2021-12-20 17:37:08 -03:00
|
|
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
2022-10-07 13:13:21 -03:00
|
|
|
vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<Leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<Leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<Leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<Leader>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<Leader>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
|
|
|
|
|
vim.keymap.set('n', '<F3>', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
2021-12-13 22:04:05 -03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Use a loop to conveniently call 'setup' on multiple servers and
|
|
|
|
|
-- map buffer local keybindings when the language server attaches
|
2022-11-16 01:11:41 -03:00
|
|
|
local servers = {
|
2023-03-31 20:16:08 -03:00
|
|
|
clangd = {},
|
2023-04-12 20:35:21 -04:00
|
|
|
eslint = {},
|
2023-03-31 20:16:08 -03:00
|
|
|
gopls = {},
|
|
|
|
|
jsonls = {},
|
|
|
|
|
kotlin_language_server = {},
|
|
|
|
|
marksman = {},
|
|
|
|
|
pylsp = {},
|
|
|
|
|
rust_analyzer = {},
|
|
|
|
|
texlab = {},
|
|
|
|
|
tflint = {},
|
|
|
|
|
tsserver = {},
|
2022-11-16 01:11:41 -03:00
|
|
|
}
|
2022-10-07 13:13:21 -03:00
|
|
|
-- Setup loop moved to the cmp section, since calling setup multiple times
|
|
|
|
|
-- overrides the previous calls.
|
2021-06-13 16:20:42 -04:00
|
|
|
|
2022-06-07 12:55:56 -04:00
|
|
|
-- Auto format on save
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
|
|
|
|
callback = function()
|
|
|
|
|
vim.lsp.buf.format()
|
|
|
|
|
end,
|
|
|
|
|
})
|
2022-06-07 12:55:56 -04:00
|
|
|
|
2021-06-13 16:20:42 -04:00
|
|
|
---- Plugins ----
|
2022-06-07 12:55:45 -04:00
|
|
|
-- Go
|
|
|
|
|
g.ale_go_golangci_lint_options = ''
|
|
|
|
|
g.ale_go_golangci_lint_package = 1
|
2023-03-27 16:09:35 -03:00
|
|
|
---- nvim-lint ----
|
|
|
|
|
local lint = require 'lint'
|
2023-04-07 23:10:00 -04:00
|
|
|
local clippy_format = '%E%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}'
|
|
|
|
|
.. 'error:%.%\\{-} %m,%W%f:%l:%c: %\\d%#:%\\d%# %.%\\{-}'
|
|
|
|
|
.. 'warning:%.%\\{-} %m,%C%f:%l %m,%-G,%-G'
|
|
|
|
|
.. 'error: aborting %.%#,%-G'
|
|
|
|
|
.. 'error: Could not compile %.%#,%E'
|
|
|
|
|
.. 'error: %m,%Eerror[E%n]: %m,%-G'
|
|
|
|
|
.. 'warning: the option `Z` is unstable %.%#,%W'
|
|
|
|
|
.. 'warning: %m,%Inote: %m,%C %#--> %f:%l:%c'
|
|
|
|
|
|
|
|
|
|
lint.linters.clippy = {
|
|
|
|
|
cmd = 'cargo clippy',
|
|
|
|
|
stdin = false,
|
|
|
|
|
append_fname = true,
|
|
|
|
|
args = {},
|
2023-04-11 10:14:35 -04:00
|
|
|
stream = 'stdout',
|
2023-04-07 23:10:00 -04:00
|
|
|
ignore_exitcode = false,
|
|
|
|
|
env = nil,
|
|
|
|
|
parser = require('lint.parser').from_errorformat(clippy_format)
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-27 16:09:35 -03:00
|
|
|
linters = {
|
|
|
|
|
bash = {'shellcheck'},
|
2023-04-07 23:10:00 -04:00
|
|
|
go = {'golangcilint'},
|
2023-03-27 16:09:35 -03:00
|
|
|
python = {'flake8'},
|
2023-04-07 23:10:00 -04:00
|
|
|
rust = {'clippy'},
|
2023-03-27 16:09:35 -03:00
|
|
|
yaml = {'yamllint'},
|
|
|
|
|
}
|
|
|
|
|
-- set linters --
|
|
|
|
|
lint.linters_by_ft = linters
|
|
|
|
|
-- set autocommands --
|
2023-04-07 23:10:00 -04:00
|
|
|
for ft, ft_linters in pairs(linters) do
|
|
|
|
|
local on_change = false
|
|
|
|
|
local on_write = false
|
|
|
|
|
for l in pairs(ft_linters) do
|
|
|
|
|
if lint.linters.l.stdin then
|
|
|
|
|
on_change = true
|
|
|
|
|
else
|
|
|
|
|
on_write = true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if on_change then
|
|
|
|
|
vim.api.nvim_create_autocmd(
|
|
|
|
|
{"FileType"},
|
|
|
|
|
{
|
|
|
|
|
pattern=ft,
|
|
|
|
|
callback = function()
|
|
|
|
|
vim.api.nvim_create_autocmd(
|
|
|
|
|
{"TextChanged" },
|
|
|
|
|
{
|
|
|
|
|
callback = function()
|
|
|
|
|
lint.try_lint(nil, {ignore_errors=true})
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
if on_write then
|
|
|
|
|
vim.api.nvim_create_autocmd(
|
|
|
|
|
{"FileType"},
|
|
|
|
|
{
|
|
|
|
|
pattern=ft,
|
|
|
|
|
callback = function()
|
|
|
|
|
vim.api.nvim_create_autocmd(
|
|
|
|
|
{"BufWritePost" },
|
|
|
|
|
{
|
|
|
|
|
callback = function()
|
|
|
|
|
lint.try_lint(nil, {ignore_errors=true})
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
end
|
2023-04-12 20:35:03 -04:00
|
|
|
---- LuaSnip
|
|
|
|
|
require('luasnip.loaders.from_lua').lazy_load()
|
|
|
|
|
cmd [[imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>']]
|
|
|
|
|
cmd [[inoremap <silent> <S-Tab> <cmd>lua require'luasnip'.jump(-1)<Cr>]]
|
|
|
|
|
cmd [[snoremap <silent> <Tab> <cmd>lua require('luasnip').jump(1)<Cr>]]
|
|
|
|
|
cmd [[snoremap <silent> <S-Tab> <cmd>lua require('luasnip').jump(-1)<Cr>]]
|
2021-06-13 16:20:42 -04:00
|
|
|
---- completion-nvim
|
2022-06-20 22:36:49 -04:00
|
|
|
local cmp = require'cmp'
|
|
|
|
|
|
|
|
|
|
cmp.setup({
|
|
|
|
|
snippet = {
|
|
|
|
|
expand = function(args)
|
|
|
|
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
|
|
|
|
end,
|
2021-06-13 16:20:42 -04:00
|
|
|
},
|
2022-06-20 22:36:49 -04:00
|
|
|
window = {
|
|
|
|
|
-- completion = cmp.config.window.bordered(),
|
|
|
|
|
-- documentation = cmp.config.window.bordered(),
|
|
|
|
|
},
|
|
|
|
|
mapping = cmp.mapping.preset.insert({
|
|
|
|
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
|
|
|
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
|
|
|
['<C-Space>'] = cmp.mapping.complete(),
|
|
|
|
|
['<C-e>'] = cmp.mapping.abort(),
|
2022-07-26 17:17:54 -04:00
|
|
|
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
2022-06-20 22:36:49 -04:00
|
|
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
|
|
|
|
}),
|
|
|
|
|
sources = cmp.config.sources({
|
|
|
|
|
{ name = 'nvim_lsp' },
|
|
|
|
|
{ name = 'luasnip' },
|
|
|
|
|
{ name = 'path' },
|
|
|
|
|
{ name = 'buffer' },
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
--cmd [[autocmd FileType *\(TelescopePrompt\)\@<! lua require'completion'.on_attach()]]
|
2023-03-27 12:59:11 -03:00
|
|
|
|
2022-06-20 22:36:49 -04:00
|
|
|
-- Setup lspconfig.
|
2023-01-12 15:38:52 -03:00
|
|
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
|
|
|
lsp.util.default_config = vim.tbl_deep_extend(
|
|
|
|
|
'force', lsp.util.default_config, { capabilities = capabilities, })
|
2023-03-31 20:16:08 -03:00
|
|
|
for server, add_to_config in pairs(servers) do
|
|
|
|
|
config = {
|
|
|
|
|
on_attach = on_lsp_attach,
|
|
|
|
|
flags = {
|
|
|
|
|
debounce_text_changes = 150,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
for k,v in pairs(add_to_config) do
|
|
|
|
|
config[k] = v
|
2023-03-28 02:07:12 -03:00
|
|
|
end
|
2023-03-31 20:16:08 -03:00
|
|
|
lsp[server].setup(config)
|
2022-06-20 22:36:49 -04:00
|
|
|
end
|
2023-01-17 23:35:05 -03:00
|
|
|
---- git-blame.nvim
|
|
|
|
|
g.gitblame_enabled = 0
|
2022-06-20 20:42:48 -04:00
|
|
|
---- gitsigns.nvim
|
|
|
|
|
require('gitsigns').setup {
|
|
|
|
|
on_attach = function(bufnr)
|
|
|
|
|
local gs = package.loaded.gitsigns
|
|
|
|
|
|
|
|
|
|
-- Navigation
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.keymap.set('n', ']c', function()
|
2022-06-20 20:42:48 -04:00
|
|
|
if vim.wo.diff then return ']c' end
|
|
|
|
|
vim.schedule(function() gs.next_hunk() end)
|
|
|
|
|
return '<Ignore>'
|
|
|
|
|
end, {expr=true})
|
|
|
|
|
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.keymap.set('n', '[c', function()
|
2022-06-20 20:42:48 -04:00
|
|
|
if vim.wo.diff then return '[c' end
|
|
|
|
|
vim.schedule(function() gs.prev_hunk() end)
|
|
|
|
|
return '<Ignore>'
|
|
|
|
|
end, {expr=true})
|
|
|
|
|
|
|
|
|
|
-- Actions
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.keymap.set({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
|
|
|
|
vim.keymap.set({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
|
|
|
|
vim.keymap.set('n', '<leader>hS', gs.stage_buffer)
|
|
|
|
|
vim.keymap.set('n', '<leader>hu', gs.undo_stage_hunk)
|
|
|
|
|
vim.keymap.set('n', '<leader>hR', gs.reset_buffer)
|
|
|
|
|
vim.keymap.set('n', '<leader>hp', gs.preview_hunk)
|
|
|
|
|
vim.keymap.set('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
|
|
|
|
vim.keymap.set('n', '<leader>tb', gs.toggle_current_line_blame)
|
|
|
|
|
vim.keymap.set('n', '<leader>hd', gs.diffthis)
|
|
|
|
|
vim.keymap.set('n', '<leader>hD', function() gs.diffthis('~') end)
|
|
|
|
|
vim.keymap.set('n', '<leader>td', gs.toggle_deleted)
|
2022-06-20 20:42:48 -04:00
|
|
|
|
|
|
|
|
-- Text object
|
2023-03-27 16:09:35 -03:00
|
|
|
vim.keymap.set({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
2022-06-20 20:42:48 -04:00
|
|
|
end
|
|
|
|
|
}
|
2022-06-21 20:53:24 -04:00
|
|
|
---- Comment.nvim
|
|
|
|
|
require('Comment').setup()
|
2021-06-13 16:20:42 -04:00
|
|
|
---- vim-markdown
|
|
|
|
|
g.vim_markdown_no_default_key_mappings = 1
|
|
|
|
|
g.vim_markdown_folding_disabled = 1
|
|
|
|
|
g.vim_markdown_toml_frontmatter = 1
|
|
|
|
|
---- Telescope
|
2023-04-12 23:37:22 -04:00
|
|
|
local telescope = require 'telescope'
|
|
|
|
|
telescope.setup{
|
2021-09-21 12:26:07 -03:00
|
|
|
defaults = {
|
|
|
|
|
file_ignore_patterns = {"%.avif", "%.jpg", "%.pdf", "%.png", "%.webp"},
|
2023-04-12 23:37:22 -04:00
|
|
|
},
|
|
|
|
|
pickers = {
|
|
|
|
|
find_files = {
|
|
|
|
|
hidden = true,
|
|
|
|
|
}
|
2021-09-21 12:26:07 -03:00
|
|
|
}
|
2021-08-26 21:19:42 -04:00
|
|
|
}
|
2023-04-12 23:37:22 -04:00
|
|
|
telescope.load_extension('fzy_native')
|
|
|
|
|
telescope.load_extension('luasnip')
|
|
|
|
|
local builtin = require('telescope.builtin')
|
|
|
|
|
vim.keymap.set('n', '<Leader>f', builtin.fd)
|
|
|
|
|
vim.keymap.set('n', '<Leader>b', builtin.buffers)
|
|
|
|
|
vim.keymap.set('n', '<Leader>/', builtin.current_buffer_fuzzy_find)
|
|
|
|
|
vim.keymap.set('n', '<Leader>g', builtin.live_grep)
|
|
|
|
|
vim.keymap.set('n', '<Leader>cg', builtin.grep_string)
|
|
|
|
|
vim.keymap.set('n', '<Leader>:', builtin.commands)
|
|
|
|
|
vim.keymap.set('n', '<Leader>s', telescope.extensions.luasnip.luasnip)
|
2023-03-05 01:21:04 -03:00
|
|
|
---- nvim-dap
|
|
|
|
|
local dap = require('dap')
|
2023-03-05 17:15:12 -03:00
|
|
|
vim.fn.sign_define('DapBreakpoint',{ text ='🟥', texthl ='', linehl ='', numhl =''})
|
|
|
|
|
vim.fn.sign_define('DapStopped',{ text ='▶️', texthl ='', linehl ='', numhl =''})
|
2023-04-12 23:37:22 -04:00
|
|
|
-- Set keymaps to control the debugge
|
2023-03-05 01:21:04 -03:00
|
|
|
vim.keymap.set('n', '<leader>dc', require 'dap'.continue)
|
|
|
|
|
vim.keymap.set('n', '<leader>do', require 'dap'.step_over)
|
|
|
|
|
vim.keymap.set('n', '<leader>di', require 'dap'.step_into)
|
|
|
|
|
vim.keymap.set('n', '<leader>dO', require 'dap'.step_out)
|
|
|
|
|
vim.keymap.set('n', '<leader>db', require 'dap'.toggle_breakpoint)
|
|
|
|
|
vim.keymap.set('n', '<leader>dB', function()
|
|
|
|
|
require 'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
|
|
|
|
|
end)
|
2023-03-05 17:15:12 -03:00
|
|
|
local dapui = require('dapui')
|
|
|
|
|
dap.listeners.after.event_initialized["dapui_config"]=function()
|
|
|
|
|
dapui.open()
|
|
|
|
|
end
|
|
|
|
|
dap.listeners.before.event_terminated["dapui_config"]=function()
|
|
|
|
|
dapui.close()
|
|
|
|
|
end
|
|
|
|
|
dap.listeners.before.event_exited["dapui_config"]=function()
|
|
|
|
|
dapui.close()
|
|
|
|
|
end
|
|
|
|
|
-- nvim-dap-go
|
2023-03-05 01:21:04 -03:00
|
|
|
require('dap-go').setup()
|
2023-04-12 23:37:22 -04:00
|
|
|
|
|
|
|
|
---- web-devicons
|
|
|
|
|
require('nvim-web-devicons').setup()
|