v3.2.0
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
andstdout
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 forrequire('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
, namelydap_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 inmodules/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 insettings.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.
- Caveat: To set up your clients correctly, you should at least understand
- Since configuring dap requires non-trivial amount of work, we wrote several setups (for
C-family
languages,Go
andPython
) 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 CHANGELOG
s 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 toLspStop
/LspStart
). - Fixed input delay while typing (cmp-related issue).
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- chore(assets): put
dots.tutor
under the rtp by @Jint-lzxy in #837 - feat(catppuccin): add
nvim-treehopper
support by @Jint-lzxy in #841 - workaround(lsp-signature)!: fix input delay of nvim-cmp by @Jint-lzxy in #840
- perf(lualine): more efficient
has_git
checks by @Jint-lzxy in #838 - fix(ui): sync lazy's colorscheme with settings. by @ayamir in #849
- chore(plugins): update plugins with maintained fork. by @ayamir in #848
- migrate: install
rustfmt
fromrustup
(#842) by @CharlesChiuGit in #845 - fix(null-ls): specify
rustfmt
manually by @Jint-lzxy in #852 - feat(catppuccin): use upstream nvchad style by @nullchilly in #855
- feat(lspsaga): support v0.3 by @Jint-lzxy in #857
- feat(ui)!: improve user experience wrt transparent bg by @Jint-lzxy in #865
- perf!: consolidated updates to address performance issues by @Jint-lzxy in #868
- perf(pack): update
nvim-bufdel
lazy-loading events. by @CharlesChiuGit in #874 - feat(null-ls): usercmd
:NullLsToggle
to toggle sources by @Jint-lzxy in #872 - feat(lspsaga): enable titles for Nvim >=0.9 by @Jint-lzxy in #875
- fix(lspkind):
TypeParams
shall becolors.blue
(FNC) by @Jint-lzxy in #883 - chore(treesitter): cleanup by @Jint-lzxy in #891
- perf(lsp_signature): fix input delay by @Jint-lzxy in #890
- feat(lualine): add icon for PyEnv by @Jint-lzxy in #892
- fix(provider): leave provider specifications to user by @misumisumi in #887
- perf(lspsaga): align options with official doc and update config by @CharlesChiuGit in #898
- feat(dap)!: support integrated terminals (io in neovim) by @Jint-lzxy in #877
- fix(dap-keymap): properly create and destroy keymaps by @Jint-lzxy in #902
- fix(dap-keymap): simplify keymap implementation by @Jint-lzxy in #905
New Contributors
- @nullchilly made their first contribution in #855
- @misumisumi made their first contribution in #887
Full Changelog: v3.1.0...v3.2.0