Releases: ayamir/nvimdots
v2.2.1
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. (Fromfg = cp.red
tofg = cp.flamingo
) - After 08743e6, 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
- chore(snips): adjust item aggregation by @Jint-lzxy in 54e8557
- feat(lsp): use
pcall
for error handling by @Jint-lzxy in #555 - fix(catppuccin): update highlights for lua's builtin vars by @Jint-lzxy in d509642
- pref(catppuccin): update variable.builtin highlight group by @Jint-lzxy in 2d51b0a
- feat(treesitter): load treesitter when resources are available by @Jint-lzxy in #569
- feat(ci): update lockfile only when there are new commits by @Jint-lzxy in #571
- fix(script-win): initialize user functions correctly by @Jint-lzxy in #575
- fix: disable luasnip jumps if not inside a snippet by @Jint-lzxy in #595
- pref(cmp)!: update keymap for
cmp.close
by @Jint-lzxy in #598
Full Changelog: v2.2.0...v2.2.1
v2.2.0
SUMMARY
- IMPORTANT As requested in #500 and implemented in #513 and #525, efm has now been replaced by null-ls. Please follow the steps below to complete your migration:
- If you are using the default settings, just make sure your provider is listed here.
- If you want to customize any providers, please read null-ls's docs first, and then add your entries here (following upstream's specifications). If your entry items are long, just require a config file.
clang_format
is provided as an example. - You may disable some server compatibilities in
settings.lua
.
- IMPORTANT Now all lsps require config files to perform non-default initialization. These files must match the name of the server (e.g.,
clangd
<--->clangd.lua
) and must be placed underlua/modules/configs/completion/servers/
. The contents of those files could remain unchanged. Returning a function havingopts
as a parameter is also accepted to overwrite default options. Seeclangd.lua
for an example. - Now you may set default servers/providers in
settings.lua
. We will install those servers for you during bootstrap and initialize them when appropriate. - As requested in #328, you may now use
nvim ~/.config/nvim/dots.tutor
to learn this config's basic usage interactively inneovim
. - The
FormatterToggle
command is renamed toFormatterToggleFt
.:FormatToggle
will disable lsp formatting in the current buffer, while:FormatterToggleFt
will disable lsp formatting for specific filetypes. - Several settings entries were added. Please refer to
settings.lua
for more information. - Most windows can be closed directly by pressing
q
. See #505/files for supported filetypes. - Five new plugins have been added to the base configuration:
- cmp-treesitter
- autoclose.nvim (previously nvim-autopairs)
- fcitx5.nvim (previously vim-im-select)
- paint.nvim
- codeium.nvim (optional, disabled by default)
- We now support passing parameters to the
go
debugger. See #545 for implementation detail.
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- refactor(alpha): migrate to Lua API by @aarnphm in #503
- events: quitting file type with q per pattern by @aarnphm in #505
- chore(treesitter): only TSUpdate when UI is available by @aarnphm in #506
- fix:
keymap.helpers
must be required first by @CharlesChiuGit in #510 - chore(ci): disable updating lazy-lock when push commits by @CharlesChiuGit in #509
- fix: use
vim.keymap.set
for filetype by @aarnphm in #507 - feat: add/replace plugins ( #494 ) by @CharlesChiuGit in #514
- Miscellaneous updates by @Jint-lzxy in #518
- migrate: from
efm
tonull-ls
( #500 #504 ) by @CharlesChiuGit in #513 - chore(lspsaga): migrate to v0.2.7 by @Jint-lzxy in #534
- feat: add dotstutor for new users. by @ayamir in #471
- fix(treehopper): map to lua callback by @AngelontheRoad in #540
- feat(dap-dlv): add args support by @fioncat in #545
- refactor: tidy mason and null-ls handler by @aarnphm, @Jint-lzxy and @CharlesChiuGit in #525
- fix(lua-language-server): rename sumneko-lua to lua_ls by @Jint-lzxy in fa9f519
- fix(lspsaga): remove outdated options by @Jint-lzxy in 986400c
- feat(lspsaga): support version 0.2.8 by @Jint-lzxy in 42edc27
- fix(settings): disable
gopls
by default due to frequent install errors. by @ayamir in 4b572a8 - fix(lsp): add sample config for lsp, formatter not supported by mason. by @ayamir in a087e1d
- fix: stop auto closing
<
as<<
is an operator in cpp. by @ayamir in b6a2617
New Contributors
Full Changelog: v2.1.0...v2.2.0
v2.1.0
SUMMARY
clangd
's--query-driver
option is auto-completed by querying yourPATH
. Please add the compiler you need to your$PATH
environment variable.- Mapping lua callbacks is now supported.
- All keymaps have been rewritten using native
lua
- All keymaps have been rewritten using native
- legendary.nvim is deprecated. Please use
Telescope keymaps
instead. Keymap (<C-p>
) remains unchanged. - nvim-comment was replaced by Comment.nvim.
- nvim-ts-rainbow was migrated to a maintained fork.
- crates.nvim is now available in the base config. View all available keymaps in the wiki!
- Note: This plugin is only available inside
Cargo.toml
- Note: This plugin is only available inside
- The
keymap
folder is also restructured! You can start migrating your keymaps or simply leave them as they are. They won't break the config in most occasions. - Most plugins' lazy-load events have been replaced by
{ "CursorHold", "CursorHoldI" }
. This could improve startup time, but a defect is it will cause external measuring tools to calculate the startup time incorrectly. See #502 for detail.- Note: Please do NOT set
updatetime
to above 500, otherwise most plugins may not function correctly
- Note: Please do NOT set
Have a look at the "What's Changed" section for minor fixes.
What's Changed
- chore(clangd): add auto-path completion for query-driver by @aarnphm in #476
- feat: mapping lua callback by @aarnphm in #478
- refactor: remove keymap config and use local function instead by @aarnphm in #480
- chore(win-srcipt): add
ripgrep
check by @CharlesChiuGit in #481 - fix(install-win): Update exec name for 'ripgrep' by @Jint-lzxy in #483
- refactor(gitsigns): use on_attach to set mapping by @aarnphm in #482
- chore(keymap): use telescope keymaps to provide command panel. by @ayamir in #485
- chore(nvim-comment): replace it with Comment.nvim. by @ayamir in #486
- feat(telescope): add grep_string keymap by @Groveer in #488
- chore: sort and patch by @CharlesChiuGit in #496
- feat: add rust crates.io support by @ClSlaid in #459
- types: add annotations to keybind lib by @aarnphm in #497
- chore(nvim-ts-rainbow): migrate to its fork. by @ayamir in eb2a5b9
- chore(nvim-treehopper): update plugin name. by @ayamir in 448f1a6
- style(command_panel): more space for show complete commands. by @ayamir in 1cfa605
- fix(keymap): filter prefix keymaps. by @ayamir in 12d55fa
- style(telescope.keymaps): keep ui consistency. by @ayamir in d0d63ad
- fix(telescope): remove invalid config option for undo. by @ayamir in ca81360
- refactor(keymap): refactor plugin keymaps according to scopes by @CharlesChiuGit in #495
- feat: Use CursorHold* to improve startup time by @Jint-lzxy in #502
New Contributors
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Sorry to issue two releases in such a short interval, but we must update the major version as it introduces backward-incompatible changes.
We have completely reimplemented the project structure from scratch aiming to make the config clearer and easier to maintain. Refer to the 'SUMMARY' section for detailed instructions.
If you have problems migrating your configuration, feel free to open an issue at any time
SUMMARY
Have a look at the "What's Changed" section for minor fixes.
To complete your custom config migration, please follow the below steps:
X. For both situations
-
Please read through Wiki: Usage#structure and Wiki: Usage#how-to-customize to see how to customize plugins under the new structure. Changes all occur inside the
modules
folder. -
If you make changes to the configs of default plugins, use a diff-viewer (diffmerge is recommended) to compare your contents with those in
47b3f72
. Next, directly replace the entire function with your configs in the corresponding plugin's setup fileconfigs/<scope>/<plugin-name>.lua
OR directlyrequire
the config you have in thecustom
folder.
A. If you have customized plugins in the user
directory:
- Follow Wiki: Usage#add-a-new-plugin to split and migrate your plugins one by one.
B. If you add custom plugins directly after the default list:
- Sort out your custom plugins list and extract configs (functions) one by one. Then follow Wiki: Usage#add-a-new-plugin to migrate your plugins.
Several notes if you experience config breakages
lua/modules/configs
is now in the search path ofrequire
. So instead of requiringmodules.configs.completion.lsp
you should usecompletion.lsp
instead.- The
tools
folder was renamed totool
modules/ui/icons.lua
was moved tomodules/utils/icons.lua
. You need to updatelua
calls.- The
my-snippets
folder was renamed tosnips
- Debuggers and language servers now have their own config files. Specify them at the bottom of
configs/tool/dap/init.lua
and atmason_lspconfig.setup_handlers
inconfigs/completion/lsp.lua
. - Some plugins have their default location changed:
- completion
- not thing to change
- editor
- neoscroll -> ui
- smartyank -> tool
- specs -> ui
- toggleterm -> tool
- dap -> tool
- vim-im-select -> tool
- fugitive -> tool
- lang
- not thing to change
- tool
- not thing to change
- ui
- nvim-tree -> tool
What's Changed
- fix: Replace hard-coded highlight with palette's definition by @Jint-lzxy in #457
- chore(dap): add dap cpp args by @Groveer in #462
- fix(sniprun): show one line Ok output to floating window, add hint comment by @ayamir in 512d8d2
- fix: show cwd on windows correctly. by @ayamir in 09b2c74
- fix(README): Update install command for windows by @Jint-lzxy in 033f1cc
- fix(sqlite3): add custom path to fix sqlite3 lib issues on Windows by @CharlesChiuGit in 728421e
- chore(lspsaga): Adapt options from v2.3.6 by @Jint-lzxy in 966dfb6
- fix(telescope): Remove prompt prefix to align items by @Jint-lzxy in eeaaf18
- feat(keymap): make cursor can move in and out of terminal. by @ayamir in 5019271
- chore(lspsaga): Default selected item to replace faster by @Jint-lzxy in 47b3f72
- feat(cmp): Also compare scores returned by the server by @Jint-lzxy in #463
- feat(snippets): add header file definitions for cpp by @Groveer in #464
- chore(keymap): Reorganize definitions by @Jint-lzxy in #474
- fix(script-win): Avoid prompting for user input when failed by @Jint-lzxy in #475
- refactor(structure): structurize nvim config by @CharlesChiuGit in #458
New Contributors
Full Changelog: v1.0.0...v2.0.0
v1.0.0
This is our first stable release π This version supports nvim v0.8.*
(New features from nvim v0.9
are not yet supported.)
Changes brought till this release would require a manual cleanup. Refer to the 'SUMMARY' section for detailed instructions.
SUMMARY
- The package manager is now lazy.nvim. To remove old packer.nvim cache, delete the following folder manually (This path is the same on all platforms):
rm -rf ~/.local/share/nvim/site/pack
- There's a new interactive bootstrapper for Windows! Windows users can invoke this script to automatically install missing dependencies and set required options. Even if you have installed
nvimdots
before, we still recommend you to execute this install script to ensure that everything works properly.
Note: This script REQUIRESpowershell
>v7.1
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ayamir/nvimdots/HEAD/scripts/install.ps1'))
- We now support editing big files. This feature has been tested with ~25 MiB
json
file and ~183 MiB plain text file. README
has been rewritten!- Minor fixes. Have a look at the "What's Changed" section for more information.
What's Changed
- refactor(pack): BREAKING CHANGE, migrate to lazy.nvim as package manager. by @ayamir in #425
- fix: load copilot after InsertEnter. by @ayamir in c3c0365
- feat: set colorscheme via
settings.lua
. by @ayamir in 0e71fbf - fix(nvim-tree): Replace alpha with the target file by @Jint-lzxy in #436
- chore(issue-template): Update lsp log path by @Jint-lzxy in #442
- fix(lspsaga): Prevent lspsaga from flickering by @Jint-lzxy in #443
- change backup folder name by @zll600 in #444
- feat: Large file support by @Jint-lzxy in #394
- chore(lspsaga & catppuccin): Migrate to v0.2.4. by @Jint-lzxy in #449
- feat(script): Complete installation script on Windows. by @Jint-lzxy in #452
- feat(keymap): add keymap for lsp rename in project range. by @ayamir in 7e2ec8a
- refactor(README)!: Rewrite README by @Jint-lzxy in #454
- fix: fold issue of files opened by telescope. by @ayamir in 4d622e1
New Contributors
Full Changelog: v1.0.0-rc1...v1.0.0
v1.0.0-rc1
With the gradual progress of package manager migration (#425), we will begin publishing releases regularly to better track and query changes that have occurred over time!