mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-25 14:46:45 +00:00
99ace503ad
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-html) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-json) (push) Has been cancelled
Validate flake & check documentation / Validate Flake Documentation (docs-manpages) (push) Has been cancelled
Validate flake & check formatting / Validate Flake (push) Has been cancelled
Validate flake & check formatting / Formatting via Alejandra (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
* plugins/lsp: add code-actions module; add fastaction.nvim * deprecate nvimCodeActionMenu * fastaction-nvim: move range_code_action to visual maps * fastaction: move to vim.ui, remove mappings, enable register_ui_select by default * fastaction: add missing documentation * fastaction: support vim.ui.borders * treewide: clean up nvim-code-action-menu remnants * docs: add missing section ids --------- Co-authored-by: NotAShelf <raf@notashelf.dev>
50 lines
1.6 KiB
Nix
50 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib.options) mkOption mkEnableOption;
|
|
inherit (lib.nvim.types) borderType;
|
|
|
|
cfg = config.vim.ui.borders;
|
|
in {
|
|
options.vim.ui.borders = {
|
|
enable = mkEnableOption "visible borders for most windows";
|
|
|
|
globalStyle = mkOption {
|
|
type = borderType;
|
|
default = "rounded";
|
|
description = ''
|
|
The global border style to use.
|
|
|
|
If a list is given, it should have a length of eight or any divisor of
|
|
eight. The array will specify the eight chars building up the border in
|
|
a clockwise fashion starting with the top-left corner. You can specify
|
|
a different highlight group for each character by passing a
|
|
[char, "YourHighlightGroup"] instead
|
|
'';
|
|
example = ["╔" "═" "╗" "║" "╝" "═" "╚" "║"];
|
|
};
|
|
|
|
plugins = let
|
|
mkPluginStyleOption = name: {
|
|
enable = mkEnableOption "borders for the ${name} plugin" // {default = cfg.enable;};
|
|
|
|
style = mkOption {
|
|
type = borderType;
|
|
default = cfg.globalStyle;
|
|
description = "The border style to use for the ${name} plugin";
|
|
};
|
|
};
|
|
in {
|
|
# despite not having it listed in example configuration, which-key does support the rounded type
|
|
# additionally, it supports a "shadow" type that is similar to none but is of higher contrast
|
|
which-key = mkPluginStyleOption "which-key";
|
|
lspsaga = mkPluginStyleOption "lspsaga";
|
|
nvim-cmp = mkPluginStyleOption "nvim-cmp";
|
|
lsp-signature = mkPluginStyleOption "lsp-signature";
|
|
fastaction = mkPluginStyleOption "fastaction";
|
|
};
|
|
};
|
|
}
|