aboutsummaryrefslogtreecommitdiffstats
path: root/lua/alpha/dap.lua
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2022-04-12 09:07:05 +0200
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2022-04-12 09:07:16 +0200
commit3b1145b0c4aac2d1ec7e891c2813836435fdba0f (patch)
treecdf217798335db1ed3732e8e8dc575f524934025 /lua/alpha/dap.lua
parent7f0396bfdba0a45a97e0a416119bebec29ec93ea (diff)
downloadnvim-conf-3b1145b0c4aac2d1ec7e891c2813836435fdba0f.tar.gz
nvim-conf-3b1145b0c4aac2d1ec7e891c2813836435fdba0f.zip
Update config, clean a bit
Diffstat (limited to 'lua/alpha/dap.lua')
-rw-r--r--lua/alpha/dap.lua167
1 files changed, 86 insertions, 81 deletions
diff --git a/lua/alpha/dap.lua b/lua/alpha/dap.lua
index bd1a403..e0058e0 100644
--- a/lua/alpha/dap.lua
+++ b/lua/alpha/dap.lua
@@ -1,102 +1,107 @@
local dap, dapui, dap_install = require("dap"), require("dapui"), require("dap-install")
local api = vim.api
-dapui.setup()
-require('dap-go').setup()
+dapui.setup({
+ sidebar = {
+ size = 80,
+ position = "right",
+ },
+})
+
+require("dap-go").setup()
dap_install.config("php", {
- configurations = {
- {
- type = 'php',
- request = 'launch',
- name = 'Listen for Xdebug',
- port = 9003,
- pathMappings = function ()
- local sail = vim.call('composer#query', 'require-dev.laravel/sail')
- if sail == "" then
- return {['/app'] = vim.fn.getcwd()}
- end
- return {['/var/www/html'] = vim.fn.getcwd()}
- end
- }
- }
+ configurations = {
+ {
+ type = "php",
+ request = "launch",
+ name = "Listen for Xdebug",
+ port = 9003,
+ pathMappings = function()
+ local sail = vim.call("composer#query", "require-dev.laravel/sail")
+ if sail == "" then
+ return { ["/app"] = vim.fn.getcwd() }
+ end
+ return { ["/var/www/html"] = vim.fn.getcwd() }
+ end,
+ },
+ },
})
-- Events Listeners
dap.listeners.after.event_initialized["dapui_config"] = function()
- dapui.open()
+ dapui.open()
end
local function with_win(win, fn, ...)
- local cur_win = api.nvim_get_current_win()
- api.nvim_set_current_win(win)
- local ok, err = pcall(fn, ...)
- api.nvim_set_current_win(cur_win)
- assert(ok, err)
+ local cur_win = api.nvim_get_current_win()
+ api.nvim_set_current_win(win)
+ local ok, err = pcall(fn, ...)
+ api.nvim_set_current_win(cur_win)
+ assert(ok, err)
end
-
local function jump_to_location(bufnr, line, column)
- -- vscode-go sends columns with 0
- -- That would cause a "Column value outside range" error calling nvim_win_set_cursor
- -- nvim-dap says "columnsStartAt1 = true" on initialize :/
- if column == 0 then
- column = 1
- end
- for _, tab in pairs(api.nvim_list_tabpages()) do
- for _, win in pairs(api.nvim_tabpage_list_wins(tab)) do
- if api.nvim_win_get_buf(win) == bufnr then
- api.nvim_win_set_cursor(win, { line, column - 1 })
- api.nvim_set_current_tabpage(tab)
- api.nvim_set_current_win(win)
- return
- end
- end
- end
- -- TODO review
- -- Buffer isn't active in any window; use the first window that is not special
- -- (Don't want to move to code in the REPL...)
- for _, win in pairs(api.nvim_tabpage_list_wins(0)) do
- local winbuf = api.nvim_win_get_buf(win)
- if api.nvim_buf_get_option(winbuf, 'buftype') == '' then
- local bufchanged, _ = pcall(api.nvim_win_set_buf, win, bufnr)
- if bufchanged then
- api.nvim_win_set_cursor(win, { line, column - 1 })
- with_win(win, api.nvim_command, 'normal zv')
- return
- end
- end
- end
+ -- vscode-go sends columns with 0
+ -- That would cause a "Column value outside range" error calling nvim_win_set_cursor
+ -- nvim-dap says "columnsStartAt1 = true" on initialize :/
+ if column == 0 then
+ column = 1
+ end
+ for _, tab in pairs(api.nvim_list_tabpages()) do
+ for _, win in pairs(api.nvim_tabpage_list_wins(tab)) do
+ if api.nvim_win_get_buf(win) == bufnr then
+ api.nvim_win_set_cursor(win, { line, column - 1 })
+ api.nvim_set_current_tabpage(tab)
+ api.nvim_set_current_win(win)
+ return
+ end
+ end
+ end
+ -- TODO review
+ -- Buffer isn't active in any window; use the first window that is not special
+ -- (Don't want to move to code in the REPL...)
+ for _, win in pairs(api.nvim_tabpage_list_wins(0)) do
+ local winbuf = api.nvim_win_get_buf(win)
+ if api.nvim_buf_get_option(winbuf, "buftype") == "" then
+ local bufchanged, _ = pcall(api.nvim_win_set_buf, win, bufnr)
+ if bufchanged then
+ api.nvim_win_set_cursor(win, { line, column - 1 })
+ with_win(win, api.nvim_command, "normal zv")
+ return
+ end
+ end
+ end
end
+dap.listeners.after["event_stopped"]["alpha"] = function(session, body)
+ if body.reason ~= "breakpoint" then
+ return
+ end
+ if not session.current_frame then
+ return
+ end
+ local path = session.current_frame.source.path
+ local line = session.current_frame.line
+ local column = session.current_frame.column
-dap.listeners.after['event_stopped']['alpha'] = function(session, body)
- if body.reason ~= 'breakpoint' then
- return
- end
- if not session.current_frame then
- return
- end
- local path = session.current_frame.source.path
- local line = session.current_frame.line
- local column = session.current_frame.column
-
- local bufnr = vim.uri_to_bufnr(vim.uri_from_fname(path))
- vim.fn.bufload(bufnr)
- jump_to_location(bufnr, line, column)
+ local bufnr = vim.uri_to_bufnr(vim.uri_from_fname(path))
+ vim.fn.bufload(bufnr)
+ jump_to_location(bufnr, line, column)
end
-vim.api.nvim_set_keymap('n', '<leader>dbp', ':lua require\'dap\'.toggle_breakpoint()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dd', ':lua require\'dap\'.continue()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>de', ':lua require\'alpha.dap-fn\'.stop()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dl', ':lua require\'dap\'.step_into()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dj', ':lua require\'dap\'.step_over()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dk', ':lua require\'dap\'.step_out()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dt', ':lua require\'dap\'.repl.toggle()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>ds', ':lua require\'alpha.dap-fn\'.scopes()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>da', ':lua require\'alpha.dap-fn\'.fullscopes()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dbl', ':lua require\'dap\'.list_breakpoints()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dbc', ':lua require\'dap\'.clear_breakpoints()<cr>', {noremap = true})
-vim.api.nvim_set_keymap('n', '<leader>dc', ':lua require\'dap\'.run_to_cursor()<cr>', {noremap = true})
+vim.keymap.set("n", "<leader>dbp", require("dap").toggle_breakpoint, { noremap = true })
+vim.keymap.set("n", "<leader>dd", require("dap").continue, { noremap = true })
+vim.keymap.set("n", "<leader>de", require("alpha.dap-fn").stop, { noremap = true })
+vim.keymap.set("n", "<leader>dl", require("dap").step_into, { noremap = true })
+vim.keymap.set("n", "<leader>dj", require("dap").step_over, { noremap = true })
+vim.keymap.set("n", "<leader>dk", require("dap").step_out, { noremap = true })
+vim.keymap.set("n", "<leader>dt", require("dap").repl.toggle, { noremap = true })
+vim.keymap.set("n", "<leader>ds", require("alpha.dap-fn").scopes, { noremap = true })
+vim.keymap.set("n", "<leader>da", require("alpha.dap-fn").fullscopes, { noremap = true })
+vim.keymap.set("n", "<leader>dbl", require("dap").list_breakpoints, { noremap = true })
+vim.keymap.set("n", "<leader>dbc", require("dap").clear_breakpoints, { noremap = true })
+vim.keymap.set("n", "<leader>dc", require("dap").run_to_cursor, { noremap = true })
+vim.keymap.set("v", "<leader>dk", require("dapui").eval, { noremap = true })
-- can be skipped since I can do it running the continue and promt to use the "Debug test"
-vim.api.nvim_set_keymap('n', '<leader>dtt', ':lua require\'dap-go\'.debug_test()<cr>', {noremap = true})
+vim.keymap.set("n", "<leader>dtt", require("dap-go").debug_test, { noremap = true })