mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-10-03 15:33:30 +00:00
docs: restructure to allow a clean migration to new documentation util
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I6a6a6964afba43bdda6a2cbf037404ca3fa4f8c9
This commit is contained in:
parent
6e1d539712
commit
b9dd1b816a
27 changed files with 760 additions and 898 deletions
183
docs/manual/release-notes/rl-0.6.md
Normal file
183
docs/manual/release-notes/rl-0.6.md
Normal file
|
@ -0,0 +1,183 @@
|
|||
# Release 0.6 {#sec-release-0-6}
|
||||
|
||||
Release notes for release 0-6
|
||||
|
||||
## Breaking Changes and Migration Guide {#sec-breaking-changes-and-migration-guide}
|
||||
|
||||
In v0.6 we are introducing `setupOpts`: many plugin related options are moved
|
||||
into their respective `setupOpts` submodule, e.g. `nvimTree.disableNetrw` is
|
||||
renamed to `nvimTree.setupOpts.disable_netrw`.
|
||||
|
||||
_Why?_ in short, you can now pass in anything to setupOpts and it will be passed
|
||||
to your `require'plugin'.setup{...}`. No need to wait for us to support every
|
||||
single plugin option.
|
||||
|
||||
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!
|
||||
|
||||
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):
|
||||
|
||||
```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 })
|
||||
```
|
||||
|
||||
## Changelog {#sec-release-0.6-changelog}
|
||||
|
||||
[ksonj](https://github.com/ksonj):
|
||||
|
||||
- Added Terraform language support.
|
||||
|
||||
- Added `ChatGPT.nvim`, which can be enabled with
|
||||
[](#opt-vim.assistant.chatgpt.enable). Do keep in mind that this option
|
||||
requires `OPENAI_API_KEY` environment variable to be set.
|
||||
|
||||
[donnerinoern](https://github.com/donnerinoern):
|
||||
|
||||
- Added Gruvbox theme.
|
||||
|
||||
- Added marksman LSP for Markdown.
|
||||
|
||||
- Fixed markdown preview with Glow not working and added an option for changing
|
||||
the preview keybind.
|
||||
|
||||
- colorizer.nvim: switched to a maintained fork.
|
||||
|
||||
- Added `markdown-preview.nvim`, moved `glow.nvim` to a brand new
|
||||
`vim.utility.preview` category.
|
||||
|
||||
[elijahimmer](https://github.com/elijahimmer)
|
||||
|
||||
- Added rose-pine theme.
|
||||
|
||||
[poz](https://poz.pet):
|
||||
|
||||
- Added `vim.autocomplete.alwaysComplete`. Allows users to have the autocomplete
|
||||
window popup only when manually activated.
|
||||
|
||||
[horriblename](https://github.com/horriblename):
|
||||
|
||||
- Fixed empty winbar when breadcrumbs are disabled.
|
||||
|
||||
- Added custom `setupOpts` for various plugins.
|
||||
|
||||
- Removed support for deprecated plugin "nvim-compe".
|
||||
|
||||
- Moved most plugins to `setupOpts` method.
|
||||
|
||||
[frothymarrow](https://github.com/frothymarrow):
|
||||
|
||||
- Added option `vim.luaPackages` to wrap neovim with extra Lua packages.
|
||||
|
||||
- Rewrote the entire `fidget.nvim` module to include extensive configuration
|
||||
options. Option `vim.fidget-nvim.align.bottom` has been removed in favor of
|
||||
`vim.fidget-nvim.notification.window.align`, which now supports `top` and
|
||||
`bottom` values. `vim.fidget-nvim.align.right` has no longer any equivalent
|
||||
and also has been removed.
|
||||
|
||||
- `which-key.nvim` categories can now be customized through
|
||||
[vim.binds.whichKey.register](#opt-vim.binds.whichKey.register)
|
||||
|
||||
- Added `magick` to `vim.luaPackages` for `image.nvim`.
|
||||
|
||||
- Added `alejandra` to the default devShell.
|
||||
|
||||
- Migrated neovim-flake to `makeNeovimUnstable` wrapper.
|
||||
|
||||
[notashelf](https://github.com/notashelf):
|
||||
|
||||
- Finished moving to `nixosOptionsDoc` in the documentation and changelog. All
|
||||
documentation options and files are fully free of Asciidoc, and will now use
|
||||
Nixpkgs flavored markdown.
|
||||
|
||||
- Bumped plugin inputs to their latest versions.
|
||||
|
||||
- Deprecated `presence.nvim` in favor of `neocord`. This means
|
||||
`vim.rich-presence.presence-nvim` is removed and will throw a warning if used.
|
||||
You are recommended to rewrite your neocord configuration from scratch based
|
||||
on the. [official documentation](https://github.com/IogaMaster/neocord)
|
||||
|
||||
- Removed Tabnine plugin due to the usage of imperative tarball downloads. If
|
||||
you'd like to see it back, please create an issue.
|
||||
|
||||
- Added support for css and tailwindcss through
|
||||
vscode-language-servers-extracted & tailwind-language-server. Those can be
|
||||
enabled through `vim.languages.css` and `vim.languages.tailwind`.
|
||||
|
||||
- Lualine module now allows customizing `always_divide_middle`, `ignore_focus`
|
||||
and `disabled_filetypes` through the new options:
|
||||
[vim.statusline.lualine.alwaysDivideMiddle](#opt-vim.statusline.lualine.alwaysDivideMiddle),
|
||||
[vim.statusline.lualine.ignoreFocus](#opt-vim.statusline.lualine.ignoreFocus)
|
||||
and
|
||||
[vim.statusline.lualine.disabledFiletypes](#opt-vim.statusline.lualine.disabledFiletypes).
|
||||
|
||||
- Updated all plugin inputs to their latest versions (**21.04.2024**) - this
|
||||
brought minor color changes to the Catppuccin theme.
|
||||
|
||||
- Moved home-manager module entrypoint to `flake/modules` and added an
|
||||
experimental Nixos module. This requires further testing before it can be
|
||||
considered ready for use.
|
||||
|
||||
- Made lib calls explicit. E.g. `lib.strings.optionalString` instead of
|
||||
`lib.optionalString`. This is a pattern expected to be followed by all
|
||||
contributors in the future.
|
||||
|
||||
- Added `image.nvim` for image previews.
|
||||
|
||||
- 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.
|
||||
|
||||
- Changed the tree structure to distinguish between core options and plugin
|
||||
options.
|
||||
|
||||
- Added plugin auto-discovery from plugin inputs. This is mostly from
|
||||
[JordanIsaac's neovim-flake](https://github.com/jordanisaacs/neovim-flake).
|
||||
Allows contributors to add plugin inputs with the `plugin-` prefix to have
|
||||
them automatically discovered for the `plugin` type in `lib/types`.
|
||||
|
||||
- Moved internal `wrapLuaConfig` to the extended library, structured its
|
||||
arguments to take `luaBefore`, `luaConfig` and `luaAfter` as strings, which
|
||||
are then concatted inside a lua block.
|
||||
|
||||
- Added [](#opt-vim.luaConfigPre) and [](#opt-vim.luaConfigPost) 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.
|
||||
|
||||
- Added `vim.spellchecking.ignoredFiletypes` and
|
||||
`vim.spellChecking.programmingWordlist.enable` for ignoring certain filetypes
|
||||
in spellchecking and enabling `vim-dirtytalk` respectively. The previously
|
||||
used `vim.spellcheck.vim-dirtytalk` aliases to the latter option.
|
||||
|
||||
- Exposed `withRuby`, `withNodeJs`, `withPython3`, and `python3Packages` from
|
||||
the `makeNeovimConfig` function under their respective options.
|
||||
|
||||
- Added [](#opt-vim.extraPackages) for appending additional packages to the
|
||||
wrapper PATH, making said packages available while inside the Neovim session.
|
||||
|
||||
- Made Treesitter options configurable, and moved treesitter-context to
|
||||
`setupOpts` while it is enabled.
|
||||
|
||||
- Added [](#opt-vim.notify.nvim-notify.setupOpts.render) 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.
|
Loading…
Add table
Add a link
Reference in a new issue