All Projects → sebdah → Vim Delve

sebdah / Vim Delve

Licence: mit
Neovim / Vim integration for Delve

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Vim Delve

nvim-dap-python
An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
Stars: ✭ 70 (-80.28%)
Mutual labels:  debugging, neovim
Clockwork
Clockwork - php dev tools in your browser - server-side component
Stars: ✭ 4,076 (+1048.17%)
Mutual labels:  debugging
Dashboard Nvim
vim dashboard
Stars: ✭ 294 (-17.18%)
Mutual labels:  neovim
Rigel
🌌 Colorscheme for vim, terminal, vscode and slack - based on the star Rigel ✨.
Stars: ✭ 324 (-8.73%)
Mutual labels:  neovim
Python Manhole
Debugging manhole for python applications.
Stars: ✭ 306 (-13.8%)
Mutual labels:  debugging
Crashreporter
CrashReporter is a handy tool to capture app crashes and save them in a file.
Stars: ✭ 327 (-7.89%)
Mutual labels:  debugging
Dotfiles
Configuration files I use on my main machine
Stars: ✭ 299 (-15.77%)
Mutual labels:  neovim
Night Owl.vim
A 24bit dark Vim colorscheme based on sdras/night-owl-vscode-theme
Stars: ✭ 349 (-1.69%)
Mutual labels:  neovim
Hashp
A better "prn" for debugging
Stars: ✭ 342 (-3.66%)
Mutual labels:  debugging
Idenlib
idenLib - Library Function Identification [This project is not maintained anymore]
Stars: ✭ 322 (-9.3%)
Mutual labels:  debugging
Vim Dadbod Ui
Simple UI for https://github.com/tpope/vim-dadbod
Stars: ✭ 315 (-11.27%)
Mutual labels:  neovim
Vimpyter
Edit your Jupyter notebooks in Vim/Neovim
Stars: ✭ 308 (-13.24%)
Mutual labels:  neovim
Dotfiles
Sway acid dark
Stars: ✭ 330 (-7.04%)
Mutual labels:  neovim
Chromatica.nvim
Clang based syntax highlighting for Neovim
Stars: ✭ 306 (-13.8%)
Mutual labels:  neovim
Nvim Gdb
Neovim thin wrapper for GDB, LLDB, PDB/PDB++ and BashDB
Stars: ✭ 341 (-3.94%)
Mutual labels:  neovim
Vim Quantum
A Material color scheme for Vim.
Stars: ✭ 304 (-14.37%)
Mutual labels:  neovim
Vim
An ambitious theme for vim
Stars: ✭ 313 (-11.83%)
Mutual labels:  neovim
Debugging Stories
A collection of debugging stories. PRs welcome (sorry for the backlog) :-)
Stars: ✭ 3,380 (+852.11%)
Mutual labels:  debugging
Pwndbg
Exploit Development and Reverse Engineering with GDB Made Easy
Stars: ✭ 4,178 (+1076.9%)
Mutual labels:  debugging
Nvim Dap
Debug Adapter Protocol client implementation for Neovim (>= 0.5)
Stars: ✭ 326 (-8.17%)
Mutual labels:  neovim

vim-delve

This is a Neovim and Vim plugin for debugging Go applications using Delve. The project works a lot nicer on Neovim with the built-in terminal, so that's what we recommend. But it is decent to work with on Vim if you have Shougo/vimshell.vim installed.

If you like this project, please star it. If you feel even more generous, please follow @sebdah on Twitter!

Feature highlights

  • Go syntax highlighting of debug output (only Neovim)
  • Supports both breakpoints and tracepoints
  • Run the Delve debugger in a split view along side your code
  • Launches a Delve CLI, so all commands are supported in there
  • Leverages the Neovim terminal (only on Neovim)
  • Supports main as well as and non-main packages
  • Supports vimux optionally

animated example

Requirements

For Neovim and Vim 8, you really only need Delve to get started.

If you wish to use the vimux support, you'd need to have this plugin as well:

Requirements for Vim 7 and earlier

If you are on Vim versions older than 8, you'll also need the following two packages:

Installation

Using vim-plug, add the following to your init.vim if you're on Neovim or .vimrc, if you're on vim:

Plug 'sebdah/vim-delve'

Then reload neovim and run PlugInstall.

Commands

Command Comment
DlvAddBreakpoint Add a breakpoint at the current line.
DlvAddTracepoint Add a tracepoint at the current line.
DlvAttach <pid> [flags] Attach dlv to a running process.
DlvClearAll Clear all the breakpoints and tracepoints in the buffer.
DlvCore <bin> <dump> [flags] Debug core dumps using dlv core.
DlvConnect host:port [flags] Connect to a remote Delve server on the given host:port.
DlvDebug [flags] Run dlv debug for the current session. Use this to test main packages.
DlvExec <bin> [flags] Start dlv on a pre-built executable.
DlvRemoveBreakpoint Remove the breakpoint at the current line.
DlvRemoveTracepoint Remove the tracepoint at the current line.
DlvTest [flags] Run dlv test for the current session. Use this to debug non-main packages.
DlvToggleBreakpoint Convenience method to toggle (add or remove) a breakpoint at the current line.
DlvToggleTracepoint Convenience method to toggle (add or remove) a tracepoint at the current line.
DlvVersion Print the dlv version.

Configuration

Setting Default value Comment
g:delve_backend default Defines the backend to use with Delve. Please refer to the Delve documentation for details on what you should set this value to.
g:delve_sign_group delve Set the sign group.
g:delve_sign_priority 10 Set the sign priority.
g:delve_breakpoint_sign_highlight WarningMsg Set the color profile for the sign.
g:delve_breakpoint_sign Sets the sign to use to indicate breakpoints in the gutter.
g:delve_tracepoint_sign_highlight WarningMsg Set the color profile for the sign.
g:delve_tracepoint_sign Sets the sign to use to indicate tracepoints in the gutter.
g:delve_cache_path $HOME . "/.cache/" . v:progname . "/vim-delve" The path to where the instructions file for dlv is stored.
g:delve_instructions_file g:delve_cache_path ."/". getpid() .".". localtime() The instructions file name.
g:delve_enable_syntax_highlighting 1 Turn syntax highlighting in the dlv output on or off.
g:delve_new_command vnew Control if dlv should be opened in a vertical (vnew), horizontal (new) or full screen window (enew).
g:delve_use_vimux 0 Sets whether to use benmills/vimux].
g:delve_project_root Override the path to use for setting breakpoints/tracepoints.

The settings above can be set in your init.vim like this:

let g:delve_backend = "native"

Frequently Asked Questions

Got an error about lldb-server on Mac OS X

If you get a message like the one below on Mac OS X, try setting g:delve_backend to native.

could not launch process: exec: "lldb-server": executa ble file not found in $PATH

Example: let g:delve_backend = "native"

Contributing to vim-delve

Contributions to the project is most welcome. I'd be happy to review and merge pull requests. If you need any directions in your implementation we can always discuss that too.

What can I do to help?

There are many things that this project need, but some examples could be:

  • I don't know if this works on Windows. If you could try it out and or make it work that would be great.
  • I haven't tested the project thoroughly on Vim, if you could do that it'd be wonderful.
  • Answer questions from users
  • Or implement new features

License

MIT Licensed software.

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].