{lib, ...}: let inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) bool str float; inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.ui.modes-nvim = { enable = mkEnableOption "modes.nvim's prismatic line decorations"; setupOpts = { setCursorline = mkOption { type = bool; description = "Set a colored cursorline on current line"; default = false; # looks ugly, disabled by default }; line_opacity = { visual = mkOption { type = float; description = "Set opacity for cursorline and number background"; default = 0.0; }; }; colors = mkPluginSetupOption "modes.nvim" { copy = mkOption { type = str; description = "The #RRGGBB color code for the visual mode highlights"; default = "#f5c359"; }; delete = mkOption { type = str; description = "The #RRGGBB color code for the visual mode highlights"; default = "#c75c6a"; }; insert = mkOption { type = str; description = "The #RRGGBB color code for the visual mode highlights"; default = "#78ccc5"; }; visual = mkOption { type = str; description = "The #RRGGBB color code for the visual mode highlights"; default = "#9745be"; }; }; }; }; }