19 KiB
Release 0.8
Breaking changes
-
git-conflict
keybinds are now prefixed with<leader>
to avoid conflicting with builtins. -
alpha
is now configured with nix, default config removed. -
Lspsaga module no longer ships default keybindings. The keybind format has been changed by upstream, and old keybindings do not have equivalents under the new API they provide. Please manually set your keybinds according to Lspsaga documentation following the new API.
-
none-ls has been updated to the latest version. If you have been using raw Lua configuration to manually configure it, some of the formats may become unavailable as they have been refactored out of the main none-ls repository upstream.
-
vim.useSystemClipboard
has been deprecated as a part of removing most top-level convenience options, and should instead be configured in the new module interface. You may set appropriately to configure Neovim to use the system clipboard. -
Changed which-key group used for gitsigns from
<leader>g
to<leader>h
to align with the "hunks" themed mapping and avoid conflict with the new neogit group.
-
Add typst-preview.nvim under
languages.typst.extensions.typst-preview-nvim
. -
Add a search widget to the options page in the nvf manual.
-
Add render-markdown.nvim under
languages.markdown.extensions.render-markdown-nvim
. -
Implement for user-specified setup table in gitsigns configuration.
-
no longer compares values to an enum of available mouse modes. This means you can provide any string without the module system warning you that it is invalid. Do keep in mind that this value is no longer checked, so you will be responsible for ensuring its validity.
-
Deprecate rnix-lsp as it has been abandoned and archived upstream.
-
Hardcoded indentation values for the Nix language module have been removed. To replicate previous behaviour, you must either consolidate Nix indentation in your Editorconfig configuration, or use an autocommand to set indentation values for buffers with the Nix filetype.
-
Add for manually managing the previously managed lightbulb autocommand.
-
Add yanky.nvim to available plugins, under
vim.utility.yanky-nvim
. -
Fix plugin
setupOpts
for yanky.nvim and assert if shada is configured as a backend while shada is disabled in Neovim options. -
Add yazi.nvim as a companion plugin for Yazi, the terminal file manager.
-
Fix plugin
setupOpts
for yanky.nvim and assert if shada is configured as a backend while shada is disabled in Neovim options. -
Add yazi.nvim as a companion plugin for Yazi, the terminal file manager.
-
Add snacks.nvim under
vim.utility.snacks-nvim
as a general-purpose utility plugin. -
Move LSPSaga to
setupOpts
format, allowing freeform configuration invim.lsp.lspsaga.setupOpts
. -
Lazyload Lspsaga and remove default keybindings for it.
-
Add colorful-menu.nvim to enhance the completion menus, with optional integration for blink-cmp and nvim-cmp
-
Add oil.nvim as an alternative file explorer. It will be available under
vim.utility.oil-nvim
. -
Add
vim.diagnostics
to interact with Neovim's diagnostics module. Available options forvim.diagnostic.config()
can now be customized through the in nvf. -
Add
vim.clipboard
module for easily managing Neovim clipboard providers and relevant packages in a simple UI.- This deprecates
vim.useSystemClipboard
as well, see breaking changes section above for migration options.
- This deprecates
-
Add hunk.nvim, Neovim plugin & tool for splitting diffs in Neovim. Available as
vim.git.hunk-nvim
- Add Haskell support under
vim.languages.haskell
using haskell-tools.nvim.
- Add [aerial.nvim].
- Add [nvim-ufo].
- Add blink.cmp support.
- Add
LazyFile
user event. - Migrate language modules from none-ls to conform/nvim-lint
- Add tsx support in conform and lint
- Moved code setting
additionalRuntimePaths
andenableLuaLoader
out ofluaConfigPre
's default to prevent being overridden - Use conform over custom autocmds for LSP format on save
-
Add Odin support under
vim.languages.odin
. -
Disable the built-in format-on-save feature of zls. Use
vim.lsp.formatOnSave
instead.
- Remove
vim.notes.obsidian.setupOpts.dir
, which was set by default. Fixes issue with setting the workspace directory. - Add
vim.snippets.luasnip.setupOpts
, which was previously missing. - Add
"prettierd"
as a formatter option invim.languages.markdown.format.type
. - Add the following plugins from
mini.nvim
mini.ai
mini.align
mini.animate
mini.base16
mini.basics
mini.bracketed
mini.bufremove
mini.clue
mini.colors
mini.comment
mini.completion
mini.deps
mini.diff
mini.doc
mini.extra
mini.files
mini.fuzzy
mini.git
mini.hipatterns
mini.hues
mini.icons
mini.indentscope
mini.jump
mini.jump2d
mini.map
mini.misc
mini.move
mini.notify
mini.operators
mini.pairs
mini.pick
mini.sessions
mini.snippets
mini.splitjoin
mini.starter
mini.statusline
mini.surround
mini.tabline
mini.test
mini.trailspace
mini.visits
- Add fzf-lua in
vim.fzf-lua
- Add rainbow-delimiters
in
vim.visuals.rainbow-delimiters
- Add options to define highlights under
- Add WGSL support under
vim.languages.wgsl
.
- Add Ruby support under
vim.languages.ruby
using solargraph. - Add
nord
theme from gbprod/nord.nvim.
- Add ruff as a formatter option in
vim.languages.python.format.type
. - Add cue support under
vim.languages.cue
.
- Add
vim.languages.zig.dap
support through pkgs.lldb dap adapter. Code Inspiration fromvim.languages.clang.dap
implementation. - Add leetcode.nvim plugin under
vim.utility.leetcode-nvim
. - Add [codecompanion.nvim] plugin under
vim.assistant.codecompanion-nvim
. - Fix codecompanion-nvim plugin: nvim-cmp error and setupOpts defaults.
- Add support for nixd language server.
- Add multicursors.nvim to
available plugins, under
vim.utility.multicursors
. - Add hydra.nvim as dependency for
multicursors.nvim
and lazy loads by default.
-
Fix plugin name for lsp/lspkind.
-
Move
vim-illuminate
tosetupOpts format
- Add lsp options support for nixd language server.
- Corrects pin names used for nvim themes.
- Add git-conflict plugin for resolving git conflicts.
- Add formatters for go: gofmt, golines and gofumpt.
- Add harpoon plugin for navigation
- Add YAML support under
vim.languages.yaml
.
- Add missing
yazi.nvim
dependency (snacks.nvim
). - Add mkdir.nvim plugin for automatic creation of parent directories when editing a nested file.
- Add nix-develop.nvim plugin for
in-neovim
nix develop
,nix shell
and more. - Add direnv.vim plugin for automatic syncing of nvim shell environment with direnv's.
- Add blink.cmp source options and some default-disabled sources.
- Add blink.cmp option to add friendly-snippets so blink.cmp can source snippets from it.
- Fix blink.cmp breaking when built-in sources were modified.
- Fix conform.nvim not allowing disabling formatting on and after save. Use
null
value to disable them if conform is enabled.
- Fix plugin
setupOpts
forneovim-session-manager
having an invalid value forautoload_mode
.
- Add
github-nvim-theme
theme from projekt0n/github-nvim-theme.
alpha
is now configured with nix.- Add
markview-nvim
markdown renderer.
- Add
intelephense
language server support undervim.languages.php.lsp.server
- Add Helm chart support under
vim.languages.helm
.
eslint_d
now checks for configuration files to load.- Fix an error where
eslint_d
fails to load. - Add required files support for linters under
vim.diagnostics.nvim-lint.linters.*.required_files
. - Add global function
nvf_lint
undervim.diagnostics.nvim-lint.lint_function
. - Deprecate
vim.scrollOffset
in favor ofvim.options.scrolloff
. - Fix
svelte-language-server
not reloading .js/.ts files on change.
- Add F# support under
vim.languages.fsharp
.
- Add lint (luacheck) and formatting (stylua) support for Lua.
- Add lint (markdownlint-cli2) support for Markdown.
- Add catppuccin integration for Bufferline, Lspsaga.
- Add
neo-tree
,snacks.explorer
integrations tobufferline
. - Add more applicable filetypes to illuminate denylist.
- Disable mini.indentscope for applicable filetypes.
- Fix fzf-lua having a hard dependency on fzf.
- Enable inlay hints support -
config.vim.lsp.inlayHints
. - Add
neo-tree
,snacks.picker
extensions tolualine
. - Add support for
vim.lsp.formatOnSave
andvim.lsp.mappings.toggleFormatOnSave
- Fix
pickers
configuration fortelescope
by nesting it undersetupOpts
- Fix
find_command
configuration fortelescope
by nesting it undersetupOpts.pickers.find_files
- Update default
telescope.setupOpts.pickers.find_files.find_command
to only include files (and therefore exclude directories from results)
- Fix oil config referencing snacks
- Add flash.nvim plugin to
vim.utility.motion.flash-nvim
- Fix default telescope ignore list entry for '.git/' to properly match
- Add gitlinker.nvim plugin to
vim.git.gitlinker-nvim
- Add nvim-treesitter-textobjects plugin to
vim.treesitter.textobjects
- Default to disabling Conform for Rust if rust-analyzer is used
- To force using Conform, set
languages.rust.format.enable = true
.
- To force using Conform, set
- Add custom snippet support to
vim.snippets.luasnip
- Fix namespace of python-lsp-server by changing it to python3Packages
- Add missing
flutter-tools.nvim
dependencyplenary.nvim
. - Add necessary dependency of
flutter-tools.nvim
on lsp. - Add the
vim.languages.dart.flutter-tools.flutterPackage
option. - Fix the type of the
highlight
color options. - Add vim-sleuth plugin under
vim.utility.sleuth
.
- Change python dap adapter name from
python
to commonly expecteddebugpy
.
- Fix render-markdown.nvim file_types option type to list, to accept merging.
- Add [avante.nvim] plugin under
vim.assistant.avante-nvim
.
poz:
- Fix gitsigns null-ls issue.
- Add everforest theme support.
- Add oil-git-status support to oil module.
- Add Plugin Hardtime.nvim under
vim.binds.hardtime-nvim
withenable
andsetupOpts
options
- Add missing
right_align
option for existingrenderer.icons
options. - Add missing
render.icons
options (hidden_placement
,diagnostics_placement
, andbookmarks_placement
).
- Add
rubylsp
option invim.languages.ruby.lsp.server
to use shopify's ruby-lsp language server
- Add solarized-osaka.nvim theme
- Add img-clip.nvim plugin in
vim.utility.images.img-clip
withenable
andsetupOpts
- Add
vim.utility.images.img-clip.enable = isMaximal
in configuration.nix
- Add Clojure support under
vim.languages.clojure
using clojure-lsp - Add code evaluation environment conjure under
vim.repl.conjure
- Add missing
transparent
option for existing onedark.nvim theme.
- Added "auto" flavour for catppuccin theme
- Add solarized.nvim theme with support for multiple variants
- Add smart-splits.nvim for navigating between Neovim windows and terminal
multiplexer panes. Available at
vim.utility.smart-splits
. - Restore vim-dirtytalk plugin and fix ordering with spellcheck in generated config.
- Fix lualine separator options
- Add neogit, an interactive and powerful Git interface for Neovim, inspired by Magit
- Allow deregistering which-key binds or groups by setting them to
null
- Add supermaven-nvim plugin in
vim.assistant.supermaven-nvim
withenable
andsetupOpts
-
flake-parts
'snixpkgs-lib
input follows nvf'snixpkgs
input to reduce download size. -
flake-utils
'ssystems
inputs follows nvf'ssystems
input to transitively leverage the pattern introduced in commit fc8206e7a61d ("flake: utilize nix-systems for overridable flake systems").
- fix broken
neorg
grammars - remove obsolete warning in the
otter
module
- Fix default blink.cmp sources "path" and "buffer" not working when
autocomplete.nvim-cmp.enable
was disabled andautocomplete.nvim-cmp.sources
had not been modified.
- Add nvim-biscuits support under
vim.utility.nvim-biscuits
. - Add just support under
vim.languages.just
using just-lsp. - Add roslyn-ls to the
vim.languages.csharp
module. - Add JSON support under
vim.languages.json
using jsonls and jsonfmt. - Add advanced HTML support under
vim.languages.html
using superhtml and htmlHINT. - Add QMK support under
vim.utility.qmk-nvim
via qmk-nvim. - Add QML support under
vim.languages.qml
using qmlls and qmlformat. - Add Fish support inder
vim.languages.fish
using fish-lsp and fish_indent.
- Add EEx Treesitter Grammar for Elixir
- Add HEEx Treesitter Grammar for Elixir
- Fixed
typescript
treesitter grammar not being included by default.