Skip to content

Releases: ayamir/nvimdots

v4.0.0

01 Jul 04:57
5084976
Compare
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

Read more

v3.6.0

22 Mar 16:44
61c817f
Compare
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

New Contributors

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

v3.5.0

14 Dec 12:35
012d0a8
Compare
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

New Contributors

Full Changelog: v3.4.1...v3.5.0

v3.4.1

15 Oct 05:56
7220c72
Compare
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

New Contributors

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

v3.4.0

03 Sep 09:17
973a8cc
Compare
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
Compare
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
Compare
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

New Contributors

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

v3.1.0

03 Jul 16:32
54b7c3f
Compare
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

v3.0.0

07 May 04:24
56538b7
Compare
Choose a tag to compare

This release mainly targeted Release v3.0.0 · ryanoasis/nerd-fonts.

  • Please update your installed nerd font(s) to v3.0.0 so that the icons can be rendered properly.
  • Starting from v3.0.0, please use the Mono variant (Nerd Font Mono or NFM) as your GUI font.
  • Added setting entry diagnostics_virtual_text. You can turn off live LSP diagnostics on the right side of the code here.
  • New plugin nvim-treesitter-context.
  • pright is now replaced with jedi_language_server. Please open :Mason and manually uninstall pright (place your cursor on pright and press X)

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

What's Changed

  • feat: add setting option for inline_diagnostic_virtual_text. by @ayamir in #706
  • feat(nvim-treesitter): add nvim-treesitter-context by @Saafo in #707
  • chore(settings): replace pright with jedi_language_server. by @ayamir in #713
  • fix(icons)!: update icon codepoints by @Jint-lzxy in #447

Full Changelog: v2.3.0...v3.0.0

v2.3.0

30 Apr 14:25
08c4561
Compare
Choose a tag to compare

SUMMARY

This release mainly targets NVIM v0.9's updates: #627. Although we haven't completed all the to-dos yet, all updates that would directly affect user experience have been completed (#680 (comment)).

Breaking Changes

  • The 0.7 branch has been deprecated and will not receive any support from now on. Please update your Neovim build as soon as possible.
  • The 0.8 branch will continue to receive major bug fixes, but will not accept any new features. As always, we recommend using the latest build when applicable.
  • We now support defining multi-mode keymaps at once. Refer to #603 for more information.
  • The behavior of handling continuous user input has changed - which-key.nvim will only take over user input after timeoutlen has passed. More information: #625.
  • Initial support for LSP Semantic Tokens has been implemented. You may sometimes observe incorrect syntax highlightings - this is expected. Please wait until #676 is merged, this will consummate support for semantic tokens.
  • Due to an upstream breaking change, we've made some changes to the appearance and operation (setup) of nvim-cmp. Please refer to #637.
  • For new/modified options and their usage, have a look at the upstream release notes for more information.
  • Now you may use <A-s> or :SudaWrite to write files with administrator privileges. Windows users must install psutils so that this keymap/command could work properly. More information: #641.

Patches & New Features

  • Fixed the issue where terminals (and shell bang :!) are unable to handle Unicode characters on Windows.
  • Now hop.nvim can be used in visual mode.
  • Added/Modified several core keymaps. [view this patch]
  • We now allow customization of transparent_background in settings.lua.
  • Now auto-session will remember previously opened buffers.

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

What's Changed

New Contributors

Full Changelog: v2.2.1...v2.3.0