Releases: ayamir/nvimdots
v4.2.0
Summary
This release is mainly for some siginificant features and enhancement, including AI chat and find with fzf to speed up.
New features
- We introduced the AI chat functionality with codecompanion.nvim and openrouter, details about how to use it can be found in
lua/core/settings.lua. - We supported using
fzf-luato search files, patterns and symbols to speed up for huge repo. Of course,telescopeis enough for most cases, so we make the default search backend astelescope. - We redesigned the editor ui layout. Specifically, filetree and symbols outline are both on the left side now. AI chat sidebar will be shown on the right side.
Other changes
- Lsp progress will be shown in the lualine to avoid potenial occlusion of fidget.
- Native lsp api is used to configure lsp servers (instead of rely on
mason). - Stop clone submodule of
rainbow-delimiters.nvimto avoid installation failed.
Keymap changes
<leader>frand<leader>fRare used to resume last search oftelescopeandfzf-luarespectively to save time.<leader>cs,<leader>ck,<leader>ccand<leader>caare added for codecompanion related functions.

What's Changed
- fix: remove edgy.nvim to keep window size when open quickfix. by @ayamir in #1458
- refactor(ui): show lsp progress in lualine. by @ayamir in #1459
- feat: combine outline and filetree to save space. by @ayamir in #1464
- feat: add keymap for resume telescope last search. by @ayamir in #1468
- fix: remove dotnet and deprecated option by @misumisumi in #1465
- refactor(mason): support for mason and mason-lspconfig v2 by @misumisumi in #1466
- refactor: introduce fzf-lua as an alternative of telescope. by @ayamir in #1471
- fixup(#1466): load lsp config with proper event. by @ayamir in #1472
- fix: install rainbow-delimiters.nvim without cloning submodules. by @Lraxer in #1476
- feat: add codecompanion to provide AI chat functionality. by @ayamir in #1462
Full Changelog: v4.1.0...v4.2.0
v4.1.0
Summary
This release is for Neovim 0.11 stable with some bugs fixes and new features. Besides, we make 0.11 as the default branch which will make migration for newest neovim explicitly. Here are a few notable ones:
Bug fixes
- The completion entries from
nvim-lspare deduplicated. - The fmt function from
clang_formatis disabled forjavafiles. neodimis removed due to bugs sometimes occured.- Check
vim.g:colors_namebefore gen highlight groups in case of bugs when using other colorschemes. - Merge user customized config with predefined by default.
- Avoid
bufferlinenot load when open files bynvim-treeandtelescope. - Make selected region search in visual mode works.
- Make user config can be searched in telescope.
- Check nil in
on_stderrcallback for pylsp plugins install process. - Fix incorrect background color for
lualinewhen changing colorscheme dynamically.
New features
render-markdown.nvimis introduced for better native markdown rendering support, which also takes effect for lsp hover doc.edgy.nvimis introduced to manger ui layout.tiny-inline-diagnostics.nvimis introduced for better display for lsp diagnostics messages and the setting entry fordiagnostics_virtual_textis removed.nvim-spectreis replaced bygrug-far.nvimfor better user experience.local-highlight.nvimis replaced bymini.cursorwordfor more simplicity function.bigfiles.nvimis replaced byfaster.nvimfor faster big file open speed.<leader>lhis set to toggle lsp inlay hints.<leader>lvis set to toggle lsp diagnostics messages.<A-f>is set to toggle format on save function.- Support
virtual_linesfor diagnostics display by entry calleddiagnostics_virtual_linesinsettings.lua. - Support user customized snippets.
- Support omnifunc fuzzy matching introduced from neovim
0.11.
Other changes
- The install scripts no longer support Neovim 0.8, and that branch is no longer maintained. The 0.9 branch is also deprecated.
What's Changed
- docs: update startup time. by @ayamir in #1318
- feat(cmp): deduplicate results from
nvim-lspby @Jint-lzxy in #1321 - feat(which-key)!: support
v3by @Jint-lzxy in #1324 - fix(which-key): config option
modeshas been deprecated by @Jint-lzxy in #1326 - feat(lualine): always display BOM as part of the filetype by @Jint-lzxy in #1327
- feat: add
render-markdown.nvimfor md workflow by @CharlesChiuGit in #1336 - fix(core): disable rtp plugins via
lazy.nvim, #1339 by @CharlesChiuGit in #1340 - feat(persisted): update for recent code rewrite by @Jint-lzxy in #1338
- fix: some vim plugins get disabled by mistake by @Jint-lzxy in #1341
- feat(lsp):
tsserverrenamed tots_lsby @Jint-lzxy in #1346 - feat(clang_format): disable formatting for all Java files by @Jint-lzxy in #1347
- fix(pack): inconsistent docstring by @Jint-lzxy in #1348
- fix(core): correct GUI detection post v0.10.2 by @Jint-lzxy in #1349
- feat(plugins)!: Remove neodim by @Jint-lzxy in #1361
- fix(dropbar): remove deprecated
icons.kinds.use_deviconsby @Jint-lzxy in #1360 - chores: rearrange wm keymaps by @AngelontheRoad in #1363
- Add keymaps to toggle lsp inlay hints and virtual text by @AngelontheRoad in #1364
- feat: auto compile before debug (#1367). by @ayamir in #1368
- fix: check if
vim.g.colors_nameis nil. by @ayamir in #1369 - fix: supports getting of user-defined color palettes by @misumisumi in #1371
- support overriding
settings.gui_configwith an empty table by @Endvour in #1373 - fix: client filter argument typo by @AngelontheRoad in #1374
- fix: merge user customized config with predefined. by @ayamir in #1376
- feat: add Format command and mapping (#1378). by @ayamir in #1379
- fix(utils): hl-Statusline retrieval issue in toggleterm by @Jint-lzxy in #1381
- fix: avoid bufferline not appear when open file by telescope or nvim-tree. by @ayamir in #1383
- feat: support user customized snippets. by @ayamir in #1386
- fix: search selection pattern under visual mode. by @ayamir in #1390
- fix: search user config when cwd is nvim config path. by @ayamir in #1388
- feat: use edgy.nvim to define window layout. by @ayamir in #1393
- fix: support overwrite when merge config. by @ayamir in #1394
- feat(keymap): improve structure and documentations by @Jint-lzxy in #1395
- fix(keymap): apply follow-up changes to related files by @Jint-lzxy in #1396
- fix(utils): add nil check for
g:colors_nameby @Jint-lzxy in #1399 - fix(lsp): only merge configs when absolutely needed by @Jint-lzxy in #1400
- chore(user_template): create an empty
snipsdir by default by @Jint-lzxy in #1402 - chore(keymap.fmt): replace manual map_cmd with map_cr by @Jint-lzxy in #1401
- chore(keymap.live-grep): simplify by @Jint-lzxy in #1403
- fix(keymaps): update
toggle displayandgitsignskeymaps by @AngelontheRoad in #1405 - fix(lsp.servers): broken documentation links by @Jint-lzxy in #1408
- chore(edgy): cleanup by @Jint-lzxy in #1407
- fix(gitsigns.keymap): update functions and descriptions by @Jint-lzxy in #1406
- fix(keymap.helpers): improve
_toggle*helper functions by @Jint-lzxy in #1397 - fix(keymap.ui): update gitsign keymaps by @CharlesChiuGit in #1411
- chore(catppuccin): clean up by @CharlesChiuGit in #1413
- feat(grug-far): replace
nvim-spectrewithgrug-far.nvimby @CharlesChiuGit in #1412 - Revert "feat: auto compile before debug (#1367)." by @Jint-lzxy in #1398
- chore(editor.local-highlight): disable animation by @CharlesChiuGit in #1421
- fix: update gopls config. by @ayamir in #1418
- chore(gopls): format with stylua by @Jint-lzxy in #1427
- chore(keymap): clean up legacy configs & rename toggle function by @Jint-lzxy in #1426
- chore(matchup): enable some vim-matchup features by @Jint-lzxy in #1429
- fix(mason): add nil check to on_stderr callback in install-pylsp-plugins by @Jint-lzxy in #1431
- feat(plugins): replace local-highlight with mini.cursorword by @Jint-lzxy in #1425
- feat(dropbar): replace
pathwith custom source by @Jint-lzxy in #1430 - fix(crates): remove invalid options. by @ayamir in #1432
- feat(bigfile): use faster.nvim to replace bigfile.nvim. by @ayamir in #1436
- Revert "fix: support overwrite when merge config. (#1394)" by @Jint-lzxy in #1404
- feat(options): make omnifunc support fuzzy matching by @Jint-lzxy in #1441
- feat(treesitter): remove performance limitations by @Jint-lzxy in #1442
- fix(lualine): resolve background color defaulting issue by @Jint-lzxy in #1443
- fix(keymap): prevent new builtins from interfering with our keymap by @Jint-lzxy in #1444
- feat: support virtual_line and adapt to the latest diagnostics interface. by @ayamir in #1447
- fix: toggle inlay hints correctly. by @ayamir in #1449
- fix: replace project.nvim with newest apis. by @ayamir in #1450
- feat: use tiny inline diagnostics to manage virtual text. by @ayamir in #1452
- fix: support for new branch name. by @ayamir in #1454
New Contributors
Full Changelog: v4.0.0...v4.1.0
v4.0.0
SUMMARY
This release is not backwards-compatible since Neovim 0.10 has been officially released. While many changes have occurred since the last release, here are a few notable ones:
- The license has officially been changed to the BSD 3-Clause License. It allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it.
- The install scripts no longer support Neovim 0.7, and that branch is no longer maintained. The 0.8 branch is also deprecated.
- The LSP inlay hints feature has been implemented and is enabled by default. Disable it in your user settings by specifying
settings["lsp_inlayhints"] = false. - The wiki pages and
dotstutorhave been significantly updated. Check them out! - NixOS support has been extensively refactored. Refer to the wiki page and relevant PRs for details.
- Performance restrictions for Treesitter have been relaxed, as incremental parsing is now supported in 0.10. Please kindly report any performance issues encountered, as testing has been limited to a few devices.
- The built-in completion engine has updated its completion parameters. See #1279 for details.
- cmp-buffer will now provide completion results from the texts in all opened buffers.
- Go development experience has been greatly improved. See #1226 for details.
- Horizontal terminals will no longer obscure nvim-tree.
<C-e>for open-in-place inside nvim-tree has been disabled.- nvim-cmp will no longer pre-select any items, and the selected candidate won't be completed by default until you've accepted it (e.g., by pressing
<CR>). - trouble.nvim
v3is supported. - The icon library has been overhauled to support dropbar.nvim.
- indent-blankline.nvim now provides support on a per-language basis. See #1283 for details.
- LuaSnip now supports ECMAScript Regexes. Check the wiki for details.
- Format timeout is now configurable using
settings["format_timeout"]. - advanced-git-search.nvim and search.nvim have been introduced, while nvim-colorizer.lua has been replaced by nvim-highlight-colors. Check out
:Tutor dotsfor introductory tutorials on them!
Caution
The keymaps for Telescope have been changed. See #1303 (comment) for the rationale behind this.
Check out the "What's Changed" section and the tracking issue for minor updates.
What's Changed
- feat: implement inlay virtual text for rust and go by @ClSlaid in #759
- workaroud for watchfile problem by @fecet in #871
- chore(neodim): remove pin commit (#1139 #1138) by @CharlesChiuGit in #1142
- revert: reintroduce
diffviewandwilderby @ayamir in #1216 - chore: cleanup and minor syntax improvements by @Jint-lzxy in #1217
- feat(cmp): more completion candidates from opened buffers. by @mjkx5 in #1219
- chore(plugins): tidying up by @Jint-lzxy in #1221
- fix: use init for vim plugins config. by @ayamir in #1222
- docs: mention the experimental nature of the 0.10 branch by @ayamir in #1215
- fix(todo-comment): add missing keywords by @CharlesChiuGit in #1225
- fix(options): remove options managed by
vim-sleuthby @Jint-lzxy in #1229 - fix(rustaceanvim): use
initfor its config by @Jint-lzxy in #1231 - feat!: improve go development experience by @ayamir in #1226
- fix: inlay_hint error by @Mythos-404 in #1236
- fix(lualine): disable default separators for custom separator by @Jint-lzxy in #1233
- fix: prevent horizontal terminal from obscuring
nvim-treeby @ayamir in #1237 - pref: disable
<C-e>for open-in-place inside nvim-tree by @ayamir in #1238 - fix(lua_ls): disable diagnostics for undefined-field by @ayamir in #1239
- feat(catppuccin): remove all styles of
@propertyby @Jint-lzxy in #1240 - Improve nixos by @misumisumi in #1212
- fix(dashboard_image): replace predefined dashboard_image with user defined image instead of extending it by @csyJoy in #1244
- chore: minor patches by @CharlesChiuGit in #1248
- fix: set cmp preselect to none. by @ayamir in #1247
- Fix/nixos by @misumisumi in #1250
- Fixed 'direrctory' typo in UI. by @Ohkthx in #1254
- fix: set rustaceanvim version to ^4 by @mjkx5 in #1261
- feat(events): make changes only locally for FileType autocmds by @Jint-lzxy in #1263
- chore: update install scripts for nvim 0.10 stable. by @ayamir in #1271
- Update crates.nvim option name from
srctocompletionby @fioncat in #1272 - chore: replace deprecated apis by @ayamir in #1266
- fix toggleterm auto-exit on Windows by @CharlesChiuGit in #1267
- fix: utilize
ts-contextinglancepreview window by @mjkx5 in #1265 - Chore: unify the way when get option by @ayamir in #1269
- fix(0.10): minor cleanup by @Jint-lzxy in #1276
- feat(scripts): update frequently used functions by @Jint-lzxy in #1277
- feat(docs): support v0.10 by @Jint-lzxy in #1278
- feat: support new options by @Jint-lzxy in #1279
- feat(trouble)!: v3 support by @Jint-lzxy in #1281
- refactor: overhaul the icon library by @Jint-lzxy in #1282
- feat(lsp): correctly configure diagnostic-signs by @Jint-lzxy in #1280
- feat: disable more plugins for RO (buf|file)types by @Jint-lzxy in #1284
- fix(alpha): cannot cast
stringtointegerfor winheight by @Jint-lzxy in #1285 - feat(ibl): support per-language indent config by @Jint-lzxy in #1287
- feat(ibl): more language nodes by @Jint-lzxy in #1288
- feat(luasnip): support ECMAScript regexes by @Jint-lzxy in #1291
- feat(core): use the lua API to set options by @Jint-lzxy in #1292
- feat: include several new plugins by @CharlesChiuGit in #1235
- feat: better way to check if the (T|G)UI is running by @Jint-lzxy in #1297
- chore(global): cleanup legacy code by @Jint-lzxy in #1296
- feat: reduce the use of direct syscalls by @Jint-lzxy in #1294
- fix(events): avoid name clashes by @Jint-lzxy in #1295
- Feat/telescope collections keymaps by @CharlesChiuGit in #1299
- fix(gitsigns): upstream breaking changes by @Jint-lzxy in #1300
- fix(core): missing leading path separator by @Jint-lzxy in #1301
- feat(treesitter): lessened performance restrictions by @Jint-lzxy in #1305
- feat(nixos): add mergeLazyLock option by @misumisumi in #1310
- fix: cmp snippets source selecting issue by @CharlesChiuGit in #1309
- fix(cmp): occasional inability to select completion items by @Jint-lzxy in #1315
- feat: credit all collaborators as copyright holders by @Jint-lzxy in https://github.co...
v3.6.0
SUMMARY
This is a backward-incompatible release. We've fixed some known issues, improved workflow, and refactored our plugins including removing, replacing, and introducing new plugins to make nvimdots stronger. Of course, you can add the removed plugins back freely for your own config if you depend on them.
- Plugins Modifications
- Removed (infrequently used, or overkilled, or long-time-no-updates)
rainbowhxch/accelerated-jk.nvimmax397574/better-escape.nvimsindrets/diffview.nvimabecodes/tabout.nvimedluffy/specs.nvim
- Replaced (more powerful, or higher performance)
junegunn/vim-easy-aligntoechasnovski/mini.alignRRethy/vim-illuminatetotzachar/local-highlight.nvimgelguy/wilder.nvimtohrsh7th/cmp-cmdline
- Added (more intuitive, or more extensive)
folke/neoconf.nvimfor pre project customlspconfigurationtpope/vim-sleuthfor smart tab sizenvim-pack/nvim-spectrefor project-level plain text search and replacemrjones2014/smart-splits.nvimfor smart window split and resize working with terminal multiplexers (kitty, wezterm, and tmux)folke/todo-comments.nvimfor highlight of TODO, NOTE, etcnvim-neotest/nvim-niofor dependency ofnvim-dap-ui
- Removed (infrequently used, or overkilled, or long-time-no-updates)
- Keymaps Modifications
n|<A-j>andn|<A-k>are mapped to resize window vertically.n|<A-h>andn|<A-l>are mapped to resize window horizontally.n|<A-i>andn|<A-o>are mapped to switch opened buffers/tabs.n|<A-S-i>andn|<A-S-o>are mapped to move opened buffers/tabs.n|<leader>Ss,n|<leader>Sp,v|<leader>Spandn|<leader>Sfare mapped to project-level text search and replace, you can use<C-p>to check the detailed descriptions.n|<leader>Wh,n|<leader>Wj,n|<leader>Wkandn|<leader>Wlare mapped to move splitted windows.n|<leader>ldton|<leader>lxforlsp: Line diagnostic.n|<leader>citon|gciforlsp: Show incoming calls.n|<leader>coton|gcoforlsp: Show outcoming calls.n|<leader>ccton|<leader>Cforjump: Goto two chars.n|<leader>Gton|<leader>gGforgit: Open git-fugitive.n|<leader>gton|<leader>ggforgit: Open lazygit.n|<leader>trton|<leader>llforlsp: Show lsp references.n|<leader>tdton|<leader>ldforlsp: Show document diagnostics.n|<leader>twton|<leader>lwforlsp: Show workspace diagnostics.n|<leader>tqton|<leader>lqforlsp: Show quickfix list.n|<leader>tlton|<leader>lLforlsp: Show loclist.n|<leader>fnton|<leader>bnforbuffer: New.- All of
gitsigns.nvimrelated mappings which begin with<leader>hare changed to begin with<leader>g. n|<leader>gd,n|<leader>gD,n|<A-[>,n|<A-]>,n|<A-;>,n|<A-'>,n|gea,n|<A-S-j>,n|<A-S-k>,i|<A-l>andi|<A-h>are unmapped, they are free now!
- You can set the
dashboard_imageeasily inlua/user/settings.luaand check the details in wiki. - You can search selected content using
v|<leader>fsin telescope. - You can see icon and description text for different keymap prefix groups (git, fuzzy find, debug, etc).
- All opened buffers share the same
lualinewhich makes ui more concise and clearer. - The install scripts are supporting 0.10 branch now.
debugpyworks on windows properly now.
Thanks for @Jint-lzxy, @CharlesChiuGit, @aarnphm, @ClSlaid, @Cyberczy, @csyJoy, @Cheny-chui for repo maintenance and enhancement!
Thanks for users who made feedback and joined our discussions!
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- feat(script): skip dependency installation by default by @Jint-lzxy in #1114
- fix(cmp): don't auto select the first completion candidate by @ayamir in #1118
- fix: input delay in terminal mode by @ayamir in #1119
- feat: make startup image configurable in
settings.lua. by @ayamir in #1123 - fix(sniprun): more lazy load cmds by @Jint-lzxy in #1130
- chore(catppuccin): split
dapanddap_uiintegrations by @Jint-lzxy in #1129 - Update dots.tutor for macOS key. by @Cheny-chui in #1133
- fix(bufferline): use
BufDel %dinstead ofbdelete! %dby @Cyberczy in #1136 - patch: remove rust-tools.nvim by @ClSlaid in #1140
- fix(bufferline): avoid unnecessary user interaction by @Jint-lzxy in #1143
- fix(rust): respect user configs by @Jint-lzxy in #1145
- fix(keymap): never map
<leader>to<Nop>by @Jint-lzxy in #1146 - fix(telescope): remove telescope folding hack since PR with fix has been merged upstream by @Cyberczy in #1150
- fix(rust): follow upstream changes by @Jint-lzxy in #1151
- fix(utils): respect
o:backgroundby @Jint-lzxy in #1152 - Register readable prefix for grouped keymap settings by @Cyberczy in #1134
- chore(ci): bump deps versions by @Cyberczy in #1159
- fix(scrollview): omit the
scrollview_prefix by @Cyberczy in #1162 - feat: make diffview configurable. by @ayamir in #1170
- chore(ci): bump deps versions by @Cyberczy in #1173
- feat(ci): use dependabot to bump deps versions by @Cyberczy in #1174
- Revert "feat(ci): use dependabot to bump deps versions (#1174)" by @ayamir in #1176
- feat: search with selection text. by @ayamir in #1175
- fix: eliminate warning in formatting.lua. by @ayamir in #1180
- feat!: pin
none-lsuntil upstream deprecation is finished by @CharlesChiuGit in #1184 - chore(none-ls): add option to suppress warning by @CharlesChiuGit in #1186
- chore(none-ls): pin
none-lsto the correct commit to allows the suppression option to work properly by @csyJoy in #1187 - fix: deprecate rustfmt for none-ls. by @ayamir in #1190
- feat: support nightly branch for install script. by @ayamir in #1192
- feat(ui): enable global statusline, disable all extension. by @ayamir in #1197
- fix: make debugpy work normally on windows. by @ayamir in #1205
- refactor(plugins): iterate plugins by @ayamir in #1198
New Contributors
- @Cheny-chui made their first contribution in #1133
Full Changelog: v3.5.0...v3.6.0
v3.5.0
SUMMARY
This is a maintenance release. We've fixed some known issues, adjusted some plugins based on upstream changes, and added several new features. Among all the commits, the major changes are:
- The previous version of telescope-frecency.nvim used a SQLite3 database to store timestamps and file records. But now it has switched to using native Lua bytecode to store them, so you can now completely remove the frecency SQLite3 database (default located at
vim.fn.stdpath("data") .. "/file_frecency.sqlite3") and even SQLite3 itself, if you wish. - The
Neovimicon has been added to the icons library (and can be accessed viarequire("modules.utils.icons").get("misc").Neovim). Please make sure you have installed NF >v3.1.0 to display this icon correctly. - We now support formatting only the changed lines (defined by your version control system). Please check the settings option
format_modifications_onlyfor more information. - You can now define GUI and Neovide preferences separately under the user directory (a.k.a.
lua/user/settings.lua). Please see their corresponding entries for more information. - clever-f.vim has been replaced with flash.nvim. Please see PR #926 and its brief annotation for more information.
- symbols-outline.nvim has been replaced with aerial.nvim. Please see PR #1059 and issue #1058 for more information, as well as the motivation for doing so.
- The legacy (vim) syntax engine has been completely disabled, as Treesitter can now do everything the old regex colorizer did (#1062).
- We now support fidget.nvim(v2).
- PR #1091 reintroduced
nvim-bqf. :Telescope colorschemenow supports real-time preview of the selected colorscheme.
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- fix(ibl): remove top level scope definition (
chunk) by @Jint-lzxy in #1024 - fixup!: disable sqlite explicitly to eliminate warning. by @ayamir in #1027
- feat: support formatting changed lines only by @ayamir in #1028
- fix(keymap): use
<C-w>with hjkl to navigate undertmode. by @ayamir in #1029 - fix(pack): erroneous searcher for user configs by @Jint-lzxy in #1032
- feat: customized
neovideandguiconfig by @ayamir in #1033 - chore(gui-settings): more annotations and minor cleanup by @Jint-lzxy in #1035
- fix(lualine): automatically load theme for the active colorscheme by @ayamir in #1031
- fix: check
type(value)==tablebefore recursion. by @ayamir in #1039 - fix(keymap): make all completion-related keymaps silent by @Jint-lzxy in #1046
- fix(scripts): typo by @Jint-lzxy in #1045
- feat(plugins): add
flash.nvimto replaceclever-f.vimby @YuCao16 in #926 - fix: auto apply formatter args set in
user/configs/formatters. by @ayamir in #1051 - fix(neovide): neovide is not set up correctly because of
ipairsby @csyJoy in #1052 - chore(core): correct some ambiguous comments by @Jint-lzxy in #1054
- docs(lspsaga): fix broken links by @Jint-lzxy in #1055
- refactor: use aerial to provide outline. by @ayamir in #1059
- feat(treesitter): use ts-indent and disable legacy syntax engine by @Jint-lzxy in #1062
- feat(fidget)!: support v2 by @Jint-lzxy in #1068
- feat(ts-context-commentstring)!: setup as a plugin by @Jint-lzxy in #1067
- feat(icon): use
neovimicon in nerdfont v3.1.0 by @CharlesChiuGit in #1072 - perf(ts-context): limit
max_linesto 3 by @Jint-lzxy in #1075 - feat(icons): add
Neovim(U+E6AE) by @Jint-lzxy in #1082 - feat(telescope): support live preview of currently selected colorscheme by @Cyberczy in #1085
- feat(plugins): migrate from
null-lstonone-lsby @Jint-lzxy in #1088 - fix(rainbow-delimiters): ping commit until author fix it. ( #1092 ) by @CharlesChiuGit in #1093
- feat(plugins): add
nvim-bqfby @Jint-lzxy in #1091 - chore(rainbow-delimiters): update to latest master by @CharlesChiuGit in #1096
New Contributors
Full Changelog: v3.4.1...v3.5.0
v3.4.1
SUMMARY
This is a maintenance release.
- You can now define treesitter parsers that will be installed during bootstrap in user/
settings.lua. - Removed
sqlite.lua(telescope-frecency). Please follow the documentation if you encounter issues when migrating the database. - Added gofumpt and goimports (for Go) to the list of general-purpose servers that will be installed during bootstrap.
- Some preset colorschemes have been removed. (#993)
- toggleterm's keymaps now respect
v:count. - Supported
indent-blanklinev3.
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- fix(install): change user settings during installation by @ayamir in 98e020b
- fix(indent-blankline): error caused by BufReadPost event by @ayamir in 0ce5f35
- fix: change the preset
lua/usertolua/user_templateby @popjdh in #986 - chore(CI): bump deps versions by @Jint-lzxy in #987
- fix(scripts): consider extreme cases by @Jint-lzxy in #988
- chore(settings): move the config of treesitter to core.settings by @justforlxz in #990
- chore: keep code styles and descriptions consistent by @Jint-lzxy in #991
- feat(plugins)!: remove some preset colorschemes by @ayamir in #993
- feat(null_ls_deps): add
gofumptandgoplsby @cherrot in #996 - fix(neodim): pin to v2.0 by @Jint-lzxy in #1003
- fix(ToggleTerm/keymap): respect
v:countby @ayamir in #1012 - feat(ibl): support
indent-blanklinev3 by @CharlesChiuGit in #1011 - fix(nixos): Add go lang. by @misumisumi in #1016
- refactor(telescope-frecency)!: remove support for
sqlite.luaby @CharlesChiuGit in #1019 - chore(CI): bump deps versions by @Jint-lzxy in #1020
New Contributors
- @popjdh made their first contribution in #986
- @justforlxz made their first contribution in #990
Full Changelog: v3.4.0...v3.4.1
v3.4.0
SUMMARY
This release mainly aimed at enhancing user customization experience. The description here is rather concise because you can find almost everything you would like to know (with examples) in Wiki: Usage. Feel free to open an issue if you need help!
What's Changed
- refactor (user custom): Proposal for enhancing user customization experience by @misumisumi in #931
- fix(utils): Changed to be able to refer to default settings proposed … by @misumisumi in #973
Full Changelog: v3.3.0...v3.4.0
v3.3.0
❄️ NixOS Support
This update implemented support for NixOS (and other compatible systems as well, via home-manager). Please have a look at the new wiki page (Wiki: NixOS Support) for more information. For those "technical details", some related issues/PRs may be helpful: #886 #906 and #908.
A big Thanks to @misumisumi, @aarnphm and @vollowx for making this happen!
Miscallaneous
Plugin & Setting updates.
• Added symbols-outline.nvim to replace Lspsaga outline (for better UI consistency and avoid too fast plugin iterations);
• Added glance.nvim to replace Lspsaga *_definitions (same as above).
• Implemented a switch to conveniently control copilot inside settings.lua (#930).
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- fix(dap-keymap): local-mapping issues on nvim nightly by @Jint-lzxy in #907
- fix(rainbow_delims): follow healthcheck suggestions by @Jint-lzxy in #911
- fix: only disable autoclose for specific filetypes by @ayamir in #916
- fix(toggleterm):
start_in_insertnot working by @Jint-lzxy in #919 - bufferline: disable enforce_regular_tabs to fix unique name not working by @YuCao16 in #925
- feat(plugins): add
symbols-outline.nvimby @Jint-lzxy in #921 - feat(plugins): add
Glance.nvimby @Jint-lzxy in #920 - revert(autoclose): temporal fix for regression introduced by #916 by @Jint-lzxy in #935
- fix(rainbow_delims): specify thresholds for all fts by @Jint-lzxy in #934
- feat: add setting for copilot enable or not. by @ayamir in #930
- feat: multi window support for hop by @fecet in #936
- fix(cmp): add missing category
latex_symbolsby @Jint-lzxy in #942 - feat(lspsaga): make codeaction effective linewise by @Jint-lzxy in #943
- feat(rust): introduce autoclose for operator< by @Jint-lzxy in #944
- feat!: implement NixOS support by @misumisumi in #906
New Contributors
Full Changelog: v3.2.0...v3.3.0
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 (stdinandstdoutare 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*.luaMUST 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.txtor 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-familylanguages,GoandPython) 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
:NullLsToggleto 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.tutorunder the rtp by @Jint-lzxy in #837 - feat(catppuccin): add
nvim-treehoppersupport by @Jint-lzxy in #841 - workaround(lsp-signature)!: fix input delay of nvim-cmp by @Jint-lzxy in #840
- perf(lualine): more efficient
has_gitchecks 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
rustfmtfromrustup(#842) by @CharlesChiuGit in #845 - fix(null-ls): specify
rustfmtmanually 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-bufdellazy-loading events. by @CharlesChiuGit in #874 - feat(null-ls): usercmd
:NullLsToggleto toggle sources by @Jint-lzxy in #872 - feat(lspsaga): enable titles for Nvim >=0.9 by @Jint-lzxy in #875
- fix(lspkind):
TypeParamsshall 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
v3.1.0
SUMMARY
This release mainly brings about a (new) tidy and unified UI while maintaining backward compatibility. (List of changes made: #698)
In addition to this, other changes include:
- Improved user experience for the DAPs (#777).
- The default
PythonLSP has changed frompyrighttopylsp. When installingpylspfor the first time, we will also install its dependencies, so do NOT exitnvimuntil the installation is successful.pyrightcan be removed fromMasonnow. - Replaced rmagatti/auto-session with olimorris/persisted.nvim to provide more powerful session management.
- Enabled the
ghost_textfeature of nvim-cmp. - Enabled signs support for nvim-scrollview (#808).
FormatTogglehas its own keymap! -<A-f>.settings.lua:- Now format disabled dirs may contain |regexps| (#813);
- Notification after format is now configurable. Entry for this:
format_notify; - Live diagnostics are now configurable. Entries for this:
diagnostics_virtual_textanddiagnostics_level.
- All executables will now be searched on
$PATH. However, using full path(s) is still recommended and is potentially faster. - Now LSP-related keymaps will only be registered during
LspAttach. - Reorganized custom comparators for nvim-cmp to provide a well-sorted completion list. (nvim-cmp, #746)
- Maximum number of stacked messages for fidget is now limited to
3for each registered server.
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- fix(lsp): set default python lsp to
pylsp, avoid high CPU load caused byjedi. by @ayamir in #724 - fix(auto-session): fix command names by @Jint-lzxy in #728
- feat(cmp): enable
experimental.ghost_textby @Jint-lzxy in #733 - chore(keymap): lsp keymap should effective at
LspAttachevent by @Groveer in #735 - fix(catppuccin): use transparent background for
TroubleNormalby @Groveer in #737 - feat(neodim): support v2 by @Jint-lzxy in #739
- chore(wsl): use Windows native way to yank and paste. by @ayamir in #736
- feat!: use executables on
$PATHby @Groveer in #738 - feat(cmp): reimplement comparators for completion entries by @ayamir in #746
- feat: load
SessionLensmanually via user command by @ayamir in #745 - fix(vim_fn): check return values of
vim.fnagainst 1 by @Jint-lzxy in #747 - pref(keymap): move gitsigns's keymap to
keymap/ui.luaby @Groveer in #748 - feat: add
FormatTogglekeymap (#750) by @Groveer in #751 - feat: make the notification after format configurable. by @ayamir in #754
- fix(neodim): prevent
blend_color=NONEwhen set trans_bg to true, close #758 by @CharlesChiuGit in #760 - fix: adapt to cmp interface change, set max_view_entries instead. by @ayamir in #768
- fix: merge shada after VimLeave, #612. by @ayamir in #769
- feat: set default config for pylsp. by @ayamir in #770
- feat(ui)!: unify UI components: cmp, wilder, floats by @Jint-lzxy in #772
- chore(lsp): set lower pylsp severity by @fecet in #774
- chore(pylsp): cleanup by @Jint-lzxy in #775
- feat: make live diagnostics level configurable by @ayamir in #776
- fix: correct path for pylsp plugins on windows, close #778. by @ayamir in #779
- perf: find path efficiently for clangd argus, close #765. by @ayamir in #780
- fix(lsp): inform user for pylsp plugin install failures by @Jint-lzxy in #782
- pref(cmp): reduce max entry count to 150 by @Jint-lzxy in #785
- feat(ui)!: unify UI component
telescopeby @Jint-lzxy in #783 - fix(cmp.async): regression (
throttle.sync) by @Jint-lzxy in #794 - feat(fidget): limit maximum number of stacked messages by @Jint-lzxy in #796
- pref(fidget): use
legacybranch before complete refactor by @Jint-lzxy in #795 - refactor: make debug functionality better. by @ayamir in #777
- pref(bigfile): upstream changes by @Jint-lzxy in #799
- feat(ui)!: unify UI component
nvim-treeby @volpan in #800 - feat(ui): unify UI component indent-blankline by @Jint-lzxy in #803
- fix(settings): enable most features by default by @Jint-lzxy in #804
- fix(ui): telescope ui not adapt transparent background by @Groveer in #807
- feat(scrollview): enable signs support by @Jint-lzxy in #808
- feat(CI): add Luacheck for code linting by @Jint-lzxy in #809
- feat: use persisted to provide more powerful session management. by @ayamir in #810
- feat(formatting): format disabled dirs may contain regexps by @Jint-lzxy in #813
- fix(ts-context): always call
setupon start (#828) by @Saafo in #830 - feat(ui)!: unify other UI components by @volpan in #833
- fix(options): correct scroll behaviors of (h)splits by @Jint-lzxy in #835
- feat(utils): auto-refresh builtin palette on
ColorSchemeby @Jint-lzxy in #831
Full Changelog: v3.0.0...v3.1.0