summaryrefslogtreecommitdiff
path: root/config/essentials/nvim/after/plugin/dapui.lua
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-28 15:28:22 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2023-09-28 15:28:22 +0200
commita20229a39ebea62fa40ced9762162554c79b06fd (patch)
treeba165dc78d8d3818f869abfc4276eaeb0cca6709 /config/essentials/nvim/after/plugin/dapui.lua
parentb9f24fc2b9bea23daa9990004195bc6ccac7773f (diff)
added dap en dap-ui configuration
Diffstat (limited to 'config/essentials/nvim/after/plugin/dapui.lua')
-rw-r--r--config/essentials/nvim/after/plugin/dapui.lua94
1 files changed, 94 insertions, 0 deletions
diff --git a/config/essentials/nvim/after/plugin/dapui.lua b/config/essentials/nvim/after/plugin/dapui.lua
new file mode 100644
index 0000000..faec590
--- /dev/null
+++ b/config/essentials/nvim/after/plugin/dapui.lua
@@ -0,0 +1,94 @@
+local dap, dapui = require("dap"), require("dapui")
+
+dapui.setup({
+ icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" },
+ mappings = {
+ -- Use a table to apply multiple mappings
+ expand = { "<CR>", "<2-LeftMouse>" },
+ open = "o",
+ remove = "d",
+ edit = "e",
+ repl = "r",
+ toggle = "t",
+ },
+ -- Use this to override mappings for specific elements
+ element_mappings = {
+ -- Example:
+ -- stacks = {
+ -- open = "<CR>",
+ -- expand = "o",
+ -- }
+ },
+ -- Expand lines larger than the window
+ -- Requires >= 0.7
+ expand_lines = vim.fn.has("nvim-0.7") == 1,
+ -- Layouts define sections of the screen to place windows.
+ -- The position can be "left", "right", "top" or "bottom".
+ -- The size specifies the height/width depending on position. It can be an Int
+ -- or a Float. Integer specifies height/width directly (i.e. 20 lines/columns) while
+ -- Float value specifies percentage (i.e. 0.3 - 30% of available lines/columns)
+ -- Elements are the elements shown in the layout (in order).
+ -- Layouts are opened in order so that earlier layouts take priority in window sizing.
+ layouts = {
+ {
+ elements = {
+ -- Elements can be strings or table with id and size keys.
+ { id = "scopes", size = 0.25 },
+ "breakpoints",
+ "stacks",
+ "watches",
+ },
+ size = 40, -- 40 columns
+ position = "left",
+ },
+ {
+ elements = {
+ "repl",
+ "console",
+ },
+ size = 0.25, -- 25% of total lines
+ position = "bottom",
+ },
+ },
+ controls = {
+ -- Requires Neovim nightly (or 0.8 when released)
+ enabled = true,
+ -- Display controls in this element
+ element = "repl",
+ icons = {
+ pause = "",
+ play = "",
+ step_into = "",
+ step_over = "",
+ step_out = "",
+ step_back = "",
+ run_last = "↻",
+ terminate = "□",
+ },
+ },
+ floating = {
+ max_height = nil, -- These can be integers or a float between 0 and 1.
+ max_width = nil, -- Floats will be treated as percentage of your screen.
+ border = "single", -- Border style. Can be "single", "double" or "rounded"
+ mappings = {
+ close = { "q", "<Esc>" },
+ },
+ },
+ windows = { indent = 1 },
+ render = {
+ max_type_length = nil, -- Can be integer or nil.
+ max_value_lines = 100, -- Can be integer or nil.
+ }
+})
+
+
+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
+