Set breakpoints and step through your code line by line inside Neovim instead of adding print statements everywhere.
Inspect variable values and call stacks at runtime using the built-in interactive console during a debugging session.
Build a full IDE-style debugging workspace in Neovim by combining nvim-dap with community UI extension plugins.
Each language requires separately installing and configuring its own debug adapter, consult the community wiki for per-language setup instructions.
Neovim is a text-based code editor that runs in a terminal. This plugin, nvim-dap, adds interactive debugging to Neovim by implementing the Debug Adapter Protocol, a standard interface that many programming tools use to communicate with debuggers. In plain terms, debugging means pausing a running program at specific points, stepping through it line by line, and inspecting what values variables hold at any given moment. Without a tool like this, developers often resort to printing values to the screen to understand what their code is doing. nvim-dap gives Neovim users the same kind of interactive debugging experience found in graphical editors like VS Code or IntelliJ. The plugin lets you set breakpoints (pause points) in your code, step over or into functions one line at a time, and examine the state of the program through a built-in interactive console or through optional UI extensions. It supports many programming languages because it relies on separate debug adapters, small programs that translate between the Debug Adapter Protocol and each language's own debugger. You install and configure the adapter for each language you want to debug separately, with the community wiki providing per-language setup instructions. The project is written in Lua, which is the scripting language Neovim uses for plugins. Installation follows the standard Neovim plugin process, and the README explicitly notes that installing debug adapters for specific languages is outside its scope, leaving that to the user. There are companion plugins from the community that build on top of nvim-dap to provide richer user interfaces, such as full IDE-style panels or inline variable display during a debugging session. The core plugin is intentionally minimal, designed to serve as a foundation that other tools can extend.
← mfussenegger on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.