mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-14 03:04:34 +02:00
plugins/wrapping: Add more options
This commit is contained in:
parent
846e1a321a
commit
0ca98d0210
2 changed files with 67 additions and 6 deletions
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ lib, ... }:
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
inherit (lib.nixvim) defaultNullOpts;
|
inherit (lib.nixvim) defaultNullOpts;
|
||||||
in
|
in
|
||||||
|
@ -18,9 +14,69 @@ lib.nixvim.neovim-plugin.mkNeovimPlugin {
|
||||||
By default, wrapping.nvim will output a message to the
|
By default, wrapping.nvim will output a message to the
|
||||||
command line when the hard or soft mode is set.
|
command line when the hard or soft mode is set.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
create_commands = defaultNullOpts.mkBool true ''
|
||||||
|
If true, the plugin will create the following
|
||||||
|
commands to set/override a wrapping mode in case
|
||||||
|
it is not autodetected correctly:
|
||||||
|
|
||||||
|
* 'HardWrapMode'
|
||||||
|
|
||||||
|
* 'SoftWrapMode'
|
||||||
|
|
||||||
|
* 'ToggleWrapMode'
|
||||||
|
'';
|
||||||
|
|
||||||
|
create_keymaps = defaultNullOpts.mkBool true ''
|
||||||
|
If true, it will create the following normal-mode keymappings:
|
||||||
|
|
||||||
|
* '[ow' (soft wrap mode)
|
||||||
|
|
||||||
|
* ']ow' (hard wrap mode)
|
||||||
|
|
||||||
|
* 'yow' (toggle wrap mode)
|
||||||
|
'';
|
||||||
|
|
||||||
|
auto_set_mode_filetype_allowlist = defaultNullOpts.mkListOf lib.types.str [
|
||||||
|
"asciidoc"
|
||||||
|
"gitcommit"
|
||||||
|
"help"
|
||||||
|
"latex"
|
||||||
|
"mail"
|
||||||
|
"markdown"
|
||||||
|
"rst"
|
||||||
|
"tex"
|
||||||
|
"text"
|
||||||
|
"typst"
|
||||||
|
] "Filetypes for automatic heuristic mode triggers.";
|
||||||
|
|
||||||
|
auto_set_mode_filetype_denylist =
|
||||||
|
defaultNullOpts.mkListOf lib.types.str [ ]
|
||||||
|
"Auto set mode filetype deny list";
|
||||||
|
|
||||||
|
auto_set_mode_heuristically = defaultNullOpts.mkBool true ''
|
||||||
|
If true, the plugin will set the hard or soft mode automatically when any file loads.
|
||||||
|
|
||||||
|
For a specific set of file types, use `plugins.wrapping.settings.auto_set_mode_filetype_allowlist`.
|
||||||
|
|
||||||
|
It uses the `BufWinEnter` event in an autocmd with a variety of undocumented heuristics.
|
||||||
|
Refer to the [plugin documentation] for more details on this evolving behavior.
|
||||||
|
|
||||||
|
[plugin documentation] https://github.com/andrewferrier/wrapping.nvim?tab=readme-ov-file#automatic-heuristic-mode'';
|
||||||
|
|
||||||
|
set_nvim_opt_default = defaultNullOpts.mkBool true ''
|
||||||
|
If true, wrapping.nvim will tweak some NeoVim defaults
|
||||||
|
(linebreak and wrap) to make it operate more smoothly.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
settingsExample = {
|
settingsExample = {
|
||||||
notify_on_switch = false;
|
notify_on_switch = false;
|
||||||
|
create_commands = false;
|
||||||
|
create_keymaps = false;
|
||||||
|
auto_set_mode_filetype_allowlist = [
|
||||||
|
"file"
|
||||||
|
"filetwo"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,12 @@
|
||||||
defaults = {
|
defaults = {
|
||||||
plugins.wrapping = {
|
plugins.wrapping = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.notify_on_switch = true;
|
settings = {
|
||||||
|
notify_on_switch = true;
|
||||||
|
create_commands = true;
|
||||||
|
create_keymaps = false;
|
||||||
|
set_nvim_opt_default = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue