ui: opinionated nvim-dap-ui layout with auto open/close
This commit is contained in:
2 files changed
+45
No files matched your search
@@ -1,5 +1,6 @@
|
|||||||
local config = require("tiny-debugger.config")
|
local config = require("tiny-debugger.config")
|
||||||
local help = require("tiny-debugger.help")
|
local help = require("tiny-debugger.help")
|
||||||
|
local ui = require("tiny-debugger.ui")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
@@ -105,6 +106,7 @@ function M.enter()
|
|||||||
local buf = vim.api.nvim_get_current_buf()
|
local buf = vim.api.nvim_get_current_buf()
|
||||||
set_keymaps(buf)
|
set_keymaps(buf)
|
||||||
set_cursor_highlight()
|
set_cursor_highlight()
|
||||||
|
ui.open()
|
||||||
|
|
||||||
if config.opts.help_on_enter then
|
if config.opts.help_on_enter then
|
||||||
help.open()
|
help.open()
|
||||||
@@ -119,6 +121,7 @@ function M.exit()
|
|||||||
clear_keymaps(buf)
|
clear_keymaps(buf)
|
||||||
restore_cursor_highlight()
|
restore_cursor_highlight()
|
||||||
help.close()
|
help.close()
|
||||||
|
ui.close()
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.toggle()
|
function M.toggle()
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
local config = require("tiny-debugger.config")
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local initialized = false
|
||||||
|
|
||||||
|
local function ensure_setup()
|
||||||
|
if initialized then return end
|
||||||
|
initialized = true
|
||||||
|
|
||||||
|
local dapui = require("dapui")
|
||||||
|
dapui.setup(config.opts.dapui)
|
||||||
|
|
||||||
|
-- auto-exit debug mode when session ends
|
||||||
|
local dap = require("dap")
|
||||||
|
local mode = require("tiny-debugger.mode")
|
||||||
|
|
||||||
|
dap.listeners.after.event_terminated["tiny-debugger"] = function()
|
||||||
|
if mode.is_active() then
|
||||||
|
mode.exit()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
dap.listeners.after.event_exited["tiny-debugger"] = function()
|
||||||
|
if mode.is_active() then
|
||||||
|
mode.exit()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.open()
|
||||||
|
ensure_setup()
|
||||||
|
require("dapui").open()
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.close()
|
||||||
|
if initialized then
|
||||||
|
require("dapui").close()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
Reference in new issue
Block a user