summaryrefslogtreecommitdiff
path: root/lua/plugins/dap-ui.lua
blob: 6df72c55d7638ed09e8740bcf2cbd69ab1b6770e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
return {
  "rcarriga/nvim-dap-ui",
  dependencies = {
    "nvim-neotest/nvim-nio",
  },
  keys = {
    {
      "<leader>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,
}