Skip to content

Releases: ayamir/nvimdots

v4.2.0

05 Jun 12:39
04ad1b2

Choose a tag to compare

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-lua to search files, patterns and symbols to speed up for huge repo. Of course, telescope is enough for most cases, so we make the default search backend as telescope.
  • 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.nvim to avoid installation failed.

Keymap changes

  • <leader>fr and <leader>fR are used to resume last search of telescope and fzf-lua respectively to save time.
  • <leader>cs, <leader>ck, <leader>cc and <leader>ca are added for codecompanion related functions.
    image

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

20 Apr 14:58

Choose a tag to compare

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-lsp are deduplicated.
  • The fmt function from clang_format is disabled for java files.
  • neodim is removed due to bugs sometimes occured.
  • Check vim.g:colors_name before gen highlight groups in case of bugs when using other colorschemes.
  • Merge user customized config with predefined by default.
  • Avoid bufferline not load when open files by nvim-tree and telescope.
  • Make selected region search in visual mode works.
  • Make user config can be searched in telescope.
  • Check nil in on_stderr callback for pylsp plugins install process.
  • Fix incorrect background color for lualine when changing colorscheme dynamically.

New features

  • render-markdown.nvim is introduced for better native markdown rendering support, which also takes effect for lsp hover doc.
  • edgy.nvim is introduced to manger ui layout.
  • tiny-inline-diagnostics.nvim is introduced for better display for lsp diagnostics messages and the setting entry for diagnostics_virtual_text is removed.
  • nvim-spectre is replaced by grug-far.nvim for better user experience.
  • local-highlight.nvim is replaced by mini.cursorword for more simplicity function.
  • bigfiles.nvim is replaced by faster.nvim for faster big file open speed.
  • <leader>lh is set to toggle lsp inlay hints.
  • <leader>lv is set to toggle lsp diagnostics messages.
  • <A-f> is set to toggle format on save function.
  • Support virtual_lines for diagnostics display by entry called diagnostics_virtual_lines in settings.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-lsp by @Jint-lzxy in #1321
  • feat(which-key)!: support v3 by @Jint-lzxy in #1324
  • fix(which-key): config option modes has 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.nvim for 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): tsserver renamed to ts_ls by @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_devicons by @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_name is nil. by @ayamir in #1369
  • fix: supports getting of user-defined color palettes by @misumisumi in #1371
  • support overriding settings.gui_config with 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_name by @Jint-lzxy in #1399
  • fix(lsp): only merge configs when absolutely needed by @Jint-lzxy in #1400
  • chore(user_template): create an empty snips dir 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 display and gitsigns keymaps 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-spectre with grug-far.nvim by @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 path with 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

01 Jul 04:57
5084976

Choose a tag to compare

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 dotstutor have 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 v3 is 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 dots for 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 diffview and wilder by @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-sleuth by @Jint-lzxy in #1229
  • fix(rustaceanvim): use init for 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-tree by @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 @property by @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 src to completion by @fioncat in #1272
  • chore: replace deprecated apis by @ayamir in #1266
  • fix toggleterm auto-exit on Windows by @CharlesChiuGit in #1267
  • fix: utilize ts-context in glance preview 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 string to integer for 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...
Read more

v3.6.0

22 Mar 16:44
61c817f

Choose a tag to compare

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.nvim
      • max397574/better-escape.nvim
      • sindrets/diffview.nvim
      • abecodes/tabout.nvim
      • edluffy/specs.nvim
    • Replaced (more powerful, or higher performance)
      • junegunn/vim-easy-align to echasnovski/mini.align
      • RRethy/vim-illuminate to tzachar/local-highlight.nvim
      • gelguy/wilder.nvim to hrsh7th/cmp-cmdline
    • Added (more intuitive, or more extensive)
      • folke/neoconf.nvim for pre project custom lsp configuration
      • tpope/vim-sleuth for smart tab size
      • nvim-pack/nvim-spectre for project-level plain text search and replace
      • mrjones2014/smart-splits.nvim for smart window split and resize working with terminal multiplexers (kitty, wezterm, and tmux)
      • folke/todo-comments.nvim for highlight of TODO, NOTE, etc
      • nvim-neotest/nvim-nio for dependency of nvim-dap-ui
  • Keymaps Modifications
    • n|<A-j> and n|<A-k> are mapped to resize window vertically.
    • n|<A-h> and n|<A-l> are mapped to resize window horizontally.
    • n|<A-i> and n|<A-o> are mapped to switch opened buffers/tabs.
    • n|<A-S-i> and n|<A-S-o> are mapped to move opened buffers/tabs.
    • n|<leader>Ss, n|<leader>Sp, v|<leader>Sp and n|<leader>Sf are 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>Wk and n|<leader>Wl are mapped to move splitted windows.
    • n|<leader>ld to n|<leader>lx for lsp: Line diagnostic.
    • n|<leader>ci to n|gci for lsp: Show incoming calls.
    • n|<leader>co to n|gco for lsp: Show outcoming calls.
    • n|<leader>cc to n|<leader>C for jump: Goto two chars.
    • n|<leader>G to n|<leader>gG for git: Open git-fugitive.
    • n|<leader>g to n|<leader>gg for git: Open lazygit.
    • n|<leader>tr to n|<leader>ll for lsp: Show lsp references.
    • n|<leader>td to n|<leader>ld for lsp: Show document diagnostics.
    • n|<leader>tw to n|<leader>lw for lsp: Show workspace diagnostics.
    • n|<leader>tq to n|<leader>lq for lsp: Show quickfix list.
    • n|<leader>tl to n|<leader>lL for lsp: Show loclist.
    • n|<leader>fn to n|<leader>bn for buffer: New.
    • All of gitsigns.nvim related mappings which begin with <leader>h are 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> and i|<A-h> are unmapped, they are free now!
  • You can set the dashboard_image easily in lua/user/settings.lua and check the details in wiki.
  • You can search selected content using v|<leader>fs in telescope.
  • You can see icon and description text for different keymap prefix groups (git, fuzzy find, debug, etc).
  • All opened buffers share the same lualine which makes ui more concise and clearer.
  • The install scripts are supporting 0.10 branch now.
  • debugpy works 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 dap and dap_ui integrations by @Jint-lzxy in #1129
  • Update dots.tutor for macOS key. by @Cheny-chui in #1133
  • fix(bufferline): use BufDel %d instead of bdelete! %d by @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:background by @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-ls until 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-ls to 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

