mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-22 21:30:51 +00:00
Merge pull request #257 from horriblename/docs-setupOpts
docs: more detail in setupOpts + migration guide
This commit is contained in:
commit
82499551f3
2 changed files with 42 additions and 1 deletions
|
@ -2,6 +2,41 @@
|
||||||
|
|
||||||
Release notes for 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}
|
## Changelog {#sec-release-0.6-changelog}
|
||||||
|
|
||||||
[ksonj](https://github.com/ksonj):
|
[ksonj](https://github.com/ksonj):
|
||||||
|
|
|
@ -90,7 +90,13 @@ in {
|
||||||
*/
|
*/
|
||||||
mkPluginSetupOption = pluginName: opts:
|
mkPluginSetupOption = pluginName: opts:
|
||||||
mkOption {
|
mkOption {
|
||||||
description = "Option table to pass into the setup function of " + pluginName;
|
description = ''
|
||||||
|
Option table to pass into the setup function of ${pluginName}
|
||||||
|
|
||||||
|
You can pass in any additional options even if they're
|
||||||
|
not listed in the docs
|
||||||
|
'';
|
||||||
|
|
||||||
default = {};
|
default = {};
|
||||||
type = submodule {
|
type = submodule {
|
||||||
freeformType = attrsOf anything;
|
freeformType = attrsOf anything;
|
||||||
|
|
Loading…
Reference in a new issue