NVIM DAP View

Modern, minimalistic debugging UI for neovim

Installation

INFO

Requires neovim 0.11+

A nerd font is a "soft requirement"1.

Via lazy.nvim

return {
    {
        "igorlfs/nvim-dap-view",
        ---@module 'dap-view'
        ---@type dapview.Config
        opts = {},
    },
}
lua
CAUTION

If using a plugin that overrides the 'winbar' option, make sure to disable it for nvim-dap-view buffers .

Features

The plugin provides 8 "views" (aka "sections") that (mostly) share the same window (so there's clutter).

Watches view

watches view

Shows a list of user defined expressions, that are evaluated by debug adapter

  • Basic CRUD operations for expressions
  • Expand, collapse, copy or set the value of expressions and variables

Threads view

threads view

List all threads and their stack traces

  • Jump to a function in the call stack, switching the context to that call
  • Filter frames using Lua patterns
  • Toggle subtle (hidden) frames

Breakpoints view

breakpoints view

List all breakpoints with full syntax highlighting, including treesitter and semantic tokens (from LSP)

  • Jump to the location of a brakpoint
  • Delete a breakpoint

Exceptions view

exceptions view

Control when the debugger should stop, outside of regular breakpoints (e.g., whenever an exception is thrown)

Scopes view

scopes view

Use the scopes widget provided by nvim-dap

Sessions view

sessions view

Use the sessions widget provided by nvim-dap (disabled by default)

REPL view

repl view

Use REPL provided by nvim-dap

Console view

You can also interact with the console (terminal), which is also provided by nvim-dap. By default, the console has its own window, but it can be configured to be shown with the other views. See details on the config page. It's also possible to completely hide the terminal (if it's not being used at all, which is the case for some debug adapters).

Custom views

You can also write your own views.

Disassembly view

A custom view is used to power the disassembly view , an integration with nvim-dap-disasm .

disassembly view

Control bar

nvim-dap-view also provides a "non view" component: the control bar, which exposes some clickable buttons to control your session. It's disabled by default. See details on how to enable and configure it here .

control bar

Usage

Learn about nvim-dap-view's commands and keymaps to get started. If it's your first time setting up nvim-dap, start here . By default, nvim-dap-view is not launched automatically (i.e., when initializing a new session), you have to use the commands or the API. To change this behavior, enable the auto_toggle option.

Customization

nvim-dap-view is fully customizable! Visit the config page to learn what you can do.

Footnotes

  1. nerd font icons can be disabled in the cofiguration ↩