All Projects → mfussenegger → Nvim Dap

mfussenegger / Nvim Dap

Licence: gpl-3.0
Debug Adapter Protocol client implementation for Neovim (>= 0.5)

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Nvim Dap

nvim-dap-python
An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
Stars: ✭ 70 (-78.53%)
Mutual labels:  debugger, neovim, neovim-plugin
format.nvim
Neovim lua plugin to format the current buffer with external executables
Stars: ✭ 189 (-42.02%)
Mutual labels:  neovim, neovim-plugin
igs.nvim
A minimalist Neovim plugin that enhances the usage of git status inside Neovim.
Stars: ✭ 17 (-94.79%)
Mutual labels:  neovim, neovim-plugin
Vim Dadbod Ui
Simple UI for https://github.com/tpope/vim-dadbod
Stars: ✭ 315 (-3.37%)
Mutual labels:  neovim, neovim-plugin
neogen
A better annotation generator. Supports multiple languages and annotation conventions.
Stars: ✭ 339 (+3.99%)
Mutual labels:  neovim, neovim-plugin
null-ls.nvim
Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
Stars: ✭ 965 (+196.01%)
Mutual labels:  neovim, neovim-plugin
nrpattern.nvim
Neovim plugin to expand incrementing/decrementing to more formats.
Stars: ✭ 24 (-92.64%)
Mutual labels:  neovim, neovim-plugin
Go Client
Nvim Go client
Stars: ✭ 284 (-12.88%)
Mutual labels:  neovim, neovim-plugin
Vim Monokai Tasty
VIM Colour scheme
Stars: ✭ 279 (-14.42%)
Mutual labels:  neovim, neovim-plugin
Iron.nvim
Interactive Repl Over Neovim
Stars: ✭ 265 (-18.71%)
Mutual labels:  neovim, neovim-plugin
black-nvim
A Neovim plugin to format your code using Black
Stars: ✭ 23 (-92.94%)
Mutual labels:  neovim, neovim-plugin
Blamer.nvim
A git blame plugin for neovim inspired by VS Code's GitLens plugin
Stars: ✭ 283 (-13.19%)
Mutual labels:  neovim, neovim-plugin
agitator.nvim
No description or website provided.
Stars: ✭ 16 (-95.09%)
Mutual labels:  neovim, neovim-plugin
Dashboard Nvim
vim dashboard
Stars: ✭ 294 (-9.82%)
Mutual labels:  neovim, neovim-plugin
nvim-lsp-smag
Seamless integration of language server locations into NeoVim
Stars: ✭ 60 (-81.6%)
Mutual labels:  neovim, neovim-plugin
cmp-under-comparator
nvim-cmp comparator function for completion items that start with one or more underlines
Stars: ✭ 77 (-76.38%)
Mutual labels:  neovim, neovim-plugin
boo-colorscheme-nvim
Boo is a colorscheme for Neovim with handcrafted support for LSP, Treesitter.
Stars: ✭ 62 (-80.98%)
Mutual labels:  neovim, neovim-plugin
denite-gtags
Denite source for GNU Global
Stars: ✭ 27 (-91.72%)
Mutual labels:  neovim, neovim-plugin
Lldb.nvim
Debugger integration with a focus on ease-of-use.
Stars: ✭ 254 (-22.09%)
Mutual labels:  debugger, neovim
Gen tags.vim
Async plugin for vim and neovim to ease the use of ctags/gtags
Stars: ✭ 288 (-11.66%)
Mutual labels:  neovim, neovim-plugin

DAP (Debug Adapter Protocol)

nvim-dap is a Debug Adapter Protocol client implementation for Neovim (>= 0.5). nvim-dap allows you to:

  • Launch an application to debug
  • Attach to running applications and debug them
  • Set breakpoints and step through code
  • Inspect the state of the application

Warning: This is in an early stage. It targets Neovim HEAD and therefore things may break.

screenshot

Installation

  • Requires Neovim HEAD/nightly
  • nvim-dap is a plugin. Install it like any other Neovim plugin.
    • If using vim-plug: Plug 'mfussenegger/nvim-dap'
    • If using packer.nvim: use 'mfussenegger/nvim-dap'
  • Generate the documentation for nvim-dap using :helptags ALL or :helptags <PATH-TO-PLUGIN/doc/>

You'll need to install and configure a debug adapter per language. See

Usage

A typical debug flow consists of:

  • Setting breakpoints via :lua require'dap'.toggle_breakpoint().
  • Launching debug sessions and resuming execution via :lua require'dap'.continue().
  • Stepping through code via :lua require'dap'.step_over() and :lua require'dap'.step_into().
  • Inspecting the state via the built-in REPL: :lua require'dap'.repl.open().

See :help dap.txt, :help dap-mapping and :help dap-api.

Supported languages

In theory all of the languages for which a debug adapter exists should be supported.

The Wiki is community maintained. If you got an adapter working that isn't listed yet, please extend the Wiki. If you struggle getting an adapter working, please create an issue.

Goals

  • Have a basic debugger in Neovim.

  • Extensibility and double as a DAP client library. This allows other plugins to extend the debugging experience. Either by improving the UI or by making it easier to debug parts of an application.

Extensions

All known extensions are listed in the Wiki. The wiki is community maintained. Please add new extensions if you built one or if you discovered one that's not listed.

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

Features

  • [x] launch debug adapter
  • [x] attach to debug adapter
  • [x] toggle breakpoints
  • [x] breakpoints with conditions
  • [x] logpoints
  • [x] set exception breakpoints
  • [x] step over, step into, step out
  • [x] step back, reverse continue
  • [x] Goto
  • [x] restart
  • [x] stop
  • [x] pause
  • [x] evaluate expressions
  • [x] REPL (incl. commands to show threads, frames and scopes)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].