Neovim Debug Test And Data Plugins
Up: Plugin Atlas Down: platforms
This layer is for asking running code what it is doing, then asking tests whether that answer survives contact with reality.
Debugging
nvim-dap is the Debug Adapter Protocol core.
nvim-dap-virtual-text shows values near code while stepping.
nvim-dap-python adds Python debugger helpers.
telescope-dap.nvim lets Telescope browse debugger state.
nvim-dap-ui provides panes for scopes, stacks, watches, breakpoints, and the REPL. nvim-nio is async support for the UI.
one-small-step-for-vimkind is present but intentionally disabled. It is a parked option for debugging Lua.
Debuggers On NixOS
mason-nvim-dap.nvim is disabled on NixOS for the same reason Mason LSP is disabled. Debug adapters should come from the project shell.
For JavaScript, the config can use js-debug-adapter from $PATH on NixOS. On non-Nix systems it may use a Mason-managed adapter path.
{ pkgs, ... }:
{
packages = with pkgs; [
vscode-js-debug
python312Packages.debugpy
];
}Testing
neotest is the test runner surface. Adapters add language and framework support:
| Plugin | Test world |
|---|---|
neotest-python | Python tests. |
neotest-testthat | R testthat. |
neotest-vitest | Vitest. |
neotest-jest | Jest. |
neotest-playwright | Playwright. |
The custom setup can interactively choose a project test adapter and infer monorepo working directories.
Notebooks And Databases
jupynium.nvim bridges Neovim and Jupyter workflows. Its Python runtime should be treated like other tools: provided by a known environment, not documented with private local paths.
vim-dadbod, vim-dadbod-ui, and vim-dadbod-completion turn Neovim into a SQL workbench with query UI and completion.
Related: platforms, completion cockpit