Full Changelog: v3.5.0...v3.6.0

v3.5.0

14 Dec 12:35
012d0a8

Choose a tag to compare

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 Neovim icon has been added to the icons library (and can be accessed via require("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_only for 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 colorscheme now 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 under t mode. by @ayamir in #1029
  • fix(pack): erroneous searcher for user configs by @Jint-lzxy in #1032
  • feat: customized neovide and gui config 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)==table before 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.nvim to replace clever-f.vim by @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 ipairs by @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 neovim icon in nerdfont v3.1.0 by @CharlesChiuGit in #1072
  • perf(ts-context): limit max_lines to 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-ls to none-ls by @Jint-lzxy in #1088
  • fix(rainbow-delimiters): ping commit until author fix it. ( #1092 ) by @CharlesChiuGit in #1093
  • feat(plugins): add nvim-bqf by @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

15 Oct 05:56
7220c72

Choose a tag to compare

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-blankline v3.

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/user to lua/user_template by @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 gofumpt and gopls by @cherrot in #996
  • fix(neodim): pin to v2.0 by @Jint-lzxy in #1003
  • fix(ToggleTerm/keymap): respect v:count by @ayamir in #1012
  • feat(ibl): support indent-blankline v3 by @CharlesChiuGit in #1011
  • fix(nixos): Add go lang. by @misumisumi in #1016
  • refactor(telescope-frecency)!: remove support for sqlite.lua by @CharlesChiuGit in #1019
  • chore(CI): bump deps versions by @Jint-lzxy in #1020

New Contributors

Full Changelog: v3.4.0...v3.4.1

v3.4.0

03 Sep 09:17
973a8cc

Choose a tag to compare

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

19 Aug 08:34
3a51040

Choose a tag to compare

❄️ 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_insert not 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.nvim by @Jint-lzxy in #921
  • feat(plugins): add Glance.nvim by @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_symbols by @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

28 Jul 09:57
372d3c9

Choose a tag to compare

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

  • 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 from rustup (#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 be colors.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

03 Jul 16:32
54b7c3f

Choose a tag to compare

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 Python LSP has changed from pyright to pylsp. When installing pylsp for the first time, we will also install its dependencies, so do NOT exit nvim until the installation is successful. pyright can be removed from Mason now.
  • Replaced rmagatti/auto-session with olimorris/persisted.nvim to provide more powerful session management.
  • Enabled the ghost_text feature of nvim-cmp.
  • Enabled signs support for nvim-scrollview (#808).
  • FormatToggle has its own keymap! - <A-f>.
  • settings.lua:
  • 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 3 for 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 by jedi. by @ayamir in #724
  • fix(auto-session): fix command names by @Jint-lzxy in #728
  • feat(cmp): enable experimental.ghost_text by @Jint-lzxy in #733
  • chore(keymap): lsp keymap should effective at LspAttach event by @Groveer in #735
  • fix(catppuccin): use transparent background for TroubleNormal by @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 $PATH by @Groveer in #738
  • feat(cmp): reimplement comparators for completion entries by @ayamir in #746
  • feat: load SessionLens manually via user command by @ayamir in #745
  • fix(vim_fn): check return values of vim.fn against 1 by @Jint-lzxy in #747
  • pref(keymap): move gitsigns's keymap to keymap/ui.lua by @Groveer in #748
  • feat: add FormatToggle keymap (#750) by @Groveer in #751
  • feat: make the notification after format configurable. by @ayamir in #754
  • fix(neodim): prevent blend_color=NONE when 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 telescope by @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 legacy branch 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-tree by @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 setup on 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 ColorScheme by @Jint-lzxy in #831

Full Changelog: v3.0.0...v3.1.0