return { "rcarriga/nvim-dap-ui", dependencies = { "nvim-neotest/nvim-nio", }, keys = { { "du", function() require("dapui").toggle({ layout = 1 }) end, desc = "Dap UI", }, }, opts = { layouts = { -- Run layout { elements = { { id = "repl", size = 0.20 }, { id = "console", size = 0.80 }, }, size = 30, position = "bottom", }, -- Debug layout { elements = { { id = "scopes", size = 0.20 }, { id = "stacks", size = 0.20 }, { id = "console", size = 0.60 }, }, size = 30, position = "bottom", }, }, }, config = function(_, opts) require("dapui").setup(opts) local listener = require("dap").listeners listener.after.event_initialized["dapui_config"] = function() require("dapui").close() require("dapui").toggle({ layout = 1 }) end listener.after.event_continued["dapui_config"] = function() require("dapui").close() require("dapui").toggle({ layout = 1 }) end listener.after.event_breakpoint["dapui_config"] = function() require("dapui").close() require("dapui").toggle({ layout = 2 }) end listener.after.event_terminated["dapui_config"] = function() require("dapui").close() require("dapui").toggle({ layout = 1 }) end end, }