Skip to content

Commit

Permalink
docs: finish converting to markdown
Browse files Browse the repository at this point in the history
  • Loading branch information
NotAShelf committed Jan 2, 2024
1 parent de94d2e commit ba41e91
Show file tree
Hide file tree
Showing 9 changed files with 178 additions and 152 deletions.
4 changes: 3 additions & 1 deletion docs/manual/default-configs/maximal.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

::: note
:::{.note}

Running the maximal config will download _a lot_ of packages as it is downloading language servers, formatters, and more.

:::
9 changes: 6 additions & 3 deletions docs/manual/hacking/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

:::{.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
Expand Down Expand Up @@ -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
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.
See <<ex-commit-message>> for a commit message that fulfills these requirements.
See [example commit message](#ex-commit-message) for a commit message that fulfills these requirements.

## 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

```
Expand Down
8 changes: 4 additions & 4 deletions docs/manual/hacking/keybinds.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# 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
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.

## 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>>`.
The available modes are:

Expand Down Expand Up @@ -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
time:
Expand Down
4 changes: 4 additions & 0 deletions docs/manual/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ hacking.md
```{=include=} appendix html:into-file=//options.html
options.md
```

```{=include=} appendix html:into-file=//release-notes.html
release-notes/release-notes.md
```
2 changes: 1 addition & 1 deletion docs/release-notes/rl-0.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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.
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}
Expand Down
96 changes: 51 additions & 45 deletions docs/release-notes/rl-0.3.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,81 @@
[[sec-release-0.3]]
== Release 0.3
# 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.
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
## 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 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.
- 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.
- `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`
- 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 `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.
- 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.
- 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.
- `Fidget.nvim` has been added as a neat visual addition for LSP installations.

* `diffview.nvim` has been added to provide a convenient diff utility.
- `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.
- 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 <<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>>.
- A new section has been added for language support: `vim.languages.<language>`.

* <<opt-vim.git.gitsigns.codeActions>> has been added allowing you to turn on gitsigns codeactions.
- 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>>.

* Removed the plugins document in the docs. Was too unwieldy to keep updated.
- [vim.git.gitsigns.codeActions](vim.git.gitsigns.codeActions) has been added allowing you to turn on gitsigns codeactions.

* `vim.visual.lspkind` has been moved to <<opt-vim.lsp.lspkind.enable>>
- Removed the plugins document in the docs. Was too unwieldy to keep updated.

* 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>>.
- `vim.visual.lspkind` has been moved to [vim.lsp.lspkind.enable](vim.lsp.lspkind.enable)

* For <<opt-vim.visuals.indentBlankline.fillChar>> and <<opt-vim.visuals.indentBlankline.eolChar>> turning them off should use `null` rather than `""` now.
- 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).

* 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.
- 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.

* Fixed deprecated configuration method for Tokyonight, and added new style "moon"
- 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.

* Dart language support as well as extended flutter support has been added. Thanks to @FlafyDev for his contributions towards Dart
language support.
- Fixed deprecated configuration method for Tokyonight, and added new style "moon"

* Elixir language support has been added through `elixir-tools.nvim`.
- Dart language support as well as extended flutter support has been added. Thanks to @FlafyDev for his contributions towards Dart
language support.

* `hop.nvim` and `leap.nvim` have been added for fast navigation.
- Elixir language support has been added through `elixir-tools.nvim`.

* `modes.nvim` has been added to the UI plugins as a minor error highlighter.
- `hop.nvim` and `leap.nvim` have been added for fast navigation.

* `smartcollumn.nvim` has been added to dynamically display a colorcolumn when the limit has been exceeded, providing
per-buftype column position and more.
- `modes.nvim` has been added to the UI plugins as a minor error highlighter.

* `project.nvim` has been added for better project management inside Neovim.
- `smartcollumn.nvim` has been added to dynamically display a colorcolumn when the limit has been exceeded, providing
per-buftype column position and more.

* More configuration options have been added to `nvim-session-manager`.
- `project.nvim` has been added for better project management inside Neovim.

* Editorconfig support has been added to the core functionality, with an enable option.

* `venn-nvim` has been dropped due to broken keybinds.
- 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.
77 changes: 39 additions & 38 deletions docs/release-notes/rl-0.4.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,73 @@
[[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.
# Release 0.4 {#sec-release-0.4}

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.
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
## Changelog {#sec-release-0.4-changelog}

https://github.com/n3oney[n3oney]:
[n3oney](https://github.com/n3oney):

* Streamlined keybind adding process towards new functions in extended stdlib.
- Streamlined keybind adding process towards new functions in extended stdlib.

* Moved default keybinds into keybinds section of each module
- Moved default keybinds into keybinds section of each module

* Simplified luaConfigRC and configRC setting - they can now just take strings
- 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
- Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere

* Fixed formatting sometimes removing parts of files
- Fixed formatting sometimes removing parts of files

* Made formatting synchronous
- Made formatting synchronous

* Gave null-ls priority over other formatters
- Gave null-ls priority over other formatters

https://github.com/horriblename[horriblename]:
[horriblename](https://github.com/horriblename):

* Added `clangd` as alternative lsp for C/++.
- Added `clangd` as alternative lsp for C/++.

* Added `toggleterm` integration for `lazygit`.
- Added `toggleterm` integration for `lazygit`.

* Added new option `enableluaLoader` to enable neovim's experimental module loader for faster startup time.
- 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
- Fixed bug where flutter-tools can't find `dart` LSP

* Added Debug Adapter (DAP) support for clang, rust, go, python and dart.
- Added Debug Adapter (DAP) support for clang, rust, go, python and dart.

https://github.com/notashelf[notashelf]:
[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.
- 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 [vim.cursorlineOpt](vim.cursorlineOpt) for configuring Neovim's cursorlineOpt.

* Added `filetree.nvimTreeLua.view.cursorline`, default false, to enable cursorline in nvimtre.
- Added `filetree.nvimTreeLua.view.cursorline`, default false, to enable cursorline in nvimtre.

* Added Fidget.nvim support for the Catppuccin theme.
- 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
- 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.
- Enabled Catppuccin modules for plugins available by default.

* Added experimental Svelte support under `vim.languages`.
- Added experimental Svelte support under `vim.languages`.

* Removed unnecessary scrollbar element from notifications and codeaction warning UI.
- 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
- `vim.utility.colorizer` has been renamed to `vim.utility.ccc` after the plugin it uses

* Color preview via `nvim-colorizer.lua`
- Color preview via `nvim-colorizer.lua`

* Updated Lualine statusline UI
- Updated Lualine statusline UI

* Added vim-illuminate for smart highlighting
- Added vim-illuminate for smart highlighting

* Added a module for enabling Neovim's spellchecker
- Added a module for enabling Neovim's spellchecker

* Added prettierd as an alternative formatter to prettier - currently defaults to prettier
- Added prettierd as an alternative formatter to prettier - currently defaults to prettier

* Fixed presence.nvim inheriting the wrong client id

* Cleaned up documentation
- Fixed presence.nvim inheriting the wrong client id

- Cleaned up documentation
Loading

0 comments on commit ba41e91

Please sign in to comment.