Skip to content

v3.2.0

Compare
Choose a tag to compare
@Jint-lzxy Jint-lzxy released this 28 Jul 09:57
· 284 commits to main since this release
372d3c9

Make debugging in Neovim great again

This is just a maintenance release w/ regular housekeeping and bug fixes. But there's one thing I want to mention here - improved debugging experience. (We assume you have already read and understood :h dap.txt).

  • We now support integrated terminals right inside neovim! This addresses many previous issues like #416, #440, and #592. To use the terminal, move your cursor to the buffer named [dap-terminal] <profile-name> (bottom left corner), enter insert mode and use that like a normal terminal (stdin and stdout are connected to that buffer if supported).
    • Note that since delve currently does NOT support IO redirection, Go programs need to be explicitly attached to an external debugger to directly interact with delve. (Details: mfussenegger/nvim-dap#987)
  • While debugging, K (responsible for require('dapui').eval(), evaluate expression under cursor/selection) is set as a session-local keymap (mode: n|v) when a session initiates.
  • There's a new entry in settings.lua, namely dap_deps. This is almost similar to the two above, mainly providing a centralized place to manage your debug adaptors (clients). They'll be installed and configured during bootstrap (unless the corresponding user config, with the same name, is provided in modules/configs/tool/dap/clients/). Refer to the following for more information.
  • Users may supply their customized configurations in modules/configs/tool/dap/clients/. The fname *.lua MUST match the name in settings.lua. Check this link for all supported DAPs, and take a look at other files in this folder for examples.
    • Caveat: To set up your clients correctly, you should at least understand :h dap.txt or things may work in unexpected ways. Simply copying other configs is usually not enough.
  • Since configuring dap requires non-trivial amount of work, we wrote several setups (for C-family languages, Go and Python) that work out-of-the-box and should cover most use cases. If you have any questions regarding setting up your debug client, feel free to open an issue for this.

Miscallaneous
Due to the rapid plugin iterations, these changes are made. Refer to upstream CHANGELOGs for more information.

  • Due to upstream policy changes, please make sure you have a Rust Toolchain installed via rustup. Otherwise, unexpected things may happen. More info: https://www.rust-lang.org/tools/install.
  • There's a new usercmd :NullLsToggle to toggle Null-ls sources (Similar to LspStop/LspStart).
  • Fixed input delay while typing (cmp-related issue).

Have a look at the "What's Changed" section for minor fixes.

What's Changed

New Contributors

Full Changelog: v3.1.0...v3.2.0