181 lines
48 KiB
HTML
181 lines
48 KiB
HTML
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<title>Appendix C. Release Notes</title>
|
||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script>
|
||
<meta name="generator" content="nixos-render-docs" />
|
||
<link rel="home" href="index.xhtml" title="nvf manual" />
|
||
<link rel="up" href="index.xhtml" title="nvf manual" /><link rel="prev" href="options.html" title="Appendix B. Neovim Flake Configuration Options" />
|
||
</head>
|
||
<body>
|
||
<div class="navheader">
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Appendix C. Release Notes</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||
<th width="60%" align="center"> </th>
|
||
<td width="20%" align="right"> </td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div><div class="appendix"> <div class="titlepage"> <div> <div> <h1 id="ch-release-notes" class="title" >Appendix C. Release Notes </h1> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.1">Release 0.1</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.2">Release 0.2</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.3">Release 0.3</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.4">Release 0.4</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.5">Release 0.5</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.6">Release 0.6</a> </span></dt><dt> <span class="chapter"> <a href="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 <span class="strong"><strong>nvf</strong></span> and
|
||
the current main current main branch</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.1" class="title" >Release 0.1 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="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.01 tag.</p><p>Special thanks to <a class="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><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.1-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/jordanisaacs" target="_top">jordanisaacs</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Removed hare language support (lsp/tree-sitter/etc). <code class="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><li class="listitem"><p><a class="link" href="opt-vim.startPlugins" target="_top">vim.stratPlugins</a> & <a class="link" href="opt-vim.optPlugins" target="_top">vim.optPlugins</a> are now
|
||
an enum of <code class="literal">string</code> for options sourced from the flake inputs. Users can still provide vim
|
||
plugin packages.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>If you are contributing and adding a new plugin, add the plugin name to <code class="literal">availablePlugins</code> in
|
||
<a class="link" href="https://github.com/jordanisaacs/neovim-flake/blob/20cec032bd74bc3d20ac17ce36cd84786a04fd3e/modules/lib/types-plugin.nix" target="_top">types-plugin.nix</a>.</p></li></ul></div></li><li class="listitem"><p><code class="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><li class="listitem"><p>Treesitter grammars are now configurable with <a class="link" href="opt-vim.treesitter.grammars" target="_top">vim.treesitter.grammars</a>.
|
||
Utilizes the nixpkgs <code class="literal">nvim-treesitter</code> plugin rather than a custom input in order to take advantage of build support of pinned versions.
|
||
See <a class="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 <code class="literal">vimPlugins.nvim-treesitter.builtGrammars</code> namespace.</p></li><li class="listitem"><p><a class="link" href="opt-vim.configRC" target="_top">vim.configRC</a> and <a class="link" href="opt-vim.luaConfigRC" target="_top">vim.luaConfigRC</a> are now of type DAG lines.
|
||
This allows for ordering of the config. Usage is the same is in home-manager’s <code class="literal">home.activation</code> option.</p></li></ul></div><pre><code class="programlisting nix">vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
|
||
</code></pre><p><a class="link" href="https://github.com/MoritzBoehme" target="_top">MoritzBoehme</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p><code class="literal">catppuccin</code> theme is now available as a neovim theme <a class="link" href="opt-vim.theme.style" target="_top">vim.theme.style</a> and lualine theme
|
||
<a class="link" href="opt-vim.statusline.lualine.theme" target="_top">vim.statusline.lualine.theme</a>.</p></li></ul></div>
|
||
</div>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.2" class="title" >Release 0.2 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.2-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.2</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.2-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added two minimap plugins under <code class="literal">vim.minimap</code>. <code class="literal">codewindow.nvim</code> is enabled by default, while <code class="literal">minimap.vim</code> is
|
||
available with its code-minimap dependency.</p></li><li class="listitem"><p>A complementary plugin, <code class="literal">obsidian.nvim</code> and the Neovim alternative for Emacs’ orgmode with <code class="literal">orgmode.nvim</code> have been
|
||
added. Both will be disabled by default.</p></li><li class="listitem"><p>Smooth scrolling for ANY movement command is now available with <code class="literal">cinnamon.nvim</code></p></li><li class="listitem"><p>You will now notice a dashboard on startup. This is provided by the <code class="literal">alpha.nvim</code> plugin. You can use any of the
|
||
three available dashboard plugins, or disable them entirely.</p></li><li class="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 <code class="literal">vim.visuals</code> if seen necessary.</p></li><li class="listitem"><p>Discord Rich Presence has been added through <code class="literal">presence.nvim</code> for those who want to flex that they are using
|
||
the <span class="emphasis"><em>superior</em></span> text editor.</p></li><li class="listitem"><p>An icon picker is now available with telescope integration. You can use <code class="literal">:IconPickerInsert</code> or <code class="literal">:IconPickerYank</code>
|
||
to add icons to your code.</p></li><li class="listitem"><p>A general-purpose cheatsheet has been added through <code class="literal">cheatsheet.nvim</code>. Forget no longer!</p></li><li class="listitem"><p><code class="literal">ccc.nvim</code> has been added to the default plugins to allow picking colors with ease.</p></li><li class="listitem"><p>Most UI components of Neovim have been replaced through the help of <code class="literal">noice.nvim</code>. There are also notifications
|
||
and custom UI elements available for Neovim messages and prompts.</p></li><li class="listitem"><p>A (floating by default) terminal has been added through <code class="literal">toggleterm.nvim</code>.</p></li><li class="listitem"><p>Harness the power of ethical (<code class="literal">tabnine.nvim</code>) and not-so-ethical (<code class="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><li class="listitem"><p>Experimental mouse gestures have been added through <code class="literal">gesture.nvim</code>. See plugin page and the relevant module for
|
||
more details on how to use.</p></li><li class="listitem"><p>Re-open last visited buffers via <code class="literal">nvim-session-manager</code>. Disabled by default as deleting buffers seems to be
|
||
problematic at the moment.</p></li><li class="listitem"><p>Most of NvimTree’s configuration options have been changed with some options being toggled to off by default.</p></li><li class="listitem"><p>Lualine had its configuration simplified and style toned down. Less color, more info.</p></li><li class="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><li class="listitem"><p>Separate config options with the same parent attribute have been merged into one for simplicity.</p></li></ul></div>
|
||
</div>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.3" class="title" >Release 0.3 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.3-changelog">Changelog</a> </span></dt> </dl></div><p>Release 0.3 had to come out beore 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><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.3-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="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><li class="listitem"><p>We now provide a home-manager module. Do note that it is still far from perfect, but it works.</p></li><li class="listitem"><p><code class="literal">nodejs_16</code> is now bundled with <code class="literal">Copilot.lua</code> if the user has enabled Copilot assistant.</p></li><li class="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 instad of <code class="literal">+prefix</code></p></li><li class="listitem"><p>Most of <code class="literal">presence.nvim</code>’s options have been made fully configurable through your configuration file.</p></li><li class="listitem"><p>Most of the modules have been refactored to separate <code class="literal">config</code> and <code class="literal">options</code> attributes.</p></li><li class="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><li class="listitem"><p><code class="literal">Fidget.nvim</code> has been added as a neat visual addition for LSP installations.</p></li><li class="listitem"><p><code class="literal">diffview.nvim</code> has been added to provide a convenient diff utility.</p></li><li class="listitem"><p>Treesitter grammars are now configurable with <a class="link" href="vim.treesitter.grammars" target="_top">vim.treesitter.grammars</a>.
|
||
Utilizes the nixpkgs <code class="literal">nvim-treesitter</code> plugin rather than a custom input in order to take advantage of build support of pinned versions.
|
||
See <a class="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 <code class="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:
|
||
<span class="strong"><strong>comment</strong></span>, <span class="strong"><strong>toml</strong></span>, <span class="strong"><strong>make</strong></span>, <span class="strong"><strong>html</strong></span>, <span class="strong"><strong>css</strong></span>, <span class="strong"><strong>graphql</strong></span>, <span class="strong"><strong>json</strong></span>.</p></li><li class="listitem"><p>A new section has been added for language support: <code class="literal">vim.languages.<language></code>.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>The options <a class="link" href="vim.languages.enableLSP" target="_top">vim.languages.enableLSP</a>, <a class="link" href="vim.languages.enableTreesitter" target="_top">vim.languages.enableTreesitter</a>, etc.
|
||
will enable the respective section for all languages that have been enabled.</p></li><li class="listitem"><p>All LSP languages have been moved here</p></li><li class="listitem"><p><code class="literal">plantuml</code> and <code class="literal">markdown</code> have been moved here</p></li><li class="listitem"><p>A new section has been added for <code class="literal">html</code>. The old <code class="literal">vim.treesitter.autotagHtml</code> can be found at <<opt-vim.languages.html.treesitter.autotagHtml>>.</p></li></ul></div></li><li class="listitem"><p><a class="link" href="vim.git.gitsigns.codeActions" target="_top">vim.git.gitsigns.codeActions</a> has been added allowing you to turn on gitsigns codeactions.</p></li><li class="listitem"><p>Removed the plugins document in the docs. Was too unwieldy to keep updated.</p></li><li class="listitem"><p><code class="literal">vim.visual.lspkind</code> has been moved to <a class="link" href="vim.lsp.lspkind.enable" target="_top">vim.lsp.lspkind.enable</a></p></li><li class="listitem"><p>Improved handling of completion formatting. When setting <a class="link" href="vim.autocomplete.sources" target="_top">vim.autocomplete.sources</a>, can also include optional menu mapping.
|
||
And can provide your own function with <a class="link" href="vim.autocomplete.formatting.format" target="_top">vim.autocomplete.formatting.format</a>.</p></li><li class="listitem"><p>For <a class="link" href="vim.visuals.indentBlankline.fillChar" target="_top">vim.visuals.indentBlankline.fillChar</a> and <a class="link" href="vim.visuals.indentBlankline.eolChar" target="_top">vim.visuals.indentBlankline.eolChar</a>
|
||
turning them off should use <code class="literal">null</code> rather than <code class="literal">""</code> now.</p></li><li class="listitem"><p>Transparency has been made optional and has been disabled by default. <a class="link" href="vim.theme.transparent" target="_top">vim.theme.transparent</a> option can be used to enable or
|
||
disable transparency for your configuration.</p></li><li class="listitem"><p>Fixed deprecated configuration method for Tokyonight, and added new style “moon”</p></li><li class="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><li class="listitem"><p>Elixir language support has been added through <code class="literal">elixir-tools.nvim</code>.</p></li><li class="listitem"><p><code class="literal">hop.nvim</code> and <code class="literal">leap.nvim</code> have been added for fast navigation.</p></li><li class="listitem"><p><code class="literal">modes.nvim</code> has been added to the UI plugins as a minor error highlighter.</p></li><li class="listitem"><p><code class="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><li class="listitem"><p><code class="literal">project.nvim</code> has been added for better project management inside Neovim.</p></li><li class="listitem"><p>More configuration options have been added to <code class="literal">nvim-session-manager</code>.</p></li><li class="listitem"><p>Editorconfig support has been added to the core functionality, with an enable option.</p></li><li class="listitem"><p><code class="literal">venn-nvim</code> has been dropped due to broken keybinds.</p></li></ul></div>
|
||
</div>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.4" class="title" >Release 0.4 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="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 (<code class="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 <code class="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><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.4-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/n3oney" target="_top">n3oney</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Streamlined keybind adding process towards new functions in extended stdlib.</p></li><li class="listitem"><p>Moved default keybinds into keybinds section of each module</p></li><li class="listitem"><p>Simplified luaConfigRC and configRC setting - they can now just take strings</p></li><li class="listitem"><p>Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere</p></li><li class="listitem"><p>Fixed formatting sometimes removing parts of files</p></li><li class="listitem"><p>Made formatting synchronous</p></li><li class="listitem"><p>Gave null-ls priority over other formatters</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added <code class="literal">clangd</code> as alternative lsp for C/++.</p></li><li class="listitem"><p>Added <code class="literal">toggleterm</code> integration for <code class="literal">lazygit</code>.</p></li><li class="listitem"><p>Added new option <code class="literal">enableluaLoader</code> to enable neovim’s experimental module loader for faster startup time.</p></li><li class="listitem"><p>Fixed bug where flutter-tools can’t find <code class="literal">dart</code> LSP</p></li><li class="listitem"><p>Added Debug Adapter (DAP) support for clang, rust, go, python and dart.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="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><li class="listitem"><p>Added <a class="link" href="vim.cursorlineOpt" target="_top">vim.cursorlineOpt</a> for configuring Neovim’s cursorlineOpt.</p></li><li class="listitem"><p>Added <code class="literal">filetree.nvimTreeLua.view.cursorline</code>, default false, to enable cursorline in nvimtre.</p></li><li class="listitem"><p>Added Fidget.nvim support for the Catppuccin theme.</p></li><li class="listitem"><p>Updated bundled NodeJS version used by <code class="literal">Copilot.lua</code>. v16 is now marked as insecure on Nixpkgs, and we updated to v18</p></li><li class="listitem"><p>Enabled Catppuccin modules for plugins available by default.</p></li><li class="listitem"><p>Added experimental Svelte support under <code class="literal">vim.languages</code>.</p></li><li class="listitem"><p>Removed unnecessary scrollbar element from notifications and codeaction warning UI.</p></li><li class="listitem"><p><code class="literal">vim.utility.colorizer</code> has been renamed to <code class="literal">vim.utility.ccc</code> after the plugin it uses</p></li><li class="listitem"><p>Color preview via <code class="literal">nvim-colorizer.lua</code></p></li><li class="listitem"><p>Updated Lualine statusline UI</p></li><li class="listitem"><p>Added vim-illuminate for smart highlighting</p></li><li class="listitem"><p>Added a module for enabling Neovim’s spellchecker</p></li><li class="listitem"><p>Added prettierd as an alternative formatter to prettier - currently defaults to prettier</p></li><li class="listitem"><p>Fixed presence.nvim inheriting the wrong client id</p></li><li class="listitem"><p>Cleaned up documentation</p></li></ul></div>
|
||
</div>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.5" class="title" >Release 0.5 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.5-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.5</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.5-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/vagahbond" target="_top">vagahbond</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added phan language server for PHP</p></li><li class="listitem"><p>Added phpactor language server for PHP</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added transparency support for tokyonight theme</p></li><li class="listitem"><p>Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working</p></li><li class="listitem"><p>Streamlined and simplified extra plugin API with the addition of <a class="link" href="vim.extraPlugins" target="_top">vim.extraPlugins</a></p></li><li class="listitem"><p>Allow using command names in place of LSP packages to avoid automatic installation</p></li><li class="listitem"><p>Add lua LSP and treesitter support, and neodev.nvim plugin support</p></li><li class="listitem"><p>Add <a class="link" href="vim.lsp.mappings.toggleFormatOnSave" target="_top">vim.lsp.mappings.toggleFormatOnSave</a> keybind</p></li></ul></div><p><a class="link" href="https://github.com/amanse" target="_top">amanse</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added daily notes options for obsidian plugin</p></li><li class="listitem"><p>Added jdt-language-server for Java</p></li></ul></div><p><a class="link" href="https://github.com/yavko" target="_top">yavko</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Deno Language Server for javascript/typescript</p></li><li class="listitem"><p>Added support for multiple languages <a class="link" href="vim.spellChecking.languages" target="_top">vim.spellChecking.languages</a>, and added
|
||
vim-dirtytalk through <a class="link" href="vim.spellChecking.enableProgrammingWordList" target="_top">vim.spellChecking.enableProgrammingWordList</a></p></li></ul></div><p><a class="link" href="https://github.com/FrothyMarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Renamed <code class="literal">vim.visuals.cursorWordline</code> to <a class="link" href="vim.visuals.cursorline.enable" target="_top">vim.visuals.cursorline.enable</a></p></li><li class="listitem"><p>Added <a class="link" href="vim.visuals.cursorline.lineNumbersOnly" target="_top">vim.visuals.cursorline.lineNumbersOnly</a> to display cursorline
|
||
only in the presence of line numbers</p></li><li class="listitem"><p>Added Oxocarbon to the list of available themes.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added GitHub Copilot to nvim-cmp completion sources.</p></li><li class="listitem"><p>Added <a class="link" href="vim.ui.borders.enable" target="_top">vim.ui.borders.enable</a> for global and individual plugin border configuration.</p></li><li class="listitem"><p>LSP integrated breadcrumbs with <a class="link" href="vim.ui.breadcrumbs.enable" target="_top">vim.ui.breadcrumbs.enable</a> through nvim-navic</p></li><li class="listitem"><p>LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically enabled if navic is enabled)</p></li><li class="listitem"><p>Addeed nvim-navic integration for catppuccin theme</p></li><li class="listitem"><p>Fixed mismatching zig language description</p></li><li class="listitem"><p>Added support for <code class="literal">statix</code> and <code class="literal">deadnix</code> through <a class="link" href="vim.languages.nix.extraDiagnostics.types" target="_top">vim.languages.nix.extraDiagnostics.types</a></p></li><li class="listitem"><p>Added <code class="literal">lsp_lines</code> plugin for showing diagnostic messages</p></li><li class="listitem"><p>Added a configuration option for choosing the leader key</p></li><li class="listitem"><p>The package used for neovim is now customizable by the user, using <a class="link" href="vim.package" target="_top">vim.package</a>.
|
||
For best results, always use an unwrapped package</p></li><li class="listitem"><p>Added highlight-undo plugin for highlighting undo/redo targets</p></li><li class="listitem"><p>Added bash LSP and formatter support</p></li><li class="listitem"><p>Disabled Lualine LSP status indicator for toggleterm buffer</p></li><li class="listitem"><p>Added <code class="literal">nvim-docs-view</code>, a plugin to display lsp hover documentation in a side panel</p></li><li class="listitem"><p>Switched to <code class="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><li class="listitem"><p>Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with <code class="literal">renamedOptionModule</code></p></li></ul></div><p><a class="link" href="https://github.com/jacekpoz" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Fixed scrollOffset not being used</p></li><li class="listitem"><p>Updated clangd to 16</p></li><li class="listitem"><p>Disabled <code class="literal">useSystemClipboard</code> by default</p></li></ul></div><p><a class="link" href="https://github.com/ksonj" target="_top">ksonj</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add support to change mappings to utility/surround</p></li><li class="listitem"><p>Add black-and-isort python formatter</p></li><li class="listitem"><p>Removed redundant “Enable …” in <code class="literal">mkEnableOption</code> descriptions</p></li><li class="listitem"><p>Add options to modify LSP key bindings and add proper whichkey descriptions</p></li><li class="listitem"><p>Changed type of <code class="literal">statusline.lualine.activeSection</code> and <code class="literal">statusline.lualine.inactiveSection</code>
|
||
from <code class="literal">attrsOf str</code> to <code class="literal">attrsOf (listOf str)</code></p></li><li class="listitem"><p>Added <code class="literal">statusline.lualine.extraActiveSection</code> and <code class="literal">statusline.lualine.extraInactiveSection</code></p></li></ul></div>
|
||
</div>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.6" class="title" >Release 0.6 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-breaking-changes-and-migration-guide">Breaking Changes and Migration Guide</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-release-0.6-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.6</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="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 <code class="literal">setupOpts</code>: many plugin related options are moved into their respective <code class="literal">setupOpts</code>
|
||
submodule, e.g. <code class="literal">nvimTree.disableNetrw</code> is renamed to <code class="literal">nvimTree.setupOpts.disable_netrw</code>.</p><p><span class="emphasis"><em>Why?</em></span> in short, you can now pass in anything to setupOpts and it will be passed to your <code class="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><code class="programlisting lua">-- 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 })
|
||
</code></pre>
|
||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.6-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/ksonj" target="_top">ksonj</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Terraform language support.</p></li><li class="listitem"><p>Added <code class="literal">ChatGPT.nvim</code>, which can be enabled with <a class="link" href="vim.assistant.chatgpt" target="_top"><code class="literal">vim.assistant.chatgpt</code></a>. Do
|
||
keep in mind that this option requires <code class="literal">OPENAI_API_KEY</code> environment variable to be set.</p></li></ul></div><p><a class="link" href="https://github.com/donnerinoern" target="_top">donnerinoern</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Gruvbox theme.</p></li><li class="listitem"><p>Added marksman LSP for Markdown.</p></li><li class="listitem"><p>Fixed markdown preview with Glow not working and added an option for changing the preview keybind.</p></li><li class="listitem"><p>colorizer.nvim: switched to a maintained fork.</p></li><li class="listitem"><p>Added <code class="literal">markdown-preview.nvim</code>, moved <code class="literal">glow.nvim</code> to a brand new <code class="literal">vim.utility.preview</code> category.</p></li></ul></div><p><a class="link" href="https://github.com/elijahimmer" target="_top">elijahimmer</a></p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Added rose-pine theme.</p></li></ul></div><p><a class="link" href="https://github.com/jacekpoz" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Added <code class="literal">vim.autocomplete.alwaysComplete</code>. Allows users to have the autocomplete window popup only when manually activated.</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Fixed empty winbar when breadcrumbs are disabled.</p></li><li class="listitem"><p>Added custom <code class="literal">setupOpts</code> for various plugins.</p></li><li class="listitem"><p>Removed support for deprecated plugin “nvim-compe”.</p></li><li class="listitem"><p>Moved most plugins to <code class="literal">setupOpts</code> method.</p></li></ul></div><p><a class="link" href="https://github.com/frothymarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added option <code class="literal">vim.luaPackages</code> to wrap neovim with extra Lua packages.</p></li><li class="listitem"><p>Rewrote the entire <code class="literal">fidget.nvim</code> module to include extensive configuration options. Option <code class="literal">vim.fidget-nvim.align.bottom</code> has
|
||
been removed in favor of <a class="link" href="vim.fidget-nvim.notification.window.align" target="_top">vim.fidget-nvim.notification.window.align</a>, which now supports
|
||
<code class="literal">top</code> and <code class="literal">bottom</code> values. <code class="literal">vim.fidget-nvim.align.right</code> has no longer any equivalent and also has been removed.</p></li><li class="listitem"><p><code class="literal">which-key.nvim</code> categories can now be customized through <a class="link" href="vim.binds.whichKey.register" target="_top">vim.binds.whichKey.register</a></p></li><li class="listitem"><p>Added <code class="literal">magick</code> to <code class="literal">vim.luaPackages</code> for <code class="literal">image.nvim</code>.</p></li><li class="listitem"><p>Added <code class="literal">alejandra</code> to the default devShell.</p></li><li class="listitem"><p>Migrated neovim-flake to <code class="literal">makeNeovimUnstable</code> wrapper.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Finished moving to <code class="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><li class="listitem"><p>Bumped plugin inputs to their latest versions.</p></li><li class="listitem"><p>Deprecated <code class="literal">presence.nvim</code> in favor of <code class="literal">neocord</code>. This means <code class="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.
|
||
<a class="link" href="https://github.com/IogaMaster/neocord" target="_top">official documentation</a></p></li><li class="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><li class="listitem"><p>Added support for css and tailwindcss through vscode-language-servers-extracted & tailwind-language-server.
|
||
Those can be enabled through <code class="literal">vim.languages.css</code> and <code class="literal">vim.languages.tailwind</code>.</p></li><li class="listitem"><p>Lualine module now allows customizing <code class="literal">always_divide_middle</code>, <code class="literal">ignore_focus</code> and <code class="literal">disabled_filetypes</code> through the new
|
||
options: <a class="link" href="vim.statusline.lualine.alwaysDivideMiddle" target="_top">vim.statusline.lualine.alwaysDivideMiddle</a>,
|
||
<a class="link" href="vim.statusline.lualine.ignoreFocus" target="_top">vim.statusline.lualine.ignoreFocus</a> and
|
||
<a class="link" href="vim.statusline.lualine.disabledFiletypes" target="_top">vim.statusline.lualine.disabledFiletypes</a>.</p></li><li class="listitem"><p>Updated all plugin inputs to their latest versions (<span class="strong"><strong>21.04.2024</strong></span>) - this brought minor color changes to the Catppuccin
|
||
theme.</p></li><li class="listitem"><p>Moved home-manager module entrypoint to <code class="literal">flake/modules</code> and added an experimental Nixos module. This requires further testing
|
||
before it can be considered ready for use.</p></li><li class="listitem"><p>Made lib calls explicit. E.g. <code class="literal">lib.strings.optionalString</code> instead of <code class="literal">lib.optionalString</code>. This is a pattern expected
|
||
to be followed by all contributors in the future.</p></li><li class="listitem"><p>Added <code class="literal">image.nvim</code> for image previews.</p></li><li class="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><li class="listitem"><p>Changed the tree structure to distinguish between core options and plugin options.</p></li><li class="listitem"><p>Added plugin auto-discovery from plugin inputs. This is mostly from
|
||
<a class="link" href="https://github.com/jordanisaacs/neovim-flake" target="_top">JordanIsaac’s neovim-flake</a>. Allows contributors to add plugin inputs
|
||
with the <code class="literal">plugin-</code> prefix to have them automatically discovered for the <code class="literal">plugin</code> type in <code class="literal">lib/types</code>.</p></li><li class="listitem"><p>Moved internal <code class="literal">wrapLuaConfig</code> to the extended library, structured its arguments to take <code class="literal">luaBefore</code>, <code class="literal">luaConfig</code>
|
||
and <code class="literal">luaAfter</code> as strings, which are then concatted inside a lua block.</p></li><li class="listitem"><p>Added <a class="link" href="vim.luaConfigBefore" target="_top"><code class="literal">vim.luaConfigBefore</code></a> and <a class="link" href="vim.luaConfigAfter" target="_top"><code class="literal">vim.luaConfigAfter</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><li class="listitem"><p>Added <a class="link" href="vim.spellChecking.ignoredFiletypes" target="_top"><code class="literal">vim.spellChecking.ignoredFiletypes</code></a>
|
||
and <a class="link" href="vim.spellChecking.programmingWordlist.enable" target="_top"><code class="literal">vim.spellChecking.programmingWordlist.enable</code></a> for ignoring certain filetypes
|
||
in spellchecking and enabling <code class="literal">vim-dirtytalk</code> respectively. The previously used <code class="literal">vim.spellcheck.vim-dirtytalk</code> aliases to the latter
|
||
option.</p></li><li class="listitem"><p>Exposed <code class="literal">withRuby</code>, <code class="literal">withNodeJs</code>, <code class="literal">withPython3</code>, and <code class="literal">python3Packages</code> from the <code class="literal">makeNeovimConfig</code> function under their respective options.</p></li><li class="listitem"><p>Added <a class="link" href="vim.extraPackages" target="_top"><code class="literal">vim.extraPackages</code></a> for appending additional packages to the wrapper PATH, making said packages available
|
||
while inside the Neovim session.</p></li><li class="listitem"><p>Made treesitter options configurable, and moved <code class="literal">treesitter-context to </code>setupOpts` while it is enabled.</p></li><li class="listitem"><p>Added <code class="literal">vim.notify.nvim-notify.setupOpts.render</code> 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>
|
||
|
||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.7" class="title" >Release 0.7 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.7-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.7</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.7-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/ItsSorae" target="_top">ItsSorae</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add support for <a class="link" href="https://typst.app/" target="_top">typst</a> under <code class="literal">vim.languages.typst</code> This
|
||
will enable the <code class="literal">typst-lsp</code> language server, and the <code class="literal">typstfmt</code> formatter</p></li></ul></div><p><a class="link" href="https://github.com/frothymarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Modified type for
|
||
<a class="link" href="options.html#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides" >vim.visuals.fidget-nvim.setupOpts.progress.display.overrides</a>
|
||
from <code class="literal">anything</code> to a <code class="literal">submodule</code> for better type checking.</p></li><li class="listitem"><p>Fix null <code class="literal">vim.lsp.mappings</code> generating an error and not being filtered out.</p></li><li class="listitem"><p>Add basic transparency support for <code class="literal">oxocarbon</code> theme by setting the highlight
|
||
group for <code class="literal">Normal</code>, <code class="literal">NormalFloat</code>, <code class="literal">LineNr</code>, <code class="literal">SignColumn</code> and optionally
|
||
<code class="literal">NvimTreeNormal</code> to <code class="literal">none</code>.</p></li><li class="listitem"><p>Fix <a class="link" href="options.html#opt-vim.ui.smartcolumn.setupOpts.custom_colorcolumn" >vim.ui.smartcolumn.setupOpts.custom_colorcolumn</a>
|
||
using the wrong type <code class="literal">int</code> instead of the expected type <code class="literal">string</code>.</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Fix broken treesitter-context keybinds in visual mode</p></li><li class="listitem"><p>Deprecate use of <code class="literal">__empty</code> to define empty tables in lua. Empty attrset are no
|
||
longer filtered and thus should be used instead.</p></li><li class="listitem"><p>Add dap-go for better dap configurations</p></li></ul></div><p><a class="link" href="https://github.com/jacekpoz" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add <a class="link" href="https://github.com/ocaml/ocaml-lsp" target="_top">ocaml-lsp</a> support.</p></li><li class="listitem"><p>Fix Emac typo</p></li></ul></div><p><a class="link" href="https://github.com/diniamo" target="_top">diniamo</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Move the <code class="literal">theme</code> dag entry to before <code class="literal">luaScript</code>.</p></li><li class="listitem"><p>Add rustfmt as the default formatter for Rust.</p></li><li class="listitem"><p>Enabled the terminal integration of catppuccin for theming Neovim’s built-in terminal (this also affects toggleterm).</p></li><li class="listitem"><p>Migrate bufferline to setupOpts for more customizability</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">NotAShelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add <code class="literal">deno fmt</code> as the default Markdown formatter. This will be enabled
|
||
automatically if you have autoformatting enabled, but can be disabled manually
|
||
if you choose to.</p></li><li class="listitem"><p>Add <code class="literal">vim.extraLuaFiles</code> for optionally sourcing additional lua files in your
|
||
configuration.</p></li><li class="listitem"><p>Refactor <code class="literal">programs.languages.elixir</code> to use lspconfig and none-ls for LSP and
|
||
formatter setups respectively. Diagnostics support is considered, and may be
|
||
added once the <a class="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><li class="listitem"><p>Remove vim-tidal and friends.</p></li><li class="listitem"><p>Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed
|
||
blending issues in component separators.</p></li><li class="listitem"><p>Add
|
||
<a class="link" href="https://github.com/dmmulroy/ts-error-translator.nvim" target="_top">ts-error-translator.nvim</a>
|
||
extension of the TS language module, under
|
||
<code class="literal">vim.languages.ts.extensions.ts-error-translator</code></p></li></ul></div>
|
||
</div>
|
||
|
||
</div>
|
||
</div> <div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||
<td width="20%" align="center"> </td>
|
||
<td width="40%" align="right"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Appendix B. Neovim Flake Configuration Options </td>
|
||
<td width="20%" align="center"><a accesskey="h" href="index.xhtml">Home</a></td>
|
||
<td width="40%" align="right" valign="top"> </td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html> |