</div><divclass="appendix"><divclass="titlepage"><div><div><h1id="ch-release-notes"class="title">AppendixC.Release Notes </h1></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.1">Release 0.1</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.2">Release 0.2</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.3">Release 0.3</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.4">Release 0.4</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.5">Release 0.5</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.6">Release 0.6</a></span></dt><dt><spanclass="chapter"><ahref="release-notes.html#sec-release-0.7">Release 0.7</a></span></dt></dl></div><p>This section lists the release notes for tagged version of <spanclass="strong"><strong>nvf</strong></span> and the
current main current main branch</p><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.1"class="title">Release 0.1 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.1-changelog">Changelog</a></span></dt></dl></div><p>This is the current master branch and information here is not final. These are
changes from the v0.1 tag.</p><p>Special thanks to <aclass="link"href="https://github.com/nix-community/home-manager/"target="_top">home-manager</a>
for this release. Docs/manual generation, the new module evaluation system, and
DAG implementation are from them.</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.1-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/jordanisaacs"target="_top">jordanisaacs</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Removed hare language support (lsp/tree-sitter/etc). <codeclass="literal">vim.lsp.hare</code> is no
longer defined. If you use hare and would like it added back, please file an
issue.</p></li><liclass="listitem"><p><aclass="xref"href="options.html#opt-vim.startPlugins"><codeclass="option">vim.startPlugins</code></a>&<aclass="xref"href="options.html#opt-vim.optPlugins"><codeclass="option">vim.optPlugins</code></a> are now an enum of
<codeclass="literal">string</code> for options sourced from the flake inputs. Users can still provide
vim plugin packages.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>If you are contributing and adding a new plugin, add the plugin name to
<codeclass="literal">availablePlugins</code> in [types-plugin.nix].</p></li></ul></div></li><liclass="listitem"><p><codeclass="literal">neovimBuilder</code> has been removed for configuration. Using an overlay is no
longer required. See the manual for the new way to configuration.</p></li></ul></div><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Treesitter grammars are now configurable with
<aclass="xref"href="options.html#opt-vim.treesitter.grammars"><codeclass="option">vim.treesitter.grammars</code></a>. Utilizes the nixpkgs <codeclass="literal">nvim-treesitter</code>
plugin rather than a custom input in order to take advantage of build support
of pinned versions. See the <aclass="link"href="https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees"target="_top">relevant discourse post</a> for more information.
Packages can be found under the <codeclass="literal">vimPlugins.nvim-treesitter.builtGrammars</code>
namespace.</p></li><liclass="listitem"><p><codeclass="literal">vim.configRC</code> and <aclass="xref"href="options.html#opt-vim.luaConfigRC"><codeclass="option">vim.luaConfigRC</code></a> are now of type DAG lines. This
allows for ordering of the config. Usage is the same is in home-manager’s
</code></pre><p><aclass="link"href="https://github.com/MoritzBoehme"target="_top">MoritzBoehme</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p><codeclass="literal">catppuccin</code> theme is now available as a neovim theme <aclass="xref"href="options.html#opt-vim.theme.style"><codeclass="option">vim.theme.style</code></a>
and Lualine theme <aclass="xref"href="options.html#opt-vim.statusline.lualine.theme"><codeclass="option">vim.statusline.lualine.theme</code></a>.</p></li></ul></div>
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.2"class="title">Release 0.2 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.2-changelog">Changelog</a></span></dt></dl></div><p>Release notes for release 0.2</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.2-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/notashelf"target="_top">notashelf</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added two minimap plugins under <codeclass="literal">vim.minimap</code>. <codeclass="literal">codewindow.nvim</code> is enabled by
default, while <codeclass="literal">minimap.vim</code> is available with its code-minimap dependency.</p></li><liclass="listitem"><p>A complementary plugin, <codeclass="literal">obsidian.nvim</code> and the Neovim alternative for Emacs’
orgmode with <codeclass="literal">orgmode.nvim</code> have been added. Both will be disabled by default.</p></li><liclass="listitem"><p>Smooth scrolling for ANY movement command is now available with
<codeclass="literal">cinnamon.nvim</code></p></li><liclass="listitem"><p>You will now notice a dashboard on startup. This is provided by the
<codeclass="literal">alpha.nvim</code> plugin. You can use any of the three available dashboard plugins,
or disable them entirely.</p></li><liclass="listitem"><p>There is now a scrollbar on active buffers, which can highlight errors by
hooking to your LSPs. This is on by default, but can be toggled off under
<codeclass="literal">vim.visuals</code> if seen necessary.</p></li><liclass="listitem"><p>Discord Rich Presence has been added through <codeclass="literal">presence.nvim</code> for those who
want to flex that they are using the <spanclass="emphasis"><em>superior</em></span> text editor.</p></li><liclass="listitem"><p>An icon picker is now available with telescope integration. You can use
<codeclass="literal">:IconPickerInsert</code> or <codeclass="literal">:IconPickerYank</code> to add icons to your code.</p></li><liclass="listitem"><p>A general-purpose cheatsheet has been added through <codeclass="literal">cheatsheet.nvim</code>. Forget
no longer!</p></li><liclass="listitem"><p><codeclass="literal">ccc.nvim</code> has been added to the default plugins to allow picking colors with
ease.</p></li><liclass="listitem"><p>Most UI components of Neovim have been replaced through the help of
<codeclass="literal">noice.nvim</code>. There are also notifications and custom UI elements available
for Neovim messages and prompts.</p></li><liclass="listitem"><p>A (floating by default) terminal has been added through <codeclass="literal">toggleterm.nvim</code>.</p></li><liclass="listitem"><p>Harness the power of ethical (<codeclass="literal">tabnine.nvim</code>) and not-so-ethical
(<codeclass="literal">copilot.lua</code>) AI by those new assistant plugins. Both are off by default,
TabNine needs to be wrapped before it’s working.</p></li><liclass="listitem"><p>Experimental mouse gestures have been added through <codeclass="literal">gesture.nvim</code>. See plugin
page and the relevant module for more details on how to use.</p></li><liclass="listitem"><p>Re-open last visited buffers via <codeclass="literal">nvim-session-manager</code>. Disabled by default
as deleting buffers seems to be problematic at the moment.</p></li><liclass="listitem"><p>Most of NvimTree’s configuration options have been changed with some options
being toggled to off by default.</p></li><liclass="listitem"><p>Lualine had its configuration simplified and style toned down. Less color,
more info.</p></li><liclass="listitem"><p>Modules where multiple plugin configurations were in the same directory have
been simplified. Each plugin inside a single module gets its directory to be
imported.</p></li><liclass="listitem"><p>Separate config options with the same parent attribute have been merged into
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.3"class="title">Release 0.3 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.3-changelog">Changelog</a></span></dt></dl></div><p>Release 0.3 had to come out before I wanted it to due to Neovim 0.9 dropping
into nixpkgs-unstable. The Treesitter changes have prompted a Treesitter rework,
which was followed by reworking the languages system. Most of the changes to
those are downstreamed from the original repository. The feature requests that
was originally planned for 0.3 have been moved to 0.4, which should come out
soon.</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.3-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>We have transitioned to flake-parts, from flake-utils to extend the
flexibility of this flake. This means the flake structure is different than
usual, but the functionality remains the same.</p></li><liclass="listitem"><p>We now provide a home-manager module. Do note that it is still far from
perfect, but it works.</p></li><liclass="listitem"><p><codeclass="literal">nodejs_16</code> is now bundled with <codeclass="literal">Copilot.lua</code> if the user has enabled Copilot
assistant.</p></li><liclass="listitem"><p>which-key section titles have been fixed. This is to be changed once again in
a possible keybind rewrite, but now it should display the correct titles
instead of <codeclass="literal">+prefix</code></p></li><liclass="listitem"><p>Most of <codeclass="literal">presence.nvim</code>’s options have been made fully configurable through
your configuration file.</p></li><liclass="listitem"><p>Most of the modules have been refactored to separate <codeclass="literal">config</code> and <codeclass="literal">options</code>
attributes.</p></li><liclass="listitem"><p>Darwin has been deprecated as the Zig package is marked as broken. We will
attempt to use the Zig overlay to return Darwin support.</p></li><liclass="listitem"><p><codeclass="literal">Fidget.nvim</code> has been added as a neat visual addition for LSP installations.</p></li><liclass="listitem"><p><codeclass="literal">diffview.nvim</code> has been added to provide a convenient diff utility.</p></li><liclass="listitem"><p>Treesitter grammars are now configurable with
<aclass="xref"href="options.html#opt-vim.treesitter.grammars"><codeclass="option">vim.treesitter.grammars</code></a>. Utilizes the nixpkgs <codeclass="literal">nvim-treesitter</code>
plugin rather than a custom input in order to take advantage of build support
of pinned versions. See <aclass="link"href="https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees"target="_top">discourse</a> for more information. Packages can be
found under the <codeclass="literal">pkgs.vimPlugins.nvim-treesitter.builtGrammars</code> attribute.
Treesitter grammars for supported languages should be enabled within the
module. By default no grammars are installed, thus the following grammars
which do not have a language section are not included anymore: <spanclass="strong"><strong>comment</strong></span>,
<spanclass="strong"><strong>toml</strong></span>, <spanclass="strong"><strong>make</strong></span>, <spanclass="strong"><strong>html</strong></span>, <spanclass="strong"><strong>css</strong></span>, <spanclass="strong"><strong>graphql</strong></span>, <spanclass="strong"><strong>json</strong></span>.</p></li><liclass="listitem"><p>A new section has been added for language support: <codeclass="literal">vim.languages.<language></code>.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>The options <aclass="xref"href="options.html#opt-vim.languages.enableLSP"><codeclass="option">vim.languages.enableLSP</code></a>,
<aclass="xref"href="options.html#opt-vim.languages.enableTreesitter"><codeclass="option">vim.languages.enableTreesitter</code></a>, etc. will enable the respective
section for all languages that have been enabled.</p></li><liclass="listitem"><p>All LSP languages have been moved here</p></li><liclass="listitem"><p><codeclass="literal">plantuml</code> and <codeclass="literal">markdown</code> have been moved here</p></li><liclass="listitem"><p>A new section has been added for <codeclass="literal">html</code>. The old
<codeclass="literal">vim.treesitter.autotagHtml</code> can be found at
<aclass="xref"href="options.html#opt-vim.languages.html.treesitter.autotagHtml"><codeclass="option">vim.languages.html.treesitter.autotagHtml</code></a>.</p></li></ul></div></li><liclass="listitem"><p><codeclass="literal">vim.git.gitsigns.codeActions</code> has been added, allowing you to turn on
Gitsigns’ code actions.</p></li><liclass="listitem"><p>Removed the plugins document in the docs. Was too unwieldy to keep updated.</p></li><liclass="listitem"><p><codeclass="literal">vim.visual.lspkind</code> has been moved to <aclass="xref"href="options.html#opt-vim.lsp.lspkind.enable"><codeclass="option">vim.lsp.lspkind.enable</code></a></p></li><liclass="listitem"><p>Improved handling of completion formatting. When setting
<codeclass="literal">vim.autocomplete.sources</code>, can also include optional menu mapping. And can
provide your own function with <codeclass="literal">vim.autocomplete.formatting.format</code>.</p></li><liclass="listitem"><p>For <codeclass="literal">vim.visuals.indentBlankline.fillChar</code> and
<codeclass="literal">vim.visuals.indentBlankline.eolChar</code> options, turning them off should be done
by using <codeclass="literal">null</code> rather than <codeclass="literal">""</code> now.</p></li><liclass="listitem"><p>Transparency has been made optional and has been disabled by default.
<aclass="xref"href="options.html#opt-vim.theme.transparent"><codeclass="option">vim.theme.transparent</code></a> option can be used to enable or disable
transparency for your configuration.</p></li><liclass="listitem"><p>Fixed deprecated configuration method for Tokyonight, and added new style
“moon”</p></li><liclass="listitem"><p>Dart language support as well as extended flutter support has been added.
Thanks to @FlafyDev for his contributions towards Dart language support.</p></li><liclass="listitem"><p>Elixir language support has been added through <codeclass="literal">elixir-tools.nvim</code>.</p></li><liclass="listitem"><p><codeclass="literal">hop.nvim</code> and <codeclass="literal">leap.nvim</code> have been added for fast navigation.</p></li><liclass="listitem"><p><codeclass="literal">modes.nvim</code> has been added to the UI plugins as a minor error highlighter.</p></li><liclass="listitem"><p><codeclass="literal">smartcollumn.nvim</code> has been added to dynamically display a colorcolumn when
the limit has been exceeded, providing per-buftype column position and more.</p></li><liclass="listitem"><p><codeclass="literal">project.nvim</code> has been added for better project management inside Neovim.</p></li><liclass="listitem"><p>More configuration options have been added to <codeclass="literal">nvim-session-manager</code>.</p></li><liclass="listitem"><p>Editorconfig support has been added to the core functionality, with an enable
option.</p></li><liclass="listitem"><p><codeclass="literal">venn-nvim</code> has been dropped due to broken keybinds.</p></li></ul></div>
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.4"class="title">Release 0.4 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.4-changelog">Changelog</a></span></dt></dl></div><p>Following the release of v0.3, I have decided to release v0.4 with a massive new
change: customizable keybinds. As of the 0.4 release, keybinds will no longer be
hardcoded and instead provided by each module’s own keybinds section. The old
keybind system (<codeclass="literal">vim.keybinds = {}</code>) is now considered deprecated and the new
lib functions are recommended to be used for adding keybinds for new plugins, or
adding keybinds to existing plugins.</p><p>Alongside customizable keybinds, there are a few quality of life updates, such
as <codeclass="literal">lazygit</code> integration and the new experimental Lua loader of Neovim 0.9
thanks to our awesome contributors who made this update possible during my
absence.</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.4-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/n3oney"target="_top">n3oney</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Streamlined keybind adding process towards new functions in extended stdlib.</p></li><liclass="listitem"><p>Moved default keybinds into keybinds section of each module</p></li><liclass="listitem"><p>Simplified luaConfigRC and configRC setting - they can now just take strings</p></li><liclass="listitem"><p>Refactored the resolveDag function - you can just provide a string now, which
will default to dag.entryAnywhere</p></li><liclass="listitem"><p>Fixed formatting sometimes removing parts of files</p></li><liclass="listitem"><p>Made formatting synchronous</p></li><liclass="listitem"><p>Gave null-ls priority over other formatters</p></li></ul></div><p><aclass="link"href="https://github.com/horriblename"target="_top">horriblename</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added <codeclass="literal">clangd</code> as alternative lsp for C/++.</p></li><liclass="listitem"><p>Added <codeclass="literal">toggleterm</code> integration for <codeclass="literal">lazygit</code>.</p></li><liclass="listitem"><p>Added new option <codeclass="literal">enableluaLoader</code> to enable neovim’s experimental module
loader for faster startup time.</p></li><liclass="listitem"><p>Fixed bug where flutter-tools can’t find <codeclass="literal">dart</code> LSP</p></li><liclass="listitem"><p>Added Debug Adapter (DAP) support for clang, rust, go, python and dart.</p></li></ul></div><p><aclass="link"href="https://github.com/notashelf"target="_top">notashelf</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Made Copilot’s Node package configurable. It is recommended to keep as
default, but providing a different NodeJS version is now possible.</p></li><liclass="listitem"><p>Added <codeclass="literal">vim.cursorlineOpt</code> for configuring Neovim’s <codeclass="literal">vim.o.cursorlineopt</code>.</p></li><liclass="listitem"><p>Added <codeclass="literal">filetree.nvimTreeLua.view.cursorline</code>, default false, to enable
cursorline in nvimtre.</p></li><liclass="listitem"><p>Added Fidget.nvim support for the Catppuccin theme.</p></li><liclass="listitem"><p>Updated bundled NodeJS version used by <codeclass="literal">Copilot.lua</code>. v16 is now marked as
insecure on Nixpkgs, and we updated to v18</p></li><liclass="listitem"><p>Enabled Catppuccin modules for plugins available by default.</p></li><liclass="listitem"><p>Added experimental Svelte support under <codeclass="literal">vim.languages</code>.</p></li><liclass="listitem"><p>Removed unnecessary scrollbar element from notifications and codeaction
warning UI.</p></li><liclass="listitem"><p><codeclass="literal">vim.utility.colorizer</code> has been renamed to <codeclass="literal">vim.utility.ccc</code> after the plugin
it uses</p></li><liclass="listitem"><p>Color preview via <codeclass="literal">nvim-colorizer.lua</code></p></li><liclass="listitem"><p>Updated Lualine statusline UI</p></li><liclass="listitem"><p>Added vim-illuminate for smart highlighting</p></li><liclass="listitem"><p>Added a module for enabling Neovim’s spellchecker</p></li><liclass="listitem"><p>Added prettierd as an alternative formatter to prettier - currently defaults
to prettier</p></li><liclass="listitem"><p>Fixed presence.nvim inheriting the wrong client id</p></li><liclass="listitem"><p>Cleaned up documentation</p></li></ul></div>
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.5"class="title">Release 0.5 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.5-changelog">Changelog</a></span></dt></dl></div><p>Release notes for release 0.5</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.5-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/vagahbond"target="_top">vagahbond</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added phan language server for PHP</p></li><liclass="listitem"><p>Added phpactor language server for PHP</p></li></ul></div><p><aclass="link"href="https://github.com/horriblename"target="_top">horriblename</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added transparency support for tokyonight theme</p></li><liclass="listitem"><p>Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working</p></li><liclass="listitem"><p>Streamlined and simplified extra plugin API with the addition of
<aclass="xref"href="options.html#opt-vim.extraPlugins"><codeclass="option">vim.extraPlugins</code></a></p></li><liclass="listitem"><p>Allow using command names in place of LSP packages to avoid automatic
installation</p></li><liclass="listitem"><p>Add lua LSP and Treesitter support, and neodev.nvim plugin support</p></li><liclass="listitem"><p>Add <aclass="xref"href="options.html#opt-vim.lsp.mappings.toggleFormatOnSave"><codeclass="option">vim.lsp.mappings.toggleFormatOnSave</code></a> keybind</p></li></ul></div><p><aclass="link"href="https://github.com/amanse"target="_top">amanse</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added daily notes options for obsidian plugin</p></li><liclass="listitem"><p>Added <codeclass="literal">jdt-language-server</code> for Java</p></li></ul></div><p><aclass="link"href="https://github.com/yavko"target="_top">yavko</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added Deno Language Server for Javascript/Typescript</p></li><liclass="listitem"><p>Added support for multiple languages under <codeclass="literal">vim.spellChecking.languages</code>, and
added vim-dirtytalk through <codeclass="literal">vim.spellChecking.enableProgrammingWordList</code></p></li></ul></div><p><aclass="link"href="https://github.com/FrothyMarrow"target="_top">frothymarrow</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Renamed <codeclass="literal">vim.visuals.cursorWordline</code> to <codeclass="literal">vim.visuals.cursorline.enable</code></p></li><liclass="listitem"><p>Added <codeclass="literal">vim.visuals.cursorline.lineNumbersOnly</code> to display cursorline only in
the presence of line numbers</p></li><liclass="listitem"><p>Added Oxocarbon to the list of available themes.</p></li></ul></div><p><aclass="link"href="https://github.com/notashelf"target="_top">notashelf</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added GitHub Copilot to nvim-cmp completion sources.</p></li><liclass="listitem"><p>Added <aclass="xref"href="options.html#opt-vim.ui.borders.enable"><codeclass="option">vim.ui.borders.enable</code></a> for global and individual plugin border
configuration.</p></li><liclass="listitem"><p>LSP integrated breadcrumbs with <aclass="xref"href="options.html#opt-vim.ui.breadcrumbs.enable"><codeclass="option">vim.ui.breadcrumbs.enable</code></a> through
nvim-navic</p></li><liclass="listitem"><p>LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically
enabled if navic is enabled)</p></li><liclass="listitem"><p>Added nvim-navic integration for Catppuccin theme</p></li><liclass="listitem"><p>Fixed mismatching Zig language description</p></li><liclass="listitem"><p>Added support for <codeclass="literal">statix</code> and <codeclass="literal">deadnix</code> through
<aclass="xref"href="options.html#opt-vim.languages.nix.extraDiagnostics.types"><codeclass="option">vim.languages.nix.extraDiagnostics.types</code></a></p></li><liclass="listitem"><p>Added <codeclass="literal">lsp_lines</code> plugin for showing diagnostic messages</p></li><liclass="listitem"><p>Added a configuration option for choosing the leader key</p></li><liclass="listitem"><p>The package used for neovim is now customizable by the user, using
<aclass="xref"href="options.html#opt-vim.package"><codeclass="option">vim.package</code></a>. For best results, always use an unwrapped package</p></li><liclass="listitem"><p>Added highlight-undo plugin for highlighting undo/redo targets</p></li><liclass="listitem"><p>Added bash LSP and formatter support</p></li><liclass="listitem"><p>Disabled Lualine LSP status indicator for Toggleterm buffer</p></li><liclass="listitem"><p>Added <codeclass="literal">nvim-docs-view</code>, a plugin to display LSP hover documentation in a side
panel</p></li><liclass="listitem"><p>Switched to <codeclass="literal">nixosOptionsDoc</code> in option documentation. To quote home-manager
commit: “Output is mostly unchanged aside from some minor typographical and
formatting changes, along with better source links.”</p></li><liclass="listitem"><p>Updated indent-blankine.nvim to v3 - this comes with a few option changes,
which will be migrated with <codeclass="literal">renamedOptionModule</code></p></li></ul></div><p><aclass="link"href="https://jacekpoz.pl"target="_top">jacekpoz</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Fixed scrollOffset not being used</p></li><liclass="listitem"><p>Updated clangd to 16</p></li><liclass="listitem"><p>Disabled <codeclass="literal">useSystemClipboard</code> by default</p></li></ul></div><p><aclass="link"href="https://github.com/ksonj"target="_top">ksonj</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Add support to change mappings to utility/surround</p></li><liclass="listitem"><p>Add black-and-isort python formatter</p></li><liclass="listitem"><p>Removed redundant “Enable …” in <codeclass="literal">mkEnableOption</code> descriptions</p></li><liclass="listitem"><p>Add options to modify LSP key bindings and add proper which-key descriptions</p></li><liclass="listitem"><p>Changed type of <codeclass="literal">statusline.lualine.activeSection</code> and
<codeclass="literal">statusline.lualine.inactiveSection</code> from <codeclass="literal">attrsOf str</code> to
<codeclass="literal">attrsOf (listOf str)</code></p></li><liclass="listitem"><p>Added <codeclass="literal">statusline.lualine.extraActiveSection</code> and
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.6"class="title">Release 0.6 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-breaking-changes-and-migration-guide">Breaking Changes and Migration Guide</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.6-changelog">Changelog</a></span></dt></dl></div><p>Release notes for release 0.6</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-breaking-changes-and-migration-guide"class="title"style="clear: both">Breaking Changes and Migration Guide </h2></div></div></div><p>In v0.6 we are introducing <codeclass="literal">setupOpts</code>: many plugin related options are moved
into their respective <codeclass="literal">setupOpts</code> submodule, e.g. <codeclass="literal">nvimTree.disableNetrw</code> is
renamed to <codeclass="literal">nvimTree.setupOpts.disable_netrw</code>.</p><p><spanclass="emphasis"><em>Why?</em></span> in short, you can now pass in anything to setupOpts and it will be passed
to your <codeclass="literal">require'plugin'.setup{...}</code>. No need to wait for us to support every
single plugin option.</p><p>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!</p><p>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):</p><pre><codeclass="programlisting lua">-- paste this in a temp.lua file and load it in vim with :source /path/to/temp.lua
</div><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.6-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/ksonj"target="_top">ksonj</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added Terraform language support.</p></li><liclass="listitem"><p>Added <codeclass="literal">ChatGPT.nvim</code>, which can be enabled with
<aclass="xref"href="options.html#opt-vim.assistant.chatgpt.enable"><codeclass="option">vim.assistant.chatgpt.enable</code></a>. Do keep in mind that this option
requires <codeclass="literal">OPENAI_API_KEY</code> environment variable to be set.</p></li></ul></div><p><aclass="link"href="https://github.com/donnerinoern"target="_top">donnerinoern</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added Gruvbox theme.</p></li><liclass="listitem"><p>Added marksman LSP for Markdown.</p></li><liclass="listitem"><p>Fixed markdown preview with Glow not working and added an option for changing
the preview keybind.</p></li><liclass="listitem"><p>colorizer.nvim: switched to a maintained fork.</p></li><liclass="listitem"><p>Added <codeclass="literal">markdown-preview.nvim</code>, moved <codeclass="literal">glow.nvim</code> to a brand new
<codeclass="literal">vim.utility.preview</code> category.</p></li></ul></div><p><aclass="link"href="https://github.com/elijahimmer"target="_top">elijahimmer</a></p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Added rose-pine theme.</p></li></ul></div><p><aclass="link"href="https://jacekpoz.pl"target="_top">jacekpoz</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Added <codeclass="literal">vim.autocomplete.alwaysComplete</code>. Allows users to have the autocomplete
window popup only when manually activated.</p></li></ul></div><p><aclass="link"href="https://github.com/horriblename"target="_top">horriblename</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Fixed empty winbar when breadcrumbs are disabled.</p></li><liclass="listitem"><p>Added custom <codeclass="literal">setupOpts</code> for various plugins.</p></li><liclass="listitem"><p>Removed support for deprecated plugin “nvim-compe”.</p></li><liclass="listitem"><p>Moved most plugins to <codeclass="literal">setupOpts</code> method.</p></li></ul></div><p><aclass="link"href="https://github.com/frothymarrow"target="_top">frothymarrow</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Added option <codeclass="literal">vim.luaPackages</code> to wrap neovim with extra Lua packages.</p></li><liclass="listitem"><p>Rewrote the entire <codeclass="literal">fidget.nvim</code> module to include extensive configuration
options. Option <codeclass="literal">vim.fidget-nvim.align.bottom</code> has been removed in favor of
<codeclass="literal">vim.fidget-nvim.notification.window.align</code>, which now supports <codeclass="literal">top</code> and
<codeclass="literal">bottom</code> values. <codeclass="literal">vim.fidget-nvim.align.right</code> has no longer any equivalent
and also has been removed.</p></li><liclass="listitem"><p><codeclass="literal">which-key.nvim</code> categories can now be customized through
<aclass="link"href="options.html#opt-vim.binds.whichKey.register">vim.binds.whichKey.register</a></p></li><liclass="listitem"><p>Added <codeclass="literal">magick</code> to <codeclass="literal">vim.luaPackages</code> for <codeclass="literal">image.nvim</code>.</p></li><liclass="listitem"><p>Added <codeclass="literal">alejandra</code> to the default devShell.</p></li><liclass="listitem"><p>Migrated neovim-flake to <codeclass="literal">makeNeovimUnstable</code> wrapper.</p></li></ul></div><p><aclass="link"href="https://github.com/notashelf"target="_top">notashelf</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Finished moving to <codeclass="literal">nixosOptionsDoc</code> in the documentation and changelog. All
documentation options and files are fully free of Asciidoc, and will now use
Nixpkgs flavored markdown.</p></li><liclass="listitem"><p>Bumped plugin inputs to their latest versions.</p></li><liclass="listitem"><p>Deprecated <codeclass="literal">presence.nvim</code> in favor of <codeclass="literal">neocord</code>. This means
<codeclass="literal">vim.rich-presence.presence-nvim</code> is removed and will throw a warning if used.
You are recommended to rewrite your neocord configuration from scratch based
on the. <aclass="link"href="https://github.com/IogaMaster/neocord"target="_top">official documentation</a></p></li><liclass="listitem"><p>Removed Tabnine plugin due to the usage of imperative tarball downloads. If
you’d like to see it back, please create an issue.</p></li><liclass="listitem"><p>Added support for css and tailwindcss through
vscode-language-servers-extracted & tailwind-language-server. Those can be
enabled through <codeclass="literal">vim.languages.css</code> and <codeclass="literal">vim.languages.tailwind</code>.</p></li><liclass="listitem"><p>Lualine module now allows customizing <codeclass="literal">always_divide_middle</code>, <codeclass="literal">ignore_focus</code>
and <codeclass="literal">disabled_filetypes</code> through the new options:
<aclass="link"href="options.html#opt-vim.statusline.lualine.disabledFiletypes">vim.statusline.lualine.disabledFiletypes</a>.</p></li><liclass="listitem"><p>Updated all plugin inputs to their latest versions (<spanclass="strong"><strong>21.04.2024</strong></span>) - this
brought minor color changes to the Catppuccin theme.</p></li><liclass="listitem"><p>Moved home-manager module entrypoint to <codeclass="literal">flake/modules</code> and added an
experimental Nixos module. This requires further testing before it can be
considered ready for use.</p></li><liclass="listitem"><p>Made lib calls explicit. E.g. <codeclass="literal">lib.strings.optionalString</code> instead of
<codeclass="literal">lib.optionalString</code>. This is a pattern expected to be followed by all
contributors in the future.</p></li><liclass="listitem"><p>Added <codeclass="literal">image.nvim</code> for image previews.</p></li><liclass="listitem"><p>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.</p></li><liclass="listitem"><p>Changed the tree structure to distinguish between core options and plugin
options.</p></li><liclass="listitem"><p>Added plugin auto-discovery from plugin inputs. This is mostly from
Allows contributors to add plugin inputs with the <codeclass="literal">plugin-</code> prefix to have
them automatically discovered for the <codeclass="literal">plugin</code> type in <codeclass="literal">lib/types</code>.</p></li><liclass="listitem"><p>Moved internal <codeclass="literal">wrapLuaConfig</code> to the extended library, structured its
arguments to take <codeclass="literal">luaBefore</code>, <codeclass="literal">luaConfig</code> and <codeclass="literal">luaAfter</code> as strings, which
are then concatted inside a lua block.</p></li><liclass="listitem"><p>Added <aclass="xref"href="options.html#opt-vim.luaConfigPre"><codeclass="option">vim.luaConfigPre</code></a> and <aclass="xref"href="options.html#opt-vim.luaConfigPost"><codeclass="option">vim.luaConfigPost</code></a> 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.</p></li><liclass="listitem"><p>Added <codeclass="literal">vim.spellchecking.ignoredFiletypes</code> and
<codeclass="literal">vim.spellChecking.programmingWordlist.enable</code> for ignoring certain filetypes
in spellchecking and enabling <codeclass="literal">vim-dirtytalk</code> respectively. The previously
used <codeclass="literal">vim.spellcheck.vim-dirtytalk</code> aliases to the latter option.</p></li><liclass="listitem"><p>Exposed <codeclass="literal">withRuby</code>, <codeclass="literal">withNodeJs</code>, <codeclass="literal">withPython3</code>, and <codeclass="literal">python3Packages</code> from
the <codeclass="literal">makeNeovimConfig</code> function under their respective options.</p></li><liclass="listitem"><p>Added <aclass="xref"href="options.html#opt-vim.extraPackages"><codeclass="option">vim.extraPackages</code></a> for appending additional packages to the
wrapper PATH, making said packages available while inside the Neovim session.</p></li><liclass="listitem"><p>Made Treesitter options configurable, and moved treesitter-context to
<codeclass="literal">setupOpts</code> while it is enabled.</p></li><liclass="listitem"><p>Added <aclass="xref"href="options.html#opt-vim.notify.nvim-notify.setupOpts.render"><codeclass="option">vim.notify.nvim-notify.setupOpts.render</code></a> 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.</p></li></ul></div>
</div><divclass="chapter"><divclass="titlepage"><div><div><h2id="sec-release-0.7"class="title">Release 0.7 </h2></div></div></div><divclass="toc"><p><strong>Table of Contents</strong></p><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-breaking-changes-and-migration-guide-0-7">Breaking Changes and Migration Guide</a></span></dt><dd><dl><dt><spanclass="section"><ahref="release-notes.html#sec-vim-configrc-removed"><codeclass="literal">vim.configRC</code> removed</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-vim-maps-rewrite"><codeclass="literal">vim.maps</code> rewrite</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-nvim-code-action-menu-deprecation"><codeclass="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <codeclass="literal">vim.ui.fastaction</code></a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-type-based-modules-removed"><codeclass="literal">type</code> based modules removed</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-nixpkgs-fmt-deprecation"><codeclass="literal">nixpkgs-fmt</code> removed in favor of <codeclass="literal">nixfmt</code></a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-leader-changes">leader changes</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-vim-opt-changes"><codeclass="literal">vim.*</code> changes</a></span></dt></dl></dd><dt><spanclass="section"><ahref="release-notes.html#sec-release-0.7-changelog">Changelog</a></span></dt></dl></div><p>Release notes for release 0.7</p><divclass="section"><divclass="titlepage"><div><div><h2id="sec-breaking-changes-and-migration-guide-0-7"class="title"style="clear: both">Breaking Changes and Migration Guide </h2></div></div></div><divclass="toc"><dlclass="toc"><dt><spanclass="section"><ahref="release-notes.html#sec-vim-configrc-removed"><codeclass="literal">vim.configRC</code> removed</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-vim-maps-rewrite"><codeclass="literal">vim.maps</code> rewrite</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-nvim-code-action-menu-deprecation"><codeclass="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <codeclass="literal">vim.ui.fastaction</code></a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-type-based-modules-removed"><codeclass="literal">type</code> based modules removed</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-nixpkgs-fmt-deprecation"><codeclass="literal">nixpkgs-fmt</code> removed in favor of <codeclass="literal">nixfmt</code></a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-leader-changes">leader changes</a></span></dt><dt><spanclass="section"><ahref="release-notes.html#sec-vim-opt-changes"><codeclass="literal">vim.*</code> changes</a></span></dt></dl></div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-vim-configrc-removed"class="title"><codeclass="literal">vim.configRC</code> removed </h3></div></div></div><p>In v0.7 we are removing <codeclass="literal">vim.configRC</code> in favor of making <codeclass="literal">vim.luaConfigRC</code> the
top-level DAG, and thereby making the entire configuration Lua based. This
change introduces a few breaking changes:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p><codeclass="literal">vim.configRC</code> has been removed, which means that you have to convert all of
your custom vimscript-based configuration to Lua. As for how to do that, you
will have to consult the Neovim documentation and your search engine.</p></li><liclass="listitem"><p>After migrating your Vimscript-based configuration to Lua, you might not be
able to use the same entry names in <codeclass="literal">vim.luaConfigRC</code>, because those have also
slightly changed. See the new <aclass="link"href="/index.xhtml#ch-dag-entries"target="_top">DAG entries in nvf manual</a> for more details.</p></li></ul></div><p><spanclass="strong"><strong>Why?</strong></span></p><p>Neovim being an aggressive refactor of Vim, is designed to be mainly Lua based;
making good use of its extensive Lua API. Additionally, Vimscript is slow and
brings unnecessary performance overhead while working with different
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-vim-maps-rewrite"class="title"><codeclass="literal">vim.maps</code> rewrite </h3></div></div></div><p>Instead of specifying map modes using submodules (eg.: <codeclass="literal">vim.maps.normal</code>), a new
<codeclass="literal">vim.keymaps</code> submodule with support for a <codeclass="literal">mode</code> option has been introduced. It
can be either a string, or a list of strings, where a string represents the
short-name of the map mode(s), that the mapping should be set for. See
<codeclass="literal">:help map-modes</code> for more information.</p><p>For example:</p><pre><codeclass="programlisting nix">vim.maps.normal."<leader>m" = { ... };
</code></pre><p>has to be replaced by</p><pre><codeclass="programlisting nix">vim.keymaps = [
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-nvim-code-action-menu-deprecation"class="title"><codeclass="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <codeclass="literal">vim.ui.fastaction</code></h3></div></div></div><p>The nvim-code-action-menu plugin has been archived and broken for a long time,
so it’s being replaced with a young, but better alternative called
fastaction.nvim. Simply remove everything set under
<codeclass="literal">vim.lsp.nvimCodeActionMenu</code>, and set <codeclass="literal">vim.ui.fastaction.enable</code> to <codeclass="literal">true</code>.</p><p>Note that we are looking to add more alternatives in the future like
dressing.nvim and actions-preview.nvim, in case fastaction doesn’t work for
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-type-based-modules-removed"class="title"><codeclass="literal">type</code> based modules removed </h3></div></div></div><p>As part of the autocompletion rewrite, modules that used to use a <codeclass="literal">type</code> option
have been replaced by per-plugin modules instead. Since both modules only had
one type, you can simply change</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p><codeclass="literal">vim.autocomplete.*</code> -><codeclass="literal">vim.autocomplete.nvim-cmp.*</code></p></li><liclass="listitem"><p><codeclass="literal">vim.autopairs.enable</code> -><codeclass="literal">vim.autopairs.nvim-autopairs.enable</code></p></li></ul></div>
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-nixpkgs-fmt-deprecation"class="title"><codeclass="literal">nixpkgs-fmt</code> removed in favor of <codeclass="literal">nixfmt</code></h3></div></div></div><p><codeclass="literal">nixpkgs-fmt</code> has been archived for a while, and it’s finally being removed in
favor of nixfmt (more information can be found
<aclass="link"href="https://github.com/nix-community/nixpkgs-fmt?tab=readme-ov-file#nixpkgs-fmt---nix-code-formatter-for-nixpkgs"target="_top">here</a>.</p><p>To migrate to <codeclass="literal">nixfmt</code>, simply change <codeclass="literal">vim.languages.nix.format.type</code> to
<codeclass="literal">nixfmt</code>.</p>
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-leader-changes"class="title">leader changes </h3></div></div></div><p>This has been deprecated in favor of using the more generic <codeclass="literal">vim.globals</code> (you
can use <codeclass="literal">vim.globals.mapleader</code> to change this instead).</p><p>Rust specific keymaps now use <codeclass="literal">maplocalleader</code> instead of <codeclass="literal">localleader</code> by
default. This is to avoid conflicts with other modules. You can change
<codeclass="literal">maplocalleader</code> with <codeclass="literal">vim.globals.maplocalleader</code>, but it’s recommended to set
it to something other than <codeclass="literal">mapleader</code> to avoid conflicts.</p>
</div><divclass="section"><divclass="titlepage"><div><div><h3id="sec-vim-opt-changes"class="title"><codeclass="literal">vim.*</code> changes </h3></div></div></div><p>Inline with the <aclass="link"href="release-notes.html#sec-leader-changes"title="leader changes">leader changes</a>, we have removed some
options that were under <codeclass="literal">vim</code> as convenient shorthands for <codeclass="literal">vim.o.*</code> options.</p><divclass="warning"><h3class="title">Warning</h3><p>As v0.7 features the addition of <aclass="xref"href="options.html#opt-vim.options"><codeclass="option">vim.options</code></a>, those options are now
considered as deprecated. You should migrate to the appropriate options in the
<codeclass="literal">vim.options</code> submodule.</p></div><p>The changes are, in no particular order:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p><codeclass="literal">colourTerm</code>, <codeclass="literal">mouseSupport</code>, <codeclass="literal">cmdHeight</code>, <codeclass="literal">updateTime</code>, <codeclass="literal">mapTime</code>,
<codeclass="literal">cursorlineOpt</code>, <codeclass="literal">splitBelow</code>, <codeclass="literal">splitRight</code>, <codeclass="literal">autoIndent</code> and <codeclass="literal">wordWrap</code> have
been mapped to their <aclass="xref"href="options.html#opt-vim.options"><codeclass="option">vim.options</code></a> equivalents. Please see the module
definition for the updated options.</p></li><liclass="listitem"><p><codeclass="literal">tabWidth</code> has been <spanclass="strong"><strong>removed</strong></span> as it lead to confusing behaviour. You can
replicate the same functionality by setting <codeclass="literal">shiftwidth</code>, <codeclass="literal">tabstop</code> and
<codeclass="literal">softtabstop</code> under <codeclass="literal">vim.options</code> as you see fit.</p></li></ul></div>
</div><divclass="section"><divclass="titlepage"><div><div><h2id="sec-release-0.7-changelog"class="title"style="clear: both">Changelog </h2></div></div></div><p><aclass="link"href="https://github.com/ItsSorae"target="_top">ItsSorae</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add support for <aclass="link"href="https://typst.app/"target="_top">typst</a> under <codeclass="literal">vim.languages.typst</code> This
will enable the <codeclass="literal">typst-lsp</code> language server, and the <codeclass="literal">typstfmt</code> formatter</p></li></ul></div><p><aclass="link"href="https://github.com/frothymarrow"target="_top">frothymarrow</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Modified type for
<aclass="xref"href="options.html#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides"><codeclass="option">vim.visuals.fidget-nvim.setupOpts.progress.display.overrides</code></a> from
<codeclass="literal">anything</code> to a <codeclass="literal">submodule</code> for better type checking.</p></li><liclass="listitem"><p>Fix null <codeclass="literal">vim.lsp.mappings</code> generating an error and not being filtered out.</p></li><liclass="listitem"><p>Add basic transparency support for <codeclass="literal">oxocarbon</code> theme by setting the highlight
group for <codeclass="literal">Normal</code>, <codeclass="literal">NormalFloat</code>, <codeclass="literal">LineNr</code>, <codeclass="literal">SignColumn</code> and optionally
<codeclass="literal">NvimTreeNormal</code> to <codeclass="literal">none</code>.</p></li><liclass="listitem"><p>Fix <aclass="xref"href="options.html#opt-vim.ui.smartcolumn.setupOpts.custom_colorcolumn"><codeclass="option">vim.ui.smartcolumn.setupOpts.custom_colorcolumn</code></a> using the wrong
type <codeclass="literal">int</code> instead of the expected type <codeclass="literal">string</code>.</p></li></ul></div><p><aclass="link"href="https://github.com/horriblename"target="_top">horriblename</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Fix broken treesitter-context keybinds in visual mode</p></li><liclass="listitem"><p>Deprecate use of <codeclass="literal">__empty</code> to define empty tables in Lua. Empty attrset are no
longer filtered and thus should be used instead.</p></li><liclass="listitem"><p>Add dap-go for better dap configurations</p></li><liclass="listitem"><p>Make noice.nvim customizable</p></li><liclass="listitem"><p>Standardize border style options and add custom borders</p></li><liclass="listitem"><p>Remove <codeclass="literal">vim.disableDefaultRuntimePaths</code> in wrapper options.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>As nvf uses <codeclass="literal">$NVIM_APP_NAME</code> as of recent changes, we can safely assume any
configuration in <codeclass="literal">$XDG_CONFIG_HOME/nvf</code> is intentional.</p></li></ul></div></li></ul></div><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Switch from <aclass="link"href="https://github.com/simrat39/rust-tools.nvim"target="_top">rust-tools.nvim</a> to the more feature-packed <aclass="link"href="https://github.com/mrcjkb/rustaceanvim"target="_top">rustaceanvim</a>. This
features and usage</p></li></ul></div><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add <aclass="link"href="https://github.com/mrcjkb/lz.n"target="_top">lz.n</a> support and lazy-load some builtin plugins.</p></li><liclass="listitem"><p>Add simpler helper functions for making keymaps</p></li></ul></div><p><aclass="link"href="https://jacekpoz.pl"target="_top">jacekpoz</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Add <aclass="link"href="https://github.com/ocaml/ocaml-lsp"target="_top">ocaml-lsp</a> support</p></li><liclass="listitem"><p>Fix “Emac” typo</p></li><liclass="listitem"><p>Add <aclass="link"href="https://github.com/otavioschwanck/new-file-template.nvim"target="_top">new-file-template.nvim</a> to automatically fill new file contents using
templates</p></li><liclass="listitem"><p>Make <aclass="link"href="https://github.com/nvim-neo-tree/neo-tree.nvim"target="_top">neo-tree.nvim</a> display file icons properly by enabling
<codeclass="literal">visuals.nvimWebDevicons</code></p></li></ul></div><p><aclass="link"href="https://github.com/diniamo"target="_top">diniamo</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Move the <codeclass="literal">theme</code> dag entry to before <codeclass="literal">luaScript</code>.</p></li><liclass="listitem"><p>Add rustfmt as the default formatter for Rust.</p></li><liclass="listitem"><p>Enabled the terminal integration of catppuccin for theming Neovim’s built-in
terminal (this also affects toggleterm).</p></li><liclass="listitem"><p>Migrate bufferline to setupOpts for more customizability</p></li><liclass="listitem"><p>Use <codeclass="literal">clangd</code> as the default language server for C languages</p></li><liclass="listitem"><p>Expose <codeclass="literal">lib.nvim.types.pluginType</code>, which for example allows the user to
create abstractions for adding plugins</p></li><liclass="listitem"><p>Migrate indent-blankline to setupOpts for more customizability. While the
plugin’s options can now be found under <codeclass="literal">indentBlankline.setupOpts</code>, the
previous iteration of the module also included out of place/broken options,
which have been removed for the time being. These are:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p><codeclass="literal">listChar</code> - this was already unused</p></li><liclass="listitem"><p><codeclass="literal">fillChar</code> - this had nothing to do with the plugin, please configure it
yourself by adding <codeclass="literal">vim.opt.listchars:append({ space = '<char>' })</code> to your
lua configuration</p></li><liclass="listitem"><p><codeclass="literal">eolChar</code> - this also had nothing to do with the plugin, please configure it
yourself by adding <codeclass="literal">vim.opt.listchars:append({ eol = '<char>' })</code> to your
lua configuration</p></li></ul></div></li><liclass="listitem"><p>Replace <codeclass="literal">vim.lsp.nvimCodeActionMenu</code> with <codeclass="literal">vim.ui.fastaction</code>, see the
breaking changes section above for more details</p></li><liclass="listitem"><p>Add a <codeclass="literal">setupOpts</code> option to nvim-surround, which allows modifying options that
aren’t defined in nvf. Move the alternate nvim-surround keybinds to use
<codeclass="literal">setupOpts</code>.</p></li><liclass="listitem"><p>Remove <codeclass="literal">autopairs.type</code>, and rename <codeclass="literal">autopairs.enable</code> to
<codeclass="literal">autopairs.nvim-autopairs.enable</code>. The new
<aclass="xref"href="options.html#opt-vim.autopairs.nvim-autopairs.enable"><codeclass="option">vim.autopairs.nvim-autopairs.enable</code></a> supports <codeclass="literal">setupOpts</code> format by
default.</p></li><liclass="listitem"><p>Refactor of <codeclass="literal">nvim-cmp</code> and completion related modules</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>Remove <codeclass="literal">autocomplete.type</code> in favor of per-plugin enable options such as
<aclass="xref"href="options.html#opt-vim.autocomplete.nvim-cmp.enable"><codeclass="option">vim.autocomplete.nvim-cmp.enable</code></a>.</p></li><liclass="listitem"><p>Deprecate legacy Vimsnip in favor of Luasnip, and integrate
friendly-snippets for bundled snippets. <aclass="xref"href="options.html#opt-vim.snippets.luasnip.enable"><codeclass="option">vim.snippets.luasnip.enable</code></a>
can be used to toggle Luasnip.</p></li><liclass="listitem"><p>Add sorting function options for completion sources under
<aclass="xref"href="options.html#opt-vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators"><codeclass="option">vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators</code></a></p></li></ul></div></li><liclass="listitem"><p>Add C# support under <codeclass="literal">vim.languages.csharp</code>, with support for both
omnisharp-roslyn and csharp-language-server.</p></li><liclass="listitem"><p>Add Julia support under <codeclass="literal">vim.languages.julia</code>. Note that the entirety of Julia
is bundled with nvf, if you enable the module, since there is no way to
provide only the LSP server.</p></li><liclass="listitem"><p>Add <aclass="link"href="https://github.com/diniamo/run.nvim"target="_top"><codeclass="literal">run.nvim</code></a> support for running code
using cached commands.</p></li></ul></div><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Make Neovim’s configuration file entirely Lua based. This comes with a few
breaking changes:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p><codeclass="literal">vim.configRC</code> has been removed. You will need to migrate your entries to
Neovim-compliant Lua code, and add them to <codeclass="literal">vim.luaConfigRC</code> instead.
Existing vimscript configurations may be preserved in <codeclass="literal">vim.cmd</code> functions.
Please see <aclass="link"href="https://neovim.io/doc/user/lua.html#vim.cmd()"target="_top">Neovim documentation on <codeclass="literal">vim.cmd</code></a></p></li><liclass="listitem"><p><codeclass="literal">vim.luaScriptRC</code> is now the top-level DAG, and the internal <codeclass="literal">vim.pluginRC</code>
has been introduced for setting up internal plugins. See the “DAG entries in
nvf” manual page for more information.</p></li></ul></div></li><liclass="listitem"><p>Rewrite <codeclass="literal">vim.maps</code>, see the breaking changes section above.</p></li></ul></div><p><aclass="link"href="https://github.com/notashelf"target="_top">NotAShelf</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist "style="list-style-type: disc;"><liclass="listitem"><p>Add <codeclass="literal">deno fmt</code> as the default Markdown formatter. This will be enabled
if you choose to.</p></li><liclass="listitem"><p>Add <codeclass="literal">vim.extraLuaFiles</code> for optionally sourcing additional lua files in your
configuration.</p></li><liclass="listitem"><p>Refactor <codeclass="literal">programs.languages.elixir</code> to use lspconfig and none-ls for LSP and
added once the <aclass="link"href="https://github.com/rrrene/credo"target="_top">credo</a> linter has been added to nixpkgs. A pull request is
currently open.</p></li><liclass="listitem"><p>Remove vim-tidal and friends.</p></li><liclass="listitem"><p>Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed
development.</p></li><liclass="listitem"><p>Add <aclass="link"href="https://github.com/nvim-neo-tree/neo-tree.nvim"target="_top">neo-tree.nvim</a> as an alternative file-tree plugin. It will be available
under <codeclass="literal">vim.filetree.neo-tree</code>, similar to nvimtree.</p></li><liclass="listitem"><p>Add <codeclass="literal">nvf-print-config</code>&<codeclass="literal">nvf-print-config-path</code> helper scripts to Neovim
using neovimConfig or <codeclass="literal">programs.nvf.enable</code>.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p><codeclass="literal">nvf-print-config</code> will display your <codeclass="literal">init.lua</code>, in full.</p></li><liclass="listitem"><p><codeclass="literal">nvf-print-config-path</code> will display the path to <spanclass="emphasis"><em>a clone</em></span> of your
identical clone.</p></li></ul></div></li><liclass="listitem"><p>Add <codeclass="literal">vim.ui.breadcrumbs.lualine</code> to allow fine-tuning breadcrumbs behaviour on
Lualine. Only <codeclass="literal">vim.ui.breadcrumbs.lualine.winbar</code> is supported for the time
being.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p><aclass="xref"href="options.html#opt-vim.ui.breadcrumbs.lualine.winbar.enable"><codeclass="option">vim.ui.breadcrumbs.lualine.winbar.enable</code></a> has been added to allow
controlling the default behaviour of the <codeclass="literal">nvim-navic</code> component on Lualine,
which used to occupy <codeclass="literal">winbar.lualine_c</code> as long as breadcrumbs are enabled.</p></li><liclass="listitem"><p><codeclass="literal">vim.ui.breadcrumbs.alwaysRender</code> has been renamed to
<aclass="xref"href="options.html#opt-vim.ui.breadcrumbs.lualine.winbar.alwaysRender"><codeclass="option">vim.ui.breadcrumbs.lualine.winbar.alwaysRender</code></a> to be conform to the
new format.</p></li></ul></div></li><liclass="listitem"><p>Add <aclass="link"href="https://github.com/detachhead/basedpyright"target="_top">basedpyright</a> as a Python LSP
server and make it default.</p></li><liclass="listitem"><p>Add <aclass="link"href="https://github.com/python-lsp/python-lsp-server"target="_top">python-lsp-server</a> as an
additional Python LSP server.</p></li><liclass="listitem"><p>Add <aclass="xref"href="options.html#opt-vim.options"><codeclass="option">vim.options</code></a> to set <codeclass="literal">vim.o</code> values in in your nvf configuration
without using additional Lua. See option documentation for more details.</p></li><liclass="listitem"><p>Add <aclass="xref"href="options.html#opt-vim.dashboard.dashboard-nvim.setupOpts"><codeclass="option">vim.dashboard.dashboard-nvim.setupOpts</code></a> to allow user
<codeclass="literal">powerline_dark</code> and <codeclass="literal">solarized_light</code> themes.</p></li></ul></div></li><liclass="listitem"><p>Add <aclass="xref"href="options.html#opt-vim.spellcheck.extraSpellWords"><codeclass="option">vim.spellcheck.extraSpellWords</code></a> to allow adding arbitrary
spellfiles to Neovim’s runtime with ease.</p></li><liclass="listitem"><p>Add combined nvf configuration (<codeclass="literal">config.vim</code>) into the final package’s
<codeclass="literal">passthru</code> as <codeclass="literal">passthru.neovimConfiguration</code> for easier debugging.</p></li><liclass="listitem"><p>Add support for <aclass="link"href="https://github.com/rachartier/tiny-devicons-auto-colors.nvim"target="_top">tiny-devicons-auto-colors</a> under
<codeclass="literal">vim.visuals.tiny-devicons-auto-colors</code></p></li><liclass="listitem"><p>Move options that used to set <codeclass="literal">vim.o</code> values (e.g. <codeclass="literal">vim.wordWrap</code>) into
<codeclass="literal">vim.options</code> as default values. Some are left as they don’t have a direct
equivalent, but expect a switch eventually.</p></li></ul></div><p><aclass="link"href="https://github.com/ppenguin"target="_top">ppenguin</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Telescope:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>Fixed <codeclass="literal">project-nvim</code> command and keybinding</p></li><liclass="listitem"><p>Added default ikeybind/command for <codeclass="literal">Telescope resume</code> (<codeclass="literal"><leader>fr</code>)</p></li></ul></div></li><liclass="listitem"><p>Add <codeclass="literal">hcl</code> lsp/formatter (not the same as <codeclass="literal">terraform</code>, which is not useful for
e.g. <codeclass="literal">nomad</code> config files).</p></li></ul></div><p><aclass="link"href="https://github.com/Soliprem"target="_top">Soliprem</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add LSP and Treesitter support for R under <codeclass="literal">vim.languages.R</code>.</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: circle;"><liclass="listitem"><p>Add formatter support for R, with styler and formatR as options</p></li></ul></div></li><liclass="listitem"><p>Add Otter support under <codeclass="literal">vim.lsp.otter</code> and an assert to prevent conflict with
ccc</p></li><liclass="listitem"><p>Fixed typo in Otter’s setupOpts</p></li><liclass="listitem"><p>Add Neorg support under <codeclass="literal">vim.notes.neorg</code></p></li><liclass="listitem"><p>Add LSP, diagnostics, formatter and Treesitter support for Kotlin under
<codeclass="literal">vim.languages.kotlin</code></p></li><liclass="listitem"><p>changed default keybinds for leap.nvim to avoid altering expected behavior</p></li><liclass="listitem"><p>Add LSP, formatter and Treesitter support for Vala under <codeclass="literal">vim.languages.vala</code></p></li><liclass="listitem"><p>Add [Tinymist](https://github.com/Myriad-Dreamin/tinymist] as a formatter for
the Typst language module.</p></li><liclass="listitem"><p>Add LSP and Treesitter support for Assembly under <codeclass="literal">vim.languages.assembly</code></p></li><liclass="listitem"><p>Move <aclass="link"href="https://github.com/folke/which-key.nvim"target="_top">which-key</a> to the new spec</p></li><liclass="listitem"><p>Add LSP and Treesitter support for Nushell under <codeclass="literal">vim.languages.nu</code></p></li><liclass="listitem"><p>Add LSP and Treesitter support for Gleam under <codeclass="literal">vim.languages.gleam</code></p></li></ul></div><p><aclass="link"href="https://github.com/Bloxx12"target="_top">Bloxx12</a></p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add support for <aclass="link"href="https://github.com/RRethy/base16-nvim"target="_top">base16 theming</a> under
<codeclass="literal">vim.theme</code></p></li><liclass="listitem"><p>Fix internal breakage in <codeclass="literal">elixir-tools</code> setup.</p></li></ul></div><p><aclass="link"href="https://github.com/ksonj"target="_top">ksonj</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add LSP support for Scala via
<aclass="link"href="https://github.com/scalameta/nvim-metals"target="_top">nvim-metals</a></p></li></ul></div><p><aclass="link"href="https://github.com/nezia1"target="_top">nezia1</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add <aclass="link"href="https://github.com/biomejs/biome"target="_top">biome</a> support for Typescript, CSS and
Svelte. Enable them via <aclass="xref"href="options.html#opt-vim.languages.ts.format.type"><codeclass="option">vim.languages.ts.format.type</code></a>,
<aclass="xref"href="options.html#opt-vim.languages.css.format.type"><codeclass="option">vim.languages.css.format.type</code></a> and
<aclass="xref"href="options.html#opt-vim.languages.svelte.format.type"><codeclass="option">vim.languages.svelte.format.type</code></a> respectively.</p></li><liclass="listitem"><p>Replace <aclass="link"href="https://github.com/nix-community/nixpkgs-fmt"target="_top">nixpkgs-fmt</a> with
<aclass="link"href="https://github.com/NixOS/nixfmt"target="_top">nixfmt</a> (nixfmt-rfc-style).</p></li></ul></div><p><aclass="link"href="https://github.com/Nowaaru"target="_top">Nowaaru</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add <codeclass="literal">precognition-nvim</code>.</p></li></ul></div><p><aclass="link"href="https://github.com/DamitusThyYeetus123"target="_top">DamitusThyYeeticus123</a>:</p><divclass="itemizedlist"><ulclass="itemizedlist compact"style="list-style-type: disc;"><liclass="listitem"><p>Add support for <aclass="link"href="https://astro.build/"target="_top">Astro</a> language server.</p></li></ul></div>