Nvimdots Versions Save

A well configured and structured Neovim.

v3.6.0

1 month ago

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: https://github.com/ayamir/nvimdots/compare/v3.5.0...v3.6.0

v3.5.0

5 months ago

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: https://github.com/ayamir/nvimdots/compare/v3.4.1...v3.5.0

v3.4.1

7 months ago

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: https://github.com/ayamir/nvimdots/compare/v3.4.0...v3.4.1

v3.4.0

8 months ago

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

Full Changelog: https://github.com/ayamir/nvimdots/compare/v3.3.0...v3.4.0

v3.3.0

8 months ago

❄️ 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

New Contributors

Full Changelog: https://github.com/ayamir/nvimdots/compare/v3.2.0...v3.3.0

v3.2.0

9 months ago

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 https://github.com/ayamir/nvimdots/issues/416, https://github.com/ayamir/nvimdots/issues/440, and https://github.com/ayamir/nvimdots/issues/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).
  • 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: https://github.com/ayamir/nvimdots/compare/v3.1.0...v3.2.0

v3.1.0

10 months ago

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

Full Changelog: https://github.com/ayamir/nvimdots/compare/v3.0.0...v3.1.0

v3.0.0

1 year ago

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

Full Changelog: https://github.com/ayamir/nvimdots/compare/v2.3.0...v3.0.0

v2.3.0

1 year ago

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 (https://github.com/ayamir/nvimdots/pull/680#issuecomment-1520007995).

Breaking Changes

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: https://github.com/ayamir/nvimdots/compare/v2.2.1...v2.3.0

v2.2.1

1 year ago

SUMMARY

This release contains only bug fixes and performance optimizations. Namely:

  • Functional change: the mapping for cmp.close was changed from <C-e> to <C-w>.
  • Updated lua's @variable.builtin highlight group for catppuccin. (From fg = cp.red to fg = cp.flamingo)
  • After https://github.com/ayamir/nvimdots/commit/08743e67cd58291008cc20244d21215bc488ae70, neovim would load treesitter only when necessary resources are available (via vim.schedule_wrap)
  • Fixed a shadowed runtime error in Windows install script.
  • Fixed a bug where <Tab> still calls LuaSnip outside of a snippet. (#588)

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

What's Changed

Full Changelog: https://github.com/ayamir/nvimdots/compare/v2.2.0...v2.2.1