7.2 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Release 0.6
Release notes for release 0.6
Breaking Changes and Migration Guide
In v0.6 we are introducing setupOpts: many plugin related options are moved
into their respective setupOpts submodule, e.g. nvimTree.disableNetrw is
renamed to nvimTree.setupOpts.disable_netrw.
Why? in short, you can now pass in anything to setupOpts and it will be passed
to your require'plugin'.setup{...}. No need to wait for us to support every
single plugin option.
The warnings when you rebuild your config should be enough to guide you through what you need to do, if there's an option that was renamed but wasn't listed in the warning, please file a bug report!
To make your migration process less annoying, here's a keybind that will help you with renaming stuff from camelCase to snake_case (you'll be doing that a lot):
-- paste this in a temp.lua file and load it in vim with :source /path/to/temp.lua
function camelToSnake()
    -- Get the current word under the cursor
    local word = vim.fn.expand("<cword>")
    -- Replace each capital letter with an underscore followed by its lowercase equivalent
    local snakeCase = string.gsub(word, "%u", function(match)
        return "_" .. string.lower(match)
    end)
    -- Remove the leading underscore if present
    if string.sub(snakeCase, 1, 1) == "_" then
        snakeCase = string.sub(snakeCase, 2)
    end
    vim.fn.setreg(vim.v.register, snakeCase)
    -- Select the word under the cursor and paste
    vim.cmd("normal! viwP")
end
vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap = true, silent = true })
Changelog
- 
Added Terraform language support. 
- 
Added ChatGPT.nvim, which can be enabled with . Do keep in mind that this option requiresOPENAI_API_KEYenvironment variable to be set.
- 
Added Gruvbox theme. 
- 
Added marksman LSP for Markdown. 
- 
Fixed markdown preview with Glow not working and added an option for changing the preview keybind. 
- 
colorizer.nvim: switched to a maintained fork. 
- 
Added markdown-preview.nvim, movedglow.nvimto a brand newvim.utility.previewcategory.
- Added rose-pine theme.
poz:
- Added vim.autocomplete.alwaysComplete. Allows users to have the autocomplete window popup only when manually activated.
- 
Fixed empty winbar when breadcrumbs are disabled. 
- 
Added custom setupOptsfor various plugins.
- 
Removed support for deprecated plugin "nvim-compe". 
- 
Moved most plugins to setupOptsmethod.
- 
Added option vim.luaPackagesto wrap neovim with extra Lua packages.
- 
Rewrote the entire fidget.nvimmodule to include extensive configuration options. Optionvim.fidget-nvim.align.bottomhas been removed in favor ofvim.fidget-nvim.notification.window.align, which now supportstopandbottomvalues.vim.fidget-nvim.align.righthas no longer any equivalent and also has been removed.
- 
which-key.nvimcategories can now be customized through vim.binds.whichKey.register
- 
Added magicktovim.luaPackagesforimage.nvim.
- 
Added alejandrato the default devShell.
- 
Migrated neovim-flake to makeNeovimUnstablewrapper.
- 
Finished moving to nixosOptionsDocin the documentation and changelog. All documentation options and files are fully free of Asciidoc, and will now use Nixpkgs flavored markdown.
- 
Bumped plugin inputs to their latest versions. 
- 
Deprecated presence.nvimin favor ofneocord. This meansvim.rich-presence.presence-nvimis removed and will throw a warning if used. You are recommended to rewrite your neocord configuration from scratch based on the. official documentation
- 
Removed Tabnine plugin due to the usage of imperative tarball downloads. If you'd like to see it back, please create an issue. 
- 
Added support for css and tailwindcss through vscode-language-servers-extracted & tailwind-language-server. Those can be enabled through vim.languages.cssandvim.languages.tailwind.
- 
Lualine module now allows customizing always_divide_middle,ignore_focusanddisabled_filetypesthrough the new options: vim.statusline.lualine.alwaysDivideMiddle, vim.statusline.lualine.ignoreFocus and vim.statusline.lualine.disabledFiletypes.
- 
Updated all plugin inputs to their latest versions (21.04.2024) - this brought minor color changes to the Catppuccin theme. 
- 
Moved home-manager module entrypoint to flake/modulesand added an experimental Nixos module. This requires further testing before it can be considered ready for use.
- 
Made lib calls explicit. E.g. lib.strings.optionalStringinstead oflib.optionalString. This is a pattern expected to be followed by all contributors in the future.
- 
Added image.nvimfor image previews.
- 
The final neovim package is now exposed. This means you can build the neovim package that will be added to your package list without rebuilding your system to test if your configuration yields a broken package. 
- 
Changed the tree structure to distinguish between core options and plugin options. 
- 
Added plugin auto-discovery from plugin inputs. This is mostly from JordanIsaac's neovim-flake. Allows contributors to add plugin inputs with the plugin-prefix to have them automatically discovered for theplugintype inlib/types.
- 
Moved internal wrapLuaConfigto the extended library, structured its arguments to takeluaBefore,luaConfigandluaAfteras strings, which are then concatted inside a lua block.
- 
Added and for inserting verbatim Lua configuration before and after the resolved Lua DAG respectively. Both of those options take strings as the type, so you may read the contents of a Lua file from a given path. 
- 
Added vim.spellchecking.ignoredFiletypesandvim.spellChecking.programmingWordlist.enablefor ignoring certain filetypes in spellchecking and enablingvim-dirtytalkrespectively. The previously usedvim.spellcheck.vim-dirtytalkaliases to the latter option.
- 
Exposed withRuby,withNodeJs,withPython3, andpython3Packagesfrom themakeNeovimConfigfunction under their respective options.
- 
Added for appending additional packages to the wrapper PATH, making said packages available while inside the Neovim session. 
- 
Made Treesitter options configurable, and moved treesitter-context to setupOptswhile it is enabled.
- 
Added which takes either a string of enum, or a Lua function. The default is "compact", but you may change it according to nvim-notify documentation. 
