DAP (Debug Adapter Protocol)
nvim-dap
is a Debug Adapter Protocol client implementation for Neovim (>= 0.5)
Warning: This is in an early stage. It targets Neovim HEAD and therefore things may break.
Features
- launch debug adapter
- attach to debug adapter
- toggle breakpoints
- breakpoints with conditions
- logpoints
- set function breakpoints
- set exception breakpoints
- step over, step into, step out
- step back, reverse continue
- Goto
- restart
- stop
- pause
- evaluate expressions
- REPL (incl. commands to show threads, frames and scopes)
Extensions
Known extensions are listed in the Wiki.
Goals
The goal of nvim-dap is to provide a basic debugger for Neovim to be used with Debug Adapters implementing the Debug Adapter Protocol.
Another goal is for nvim-dap to be usable as a client library for DAP to be used by other plugins. Other plugins should be able to either extend the UI (like nvim-dap-virtual-text), or to build configuration discovery functionality. For example nvim-jdtls integrates with nvim-dap, it dynamically adds debug configurations and contains functionality that allows users to debug individual test cases.
Non-Goals
-
Debug adapter installations are out of scope. It's not the business of an editor plugin to re-invent a package manager. Use your system package manager. Use Nix. Use Ansible.
-
Vim support. It's not going to happen. Use vimspector instead.
Alternatives
Installation
- Requires Neovim HEAD/nightly
- nvim-dap is a plugin. Install it like any other Vim plugin.
- Call
:packadd nvim-dap
if you installnvim-dap
to'packpath'
.
Usage
See :help dap and the Debug-Adapter Installation wiki. Keep in mind that the APIs are subject to change.