docs/manual: convert release notes to markdown

This commit is contained in:
NotAShelf 2023-12-31 10:07:30 +03:00
parent 61b0264868
commit 413eab8cfa
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
19 changed files with 411 additions and 371 deletions

View file

@ -10,11 +10,10 @@
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "neovim-flake-manual"; name = "neovim-flake-manual";
src = ./manual;
nativeBuildInputs = [nixos-render-docs]; nativeBuildInputs = [nixos-render-docs];
src = ./manual;
buildPhase = '' buildPhase = ''
mkdir -p out/media mkdir -p out/media
@ -35,9 +34,11 @@ stdenv.mkDerivation {
'@VERSION@' \ '@VERSION@' \
${revision} ${revision}
cp ${nmd}/static/style.css out/style.css cp -v ${nmd}/static/style.css out/style.css
cp -t out/highlightjs ${nmd}/static/highlightjs/tomorrow-night.min.css cp -vt out/highlightjs ${nmd}/static/highlightjs/tomorrow-night.min.css
cp ${./highlight-style.css} out/highlightjs/highlight-style.css cp -v ${./highlight-style.css} out/highlightjs/highlight-style.css
cp -vr ${./release-notes} release-notes
nixos-render-docs manual html \ nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \ --manpage-urls ./manpage-urls.json \

View file

@ -6,6 +6,8 @@ $ nix shell github:notashelf/neovim-flake#maximal test.nix
It is the same fully configured neovim as with the [Nix](#sec-default-nix) config, but with every supported language enabled. It is the same fully configured neovim as with the [Nix](#sec-default-nix) config, but with every supported language enabled.
::: note :::{.note}
Running the maximal config will download _a lot_ of packages as it is downloading language servers, formatters, and more. Running the maximal config will download _a lot_ of packages as it is downloading language servers, formatters, and more.
::: :::

View file

@ -15,7 +15,10 @@ Most, if not all, changes warrant changes to the documentation. Module options s
[Nixpkgs-flavoured Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup), albeit with exceptions. [Nixpkgs-flavoured Markdown](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup), albeit with exceptions.
:::{.note} :::{.note}
As of v0.6, neovim-flake is itself documented using full markdown in both module options and the manual.
As of v0.5, neovim-flake is itself documented using full markdown in both module options and the manual. With
v0.6, this manual has also been converted to markdown in full.
::: :::
The HTML version of this manual containing both the module option descriptions and the documentation of neovim-flake The HTML version of this manual containing both the module option descriptions and the documentation of neovim-flake
@ -44,9 +47,9 @@ a pull request should make sense both on its own and in general context. That is
an issue that is introduced in an earlier commit. In particular, you will be asked to amend any commit that an issue that is introduced in an earlier commit. In particular, you will be asked to amend any commit that
introduces syntax errors or similar problems even if they are fixed in a later commit. introduces syntax errors or similar problems even if they are fixed in a later commit.
The commit messages should follow the {seven-rules}[seven rules], except for "Capitalize the subject line". The commit messages should follow the [seven rules](https://chris.beams.io/posts/git-commit/#seven-rule),
We also ask you to include the affected code component or module in the first line. except for "Capitalize the subject line". We also ask you to include the affected code component or module in
A commit message ideally, but not necessarily, follow the given template from home-manager's own documentation the first line. A commit message ideally, but not necessarily, follow the given template from home-manager's own documentation
``` ```
{component}: {description} {component}: {description}
@ -57,11 +60,11 @@ A commit message ideally, but not necessarily, follow the given template from ho
where `{component}` refers to the code component (or module) your change affects, `{description}` is a very brief where `{component}` refers to the code component (or module) your change affects, `{description}` is a very brief
description of your change, and `{long description}` is an optional clarifying description. As a rare exception, if description of your change, and `{long description}` is an optional clarifying description. As a rare exception, if
there is no clear component, or your change affects many components, then the `{component}` part is optional. there is no clear component, or your change affects many components, then the `{component}` part is optional.
See <<ex-commit-message>> for a commit message that fulfills these requirements. See [example commit message](#sec-guidelines-ex-commit-message) for a commit message that fulfills these requirements.
## Example Commit {#sec-guidelines-ex-commit-message} ## Example Commit {#sec-guidelines-ex-commit-message}
The commit {example-commit-message}[69f8e47e9e74c8d3d060ca22e18246b7f7d988ef] contains the commit message The commit [69f8e47e9e74c8d3d060ca22e18246b7f7d988ef](https://github.com/nix-community/home-manager/commit/69f8e47e9e74c8d3d060ca22e18246b7f7d988ef) contains the commit message
``` ```

View file

@ -1,13 +1,11 @@
# Keybinds {#sec-keybinds} # Keybinds {#sec-keybinds}
As of 0.4, there exists an API for writing your own keybinds and a couple of useful utility functions are available in As of 0.4, there exists an API for writing your own keybinds and a couple of useful utility functions are available in
the https://github.com/NotAShelf/neovim-flake/tree/main/lib[extended standard library]. The following section contains the [extended standard library](https://github.com/NotAShelf/neovim-flake/tree/main/lib). The following section contains
a general overview to how you may utilize said functions. a general overview to how you may utilize said functions.
## Custom Key Mappings Support for a Plugin {#sec-custom-key-mappings} ## Custom Key Mappings Support for a Plugin {#sec-custom-key-mappings}
:maps: https://notashelf.github.io/neovim-flake/options.html#opt-vim.maps.command._name_.action
To set a mapping, you should define it in `vim.maps.<<mode>>`. To set a mapping, you should define it in `vim.maps.<<mode>>`.
The available modes are: The available modes are:
@ -37,7 +35,9 @@ An example, simple keybinding, can look like this:
} }
``` ```
There are many settings available in the options. Please refer to the {maps}[documentation] to see a list of them. There are many settings available in the options. Please refer to the
[documentation](https://notashelf.github.io/neovim-flake/options.html#opt-vim.maps.command._name_.action)
to see a list of them.
`neovim-flake` provides a list of helper commands, so that you don't have to write the mapping attribute sets every `neovim-flake` provides a list of helper commands, so that you don't have to write the mapping attribute sets every
time: time:

View file

@ -20,3 +20,7 @@ hacking.md
```{=include=} appendix html:into-file=//options.html ```{=include=} appendix html:into-file=//options.html
options.md options.md
``` ```
```{=include=} appendix html:into-file=//release-notes.html
release-notes/release-notes.md
```

View file

@ -1,14 +0,0 @@
[[ch-release-notes]]
[appendix]
== Release Notes
This section lists the release notes for tagged version of neovim-flake and current main.
:leveloffset: 1
include::rl-0.1.adoc[]
include::rl-0.2.adoc[]
include::rl-0.3.adoc[]
include::rl-0.4.adoc[]
include::rl-0.5.adoc[]
include::rl-0.6.adoc[]

View file

@ -0,0 +1,12 @@
# Release Notes {#ch-release-notes}
This section lists the release notes for tagged version of neovim-flake and current main.
```{=include=} chapters
rl-0.1.md
rl-0.2.md
rl-0.3.md
rl-0.4.md
rl-0.5.md
rl-0.6.md
```

View file

@ -1,32 +0,0 @@
[[sec-release-0.1]]
== Release 0.1
This is the current master branch and information here is not final. These are changes from the v0.01 tag.
Special thanks to https://github.com/nix-community/home-manager/[home-manager] for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.
[[sec-release-0.1-changelog]]
=== Changelog
https://github.com/jordanisaacs[jordanisaacs]:
* Removed hare language support (lsp/tree-sitter/etc). `vim.lsp.hare` is no longer defined. If you use hare and would like it added back, please file an issue.
* <<opt-vim.startPlugins>> & <<opt-vim.optPlugins>> are now an enum of `string` for options sourced from the flake inputs. Users can still provide vim plugin packages.
+
If you are contributing and adding a new plugin, add the plugin name to `availablePlugins` in https://github.com/jordanisaacs/neovim-flake/blob/20cec032bd74bc3d20ac17ce36cd84786a04fd3e/modules/lib/types-plugin.nix[types-plugin.nix].
* `neovimBuilder` has been removed for configuration. Using an overlay is no longer required. See the manual for the new way to configuration.
* Treesitter grammars are now configurable with <<opt-vim.treesitter.grammars>>. Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions. See https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees[discourse] for more information. Packages can be found under the `vimPlugins.nvim-treesitter.builtGrammars` namespace.
* <<opt-vim.configRC>> and <<opt-vim.luaConfigRC>> are now of type DAG lines. This allows for ordering of the config. Usage is the same is in home-manager's `home.activation` option.
+
[source,nix]
----
vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
----
https://github.com/MoritzBoehme[MoritzBoehme]:
* `catppuccin` theme is now available as a neovim theme <<opt-vim.theme.style>> and lualine theme <<opt-vim.statusline.lualine.theme>>.

View file

@ -0,0 +1,40 @@
# Release 0.1 {#sec-release-0.1}
This is the current master branch and information here is not final. These are changes from the v0.01 tag.
Special thanks to [home-manager](https://github.com/nix-community/home-manager/) for this release.
Docs/manual generation, the new module evaluation system, and DAG implementation are from them.
## Changelog {#sec-release-0.1-changelog}
[jordanisaacs](https://github.com/jordanisaacs):
- Removed hare language support (lsp/tree-sitter/etc). `vim.lsp.hare` is no longer defined.
If you use hare and would like it added back, please file an issue.
- [vim.stratPlugins](opt-vim.startPlugins) & [vim.optPlugins](opt-vim.optPlugins) are now
an enum of `string` for options sourced from the flake inputs. Users can still provide vim
plugin packages.
- If you are contributing and adding a new plugin, add the plugin name to `availablePlugins` in
[types-plugin.nix](https://github.com/jordanisaacs/neovim-flake/blob/20cec032bd74bc3d20ac17ce36cd84786a04fd3e/modules/lib/types-plugin.nix).
- `neovimBuilder` has been removed for configuration. Using an overlay is no longer required.
See the manual for the new way to configuration.
- Treesitter grammars are now configurable with [vim.treesitter.grammars](opt-vim.treesitter.grammars).
Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions.
See [relevant discourse post](https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees)
for more information. Packages can be found under the `vimPlugins.nvim-treesitter.builtGrammars` namespace.
- [vim.configRC](opt-vim.configRC) and [vim.luaConfigRC](opt-vim.luaConfigRC) are now of type DAG lines.
This allows for ordering of the config. Usage is the same is in home-manager's `home.activation` option.
```nix
vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
```
[MoritzBoehme](https://github.com/MoritzBoehme):
- `catppuccin` theme is now available as a neovim theme [vim.theme.style](opt-vim.theme.style) and lualine theme
[vim.statusline.lualine.theme](opt-vim.statusline.lualine.theme).

View file

@ -1,46 +0,0 @@
[[sec-release-0.2]]
== Release 0.2
Release notes for release 0.2
[[sec-release-0.2-changelog]]
=== Changelog
https://github.com/notashelf[notashelf]:
* Added two minimap plugins under `vim.minimap`. `codewindow.nvim` is enabled by default, while `minimap.vim` is available with its code-minimap dependency.
* A complementary plugin, `obsidian.nvim` and the Neovim alternative for Emacs' orgmode with `orgmode.nvim` have been added. Both will be disabled by default.
* Smooth scrolling for ANY movement command is now available with `cinnamon.nvim`
* You will now notice a dashboard on startup. This is provided by the `alpha.nvim` plugin. You can use any of the three available dashboard plugins, or disable them entirely.
* 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 `vim.visuals` if seen necessary.
* Discord Rich Presence has been added through `presence.nvim` for those who want to flex that they are using the *superior* text editor.
* An icon picker is now available with telescope integration. You can use `:IconPickerInsert` or `:IconPickerYank` to add icons to your code.
* A general purpose cheatsheet has been added through `cheatsheet.nvim`. Forget no longer!
* `ccc.nvim` has been added to the default plugins to allow picking colors with ease.
* Most UI components of Neovim have been replaced through the help of `noice.nvim`. There are also notifications and custom UI elements available for Neovim messages and prompts.
* A (floating by default) terminal has been added through `toggleterm.nvim`.
* Harness the power of ethical (`tabnine.nvim`) and not-so-ethical (`copilot.lua`) AI by those new assistant plugins. Both are off by default, TabNine needs to be wrapped before it's working.
* Experimental mouse gestures have been addede through `gesture.nvim`. See plugin page and the relevant module for more details on how to use.
* Re-open last visited buffers via `nvim-session-manager`. Disabled by default as deleting buffers seems to be problematic at the moment.
* Most of NvimTree's configuration options have been changed with some options being toggled to off by default.
* Lualine had its configuration simplified and style toned down. Less color, more info.
* Modules where multiple plugin configurations were in the same directory have been simplified. Each plugin inside a single module gets its own directory to be imported.
* Separate config options with the same parent attribute have been merged into one for simplicity.

View file

@ -0,0 +1,53 @@
# Release 0.2 {#sec-release-0.2}
Release notes for release 0.2
## Changelog {#sec-release-0.2-changelog}
[notashelf](https://github.com/notashelf):
- Added two minimap plugins under `vim.minimap`. `codewindow.nvim` is enabled by default, while `minimap.vim` is
available with its code-minimap dependency.
- A complementary plugin, `obsidian.nvim` and the Neovim alternative for Emacs' orgmode with `orgmode.nvim` have been
added. Both will be disabled by default.
- Smooth scrolling for ANY movement command is now available with `cinnamon.nvim`
- You will now notice a dashboard on startup. This is provided by the `alpha.nvim` plugin. You can use any of the
three available dashboard plugins, or disable them entirely.
- 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 `vim.visuals` if seen necessary.
- Discord Rich Presence has been added through `presence.nvim` for those who want to flex that they are using
the _superior_ text editor.
- An icon picker is now available with telescope integration. You can use `:IconPickerInsert` or `:IconPickerYank`
to add icons to your code.
- A general-purpose cheatsheet has been added through `cheatsheet.nvim`. Forget no longer!
- `ccc.nvim` has been added to the default plugins to allow picking colors with ease.
- Most UI components of Neovim have been replaced through the help of `noice.nvim`. There are also notifications
and custom UI elements available for Neovim messages and prompts.
- A (floating by default) terminal has been added through `toggleterm.nvim`.
- Harness the power of ethical (`tabnine.nvim`) and not-so-ethical (`copilot.lua`) AI by those new assistant plugins.
Both are off by default, TabNine needs to be wrapped before it's working.
- Experimental mouse gestures have been added through `gesture.nvim`. See plugin page and the relevant module for
more details on how to use.
- Re-open last visited buffers via `nvim-session-manager`. Disabled by default as deleting buffers seems to be
problematic at the moment.
- Most of NvimTree's configuration options have been changed with some options being toggled to off by default.
- Lualine had its configuration simplified and style toned down. Less color, more info.
- 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.
- Separate config options with the same parent attribute have been merged into one for simplicity.

View file

@ -1,75 +0,0 @@
[[sec-release-0.3]]
== Release 0.3
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.
[[sec-release-0.3-changelog]]
=== Changelog
* 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.
* We now provide a home-manager module. Do note that it is still far from perfect, but it works.
* `nodejs_16` is now bundled with `Copilot.lua` if the user has enabled Copilot assistant.
* 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 `+prefix`
* Most of `presence.nvim`'s options have been made fully configurable through your configuration file.
* Most of the modules have been refactored to separate `config` and `options` attributes.
* Darwin has been deprecated as the zig package is marked as broken. We will attempt to use the zig overlay to return Darwin
support.
* `Fidget.nvim` has been added as a neat visual addition for LSP installations.
* `diffview.nvim` has been added to provide a convenient diff utility.
* Treesitter grammars are now configurable with <<opt-vim.treesitter.grammars>>. Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions. See https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees[discourse] for more information. Packages can be found under the `pkgs.vimPlugins.nvim-treesitter.builtGrammars` 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: comment, toml, make, html, css, graphql, json.
* A new section has been added for language support: `vim.languages.<language>`. The options <<opt-vim.languages.enableLSP>>, <<opt-vim.languages.enableTreesitter>>, etc. will enable the respective section for all languages that have been enabled.
** All LSP languages have been moved here
** `plantuml` and `markdown` have been moved here
** A new section has been added for `html`. The old `vim.treesitter.autotagHtml` can be found at <<opt-vim.languages.html.treesitter.autotagHtml>>.
* <<opt-vim.git.gitsigns.codeActions>> has been added allowing you to turn on gitsigns codeactions.
* Removed the plugins document in the docs. Was too unwieldy to keep updated.
* `vim.visual.lspkind` has been moved to <<opt-vim.lsp.lspkind.enable>>
* Improved handling of completion formatting. When setting <<opt-vim.autocomplete.sources>>, can also include optional menu mapping. And can provide your own function with <<opt-vim.autocomplete.formatting.format>>.
* For <<opt-vim.visuals.indentBlankline.fillChar>> and <<opt-vim.visuals.indentBlankline.eolChar>> turning them off should use `null` rather than `""` now.
* Transparency has been made optional and has been disabled by default. <<opt-vim.theme.transparent>> option can be used to enable or
disable transparency for your configuration.
* Fixed deprecated configuration method for Tokyonight, and added new style "moon"
* Dart language support as well as extended flutter support has been added. Thanks to @FlafyDev for his contributions towards Dart
language support.
* Elixir language support has been added through `elixir-tools.nvim`.
* `hop.nvim` and `leap.nvim` have been added for fast navigation.
* `modes.nvim` has been added to the UI plugins as a minor error highlighter.
* `smartcollumn.nvim` has been added to dynamically display a colorcolumn when the limit has been exceeded, providing
per-buftype column position and more.
* `project.nvim` has been added for better project management inside Neovim.
* More configuration options have been added to `nvim-session-manager`.
* Editorconfig support has been added to the core functionality, with an enable option.
* `venn-nvim` has been dropped due to broken keybinds.

View file

@ -0,0 +1,81 @@
# Release 0.3 {#sec-release-0.3}
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.
## Changelog {#sec-release-0.3-changelog}
- 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.
- We now provide a home-manager module. Do note that it is still far from perfect, but it works.
- `nodejs_16` is now bundled with `Copilot.lua` if the user has enabled Copilot assistant.
- 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 `+prefix`
- Most of `presence.nvim`'s options have been made fully configurable through your configuration file.
- Most of the modules have been refactored to separate `config` and `options` attributes.
- Darwin has been deprecated as the zig package is marked as broken. We will attempt to use the zig overlay to return Darwin
support.
- `Fidget.nvim` has been added as a neat visual addition for LSP installations.
- `diffview.nvim` has been added to provide a convenient diff utility.
- Treesitter grammars are now configurable with [vim.treesitter.grammars](vim.treesitter.grammars).
Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions.
See [discourse](https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees) for more information.
Packages can be found under the `pkgs.vimPlugins.nvim-treesitter.builtGrammars` 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:
**comment**, **toml**, **make**, **html**, **css**, **graphql**, **json**.
- A new section has been added for language support: `vim.languages.<language>`.
- The options [vim.languages.enableLSP](vim.languages.enableLSP), [vim.languages.enableTreesitter](vim.languages.enableTreesitter), etc.
will enable the respective section for all languages that have been enabled.
- All LSP languages have been moved here
- `plantuml` and `markdown` have been moved here
- A new section has been added for `html`. The old `vim.treesitter.autotagHtml` can be found at <<opt-vim.languages.html.treesitter.autotagHtml>>.
- [vim.git.gitsigns.codeActions](vim.git.gitsigns.codeActions) has been added allowing you to turn on gitsigns codeactions.
- Removed the plugins document in the docs. Was too unwieldy to keep updated.
- `vim.visual.lspkind` has been moved to [vim.lsp.lspkind.enable](vim.lsp.lspkind.enable)
- Improved handling of completion formatting. When setting [vim.autocomplete.sources](vim.autocomplete.sources), can also include optional menu mapping.
And can provide your own function with [vim.autocomplete.formatting.format](vim.autocomplete.formatting.format).
- For [vim.visuals.indentBlankline.fillChar](vim.visuals.indentBlankline.fillChar) and [vim.visuals.indentBlankline.eolChar](vim.visuals.indentBlankline.eolChar)
turning them off should use `null` rather than `""` now.
- Transparency has been made optional and has been disabled by default. [vim.theme.transparent](vim.theme.transparent) option can be used to enable or
disable transparency for your configuration.
- Fixed deprecated configuration method for Tokyonight, and added new style "moon"
- Dart language support as well as extended flutter support has been added. Thanks to @FlafyDev for his contributions towards Dart
language support.
- Elixir language support has been added through `elixir-tools.nvim`.
- `hop.nvim` and `leap.nvim` have been added for fast navigation.
- `modes.nvim` has been added to the UI plugins as a minor error highlighter.
- `smartcollumn.nvim` has been added to dynamically display a colorcolumn when the limit has been exceeded, providing
per-buftype column position and more.
- `project.nvim` has been added for better project management inside Neovim.
- More configuration options have been added to `nvim-session-manager`.
- Editorconfig support has been added to the core functionality, with an enable option.
- `venn-nvim` has been dropped due to broken keybinds.

View file

@ -1,72 +0,0 @@
[[sec-release-0.4]]
== Release 0.4
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 (`vim.keybinds = {}`) 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.
Alongside customizable keybinds, there are a few quality of life updates, such as `lazygit` integration and the new experimental Lua loader of Neovim 0.9 thanks to our awesome contributors who made this update possible during my absence.
[[sec-release-0.4-changelog]]
=== Changelog
https://github.com/n3oney[n3oney]:
* Streamlined keybind adding process towards new functions in extended stdlib.
* Moved default keybinds into keybinds section of each module
* Simplified luaConfigRC and configRC setting - they can now just take strings
* Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere
* Fixed formatting sometimes removing parts of files
* Made formatting synchronous
* Gave null-ls priority over other formatters
https://github.com/horriblename[horriblename]:
* Added `clangd` as alternative lsp for C/++.
* Added `toggleterm` integration for `lazygit`.
* Added new option `enableluaLoader` to enable neovim's experimental module loader for faster startup time.
* Fixed bug where flutter-tools can't find `dart` LSP
* Added Debug Adapter (DAP) support for clang, rust, go, python and dart.
https://github.com/notashelf[notashelf]:
* Made Copilot's Node package configurable. It is recommended to keep as default, but providing a different NodeJS version is now possible.
* Added <<opt-vim.cursorlineOpt>> for configuring Neovim's cursorlineOpt.
* Added `filetree.nvimTreeLua.view.cursorline`, default false, to enable cursorline in nvimtre.
* Added Fidget.nvim support for the Catppuccin theme.
* Updated bundled NodeJS version used by `Copilot.lua`. v16 is now marked as insecure on Nixpkgs, and we updated to v18
* Enabled Catppuccin modules for plugins available by default.
* Added experimental Svelte support under `vim.languages`.
* Removed unnecessary scrollbar element from notifications and codeaction warning UI.
* `vim.utility.colorizer` has been renamed to `vim.utility.ccc` after the plugin it uses
* Color preview via `nvim-colorizer.lua`
* Updated Lualine statusline UI
* Added vim-illuminate for smart highlighting
* Added a module for enabling Neovim's spellchecker
* Added prettierd as an alternative formatter to prettier - currently defaults to prettier
* Fixed presence.nvim inheriting the wrong client id
* Cleaned up documentation

View file

@ -0,0 +1,73 @@
# Release 0.4 {#sec-release-0.4}
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 (`vim.keybinds = {}`) 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.
Alongside customizable keybinds, there are a few quality of life updates, such as `lazygit` integration and the
new experimental Lua loader of Neovim 0.9 thanks to our awesome contributors who made this update possible during my absence.
## Changelog {#sec-release-0.4-changelog}
[n3oney](https://github.com/n3oney):
- Streamlined keybind adding process towards new functions in extended stdlib.
- Moved default keybinds into keybinds section of each module
- Simplified luaConfigRC and configRC setting - they can now just take strings
- Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere
- Fixed formatting sometimes removing parts of files
- Made formatting synchronous
- Gave null-ls priority over other formatters
[horriblename](https://github.com/horriblename):
- Added `clangd` as alternative lsp for C/++.
- Added `toggleterm` integration for `lazygit`.
- Added new option `enableluaLoader` to enable neovim's experimental module loader for faster startup time.
- Fixed bug where flutter-tools can't find `dart` LSP
- Added Debug Adapter (DAP) support for clang, rust, go, python and dart.
[notashelf](https://github.com/notashelf):
- Made Copilot's Node package configurable. It is recommended to keep as default, but providing a different NodeJS version is now possible.
- Added [vim.cursorlineOpt](vim.cursorlineOpt) for configuring Neovim's cursorlineOpt.
- Added `filetree.nvimTreeLua.view.cursorline`, default false, to enable cursorline in nvimtre.
- Added Fidget.nvim support for the Catppuccin theme.
- Updated bundled NodeJS version used by `Copilot.lua`. v16 is now marked as insecure on Nixpkgs, and we updated to v18
- Enabled Catppuccin modules for plugins available by default.
- Added experimental Svelte support under `vim.languages`.
- Removed unnecessary scrollbar element from notifications and codeaction warning UI.
- `vim.utility.colorizer` has been renamed to `vim.utility.ccc` after the plugin it uses
- Color preview via `nvim-colorizer.lua`
- Updated Lualine statusline UI
- Added vim-illuminate for smart highlighting
- Added a module for enabling Neovim's spellchecker
- Added prettierd as an alternative formatter to prettier - currently defaults to prettier
- Fixed presence.nvim inheriting the wrong client id
- Cleaned up documentation

View file

@ -1,104 +0,0 @@
[[sec-release-0.5]]
== Release 0.5
[[sec-release-0.5-changelog]]
=== Changelog
https://github.com/vagahbond[vagahbond]:
* Added phan language server for PHP
* Added phpactor language server for PHP
https://github.com/horriblename[horriblename]:
* Added transparency support for tokyonight theme
* Fixed a bug where cmp's close and scrollDocs mappings wasn't working
* Streamlined and simplified extra plugin API with the addition of <<opt-vim.extraPlugins>>
* Allow using command names in place of LSP packages to avoid automatic installation
* Add lua LSP and treesitter support, and neodev.nvim plugin support
* Add <<opt-vim.lsp.mappings.toggleFormatOnSave>> keybind
https://github.com/amanse[amanse]:
* Added daily notes options for obsidian plugin
* Added jdt-language-server for Java
https://github.com/yavko[yavko]:
* Added Deno Language Server for javascript/typescript
* Added support for multiple languages <<opt-vim.spellChecking.languages>>, and added vim-dirtytalk <<opt-vim.spellChecking.enableProgrammingWordList>>
https://github.com/FrothyMarrow[frothymarrow]:
* Renamed `vim.visuals.cursorWordline` to <<opt-vim.visuals.cursorline.enable>>
* Added <<opt-vim.visuals.cursorline.lineNumbersOnly>> to display cursorline only in the presence of line numbers
* Added Oxocarbon to the list of available themes.
https://github.com/notashelf[notashelf]:
* Added GitHub Copilot to nvim-cmp completion sources.
* Added <<opt-vim.ui.borders.enable>> for global and individual plugin border configuration.
* LSP integrated breadcrumbs with <<opt-vim.ui.breadcrumbs.enable>> through nvim-navic
* LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically enabled)
* Addeed nvim-navic integration for catppuccin theme
* Fixed mismatching zig language description
* Added support for `statix` and `deadnix` through <<opt-vim.languages.nix.extraDiagnostics.types>>
* Added lsp_lines plugin for showing diagnostic messages
* Added a configuration option for choosing the leader key
* The package used for neovim is now customizable by the user, using <<opt-vim.package>>. For best results, always use an unwrapped package
* Added highlight-undo plugin for highlighting undo/redo targets
* Added bash LSP and formatter support
* Disabled Lualine LSP status indicator for toggleterm buffer
* Added `nvim-docs-view`, a plugin to display lsp hover documentation in a side panel
* Switched to `nixosOptionsDoc` 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."
* Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with `renamedOptionModule`
https://github.com/jacekpoz[jacekpoz]:
* Fixed scrollOffset not being used
* Updated clangd to 16
* Disabled `useSystemClipboard` by default
https://github.com/ksonj[ksonj]:
* Add support to change mappings to utility/surround
* Add black-and-isort python formatter
* Removed redundant "Enable ..." in `mkEnableOption` descriptions
* Add options to modify LSP key bindings and add proper whichkey descriptions
* Changed type of `statusline.lualine.activeSection` and `statusline.lualine.inactiveSection` from `attrsOf str` to `attrsOf (listOf str)`
* Added `statusline.lualine.extraActiveSection` and `statusline.lualine.extraInactiveSection`

View file

@ -0,0 +1,107 @@
# Release 0.5 {#sec-release-0.5}
Release notes for release 0.5
## Changelog {#sec-release-0.5-changelog}
[vagahbond](https://github.com/vagahbond):
- Added phan language server for PHP
- Added phpactor language server for PHP
[horriblename](https://github.com/horriblename):
- Added transparency support for tokyonight theme
- Fixed a bug where cmp's close and scrollDocs mappings wasn't working
- Streamlined and simplified extra plugin API with the addition of [vim.extraPlugins](vim.extraPlugins)
- Allow using command names in place of LSP packages to avoid automatic installation
- Add lua LSP and treesitter support, and neodev.nvim plugin support
- Add [vim.lsp.mappings.toggleFormatOnSave](vim.lsp.mappings.toggleFormatOnSave) keybind
[amanse](https://github.com/amanse):
- Added daily notes options for obsidian plugin
- Added jdt-language-server for Java
[yavko](https://github.com/yavko):
- Added Deno Language Server for javascript/typescript
- Added support for multiple languages [vim.spellChecking.languages](vim.spellChecking.languages), and added
vim-dirtytalk through [vim.spellChecking.enableProgrammingWordList](vim.spellChecking.enableProgrammingWordList)
[frothymarrow](https://github.com/FrothyMarrow):
- Renamed `vim.visuals.cursorWordline` to [vim.visuals.cursorline.enable](vim.visuals.cursorline.enable)
- Added [vim.visuals.cursorline.lineNumbersOnly](vim.visuals.cursorline.lineNumbersOnly) to display cursorline
only in the presence of line numbers
- Added Oxocarbon to the list of available themes.
[notashelf](https://github.com/notashelf):
- Added GitHub Copilot to nvim-cmp completion sources.
- Added [vim.ui.borders.enable](vim.ui.borders.enable) for global and individual plugin border configuration.
- LSP integrated breadcrumbs with [vim.ui.breadcrumbs.enable](vim.ui.breadcrumbs.enable) through nvim-navic
- LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically enabled if navic is enabled)
- Addeed nvim-navic integration for catppuccin theme
- Fixed mismatching zig language description
- Added support for `statix` and `deadnix` through [vim.languages.nix.extraDiagnostics.types](vim.languages.nix.extraDiagnostics.types)
- Added `lsp_lines` plugin for showing diagnostic messages
- Added a configuration option for choosing the leader key
- The package used for neovim is now customizable by the user, using [vim.package](vim.package).
For best results, always use an unwrapped package
- Added highlight-undo plugin for highlighting undo/redo targets
- Added bash LSP and formatter support
- Disabled Lualine LSP status indicator for toggleterm buffer
- Added `nvim-docs-view`, a plugin to display lsp hover documentation in a side panel
- Switched to `nixosOptionsDoc` 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."
- Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with `renamedOptionModule`
[jacekpoz](https://github.com/jacekpoz):
- Fixed scrollOffset not being used
- Updated clangd to 16
- Disabled `useSystemClipboard` by default
[ksonj](https://github.com/ksonj):
- Add support to change mappings to utility/surround
- Add black-and-isort python formatter
- Removed redundant "Enable ..." in `mkEnableOption` descriptions
- Add options to modify LSP key bindings and add proper whichkey descriptions
- Changed type of `statusline.lualine.activeSection` and `statusline.lualine.inactiveSection`
from `attrsOf str` to `attrsOf (listOf str)`
- Added `statusline.lualine.extraActiveSection` and `statusline.lualine.extraInactiveSection`

View file

@ -1,12 +0,0 @@
[[sec-release-0.6]]
== Release 0.6
Release notes for release 0.6
[[sec-release-0.6-changelog]]
=== Changelog
https://github.com/ksonj[ksonj]:
* Add Terraform language support

View file

@ -0,0 +1,19 @@
# Release 0.6 {#sec-release-0.6}
Release notes for release 0.6
## Changelog {#sec-release-0.6-changelog}
[ksonj](https://github.com/ksonj):
- Add Terraform language support
[horriblename](https://github.com/horriblename):
- Fixed empty winbar when breadcrumbs are disabled
[notashelf](https://github.com/notashelf):
- Finished moving to `nixosOptionsDoc` in the documentation and changelog. We are fully free of asciidoc now
- Bumped plugin inputs to their latest versions