diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 192fa180..a8027d1b 100644 --- a/helix-term/src/ui/editor.rs +++ b/helix-term/src/ui/editor.rs @@ -20,7 +20,7 @@ use helix_core::{ use helix_view::{ document::{Mode, SCRATCH_BUFFER_NAME}, editor::{CompleteAction, CursorShapeConfig}, - graphics::{CursorKind, Modifier, Rect, Style}, + graphics::{Color, CursorKind, Modifier, Rect, Style}, input::KeyEvent, keyboard::{KeyCode, KeyModifiers}, Document, Editor, Theme, View, @@ -170,7 +170,9 @@ impl EditorView { theme: &Theme, ) { let editor_rulers = &editor.config().rulers; - let ruler_theme = theme.get("ui.virtual.ruler"); + let ruler_theme = theme + .try_get("ui.virtual.ruler") + .unwrap_or_else(|| Style::default().bg(Color::Red)); let rulers = doc .language_config() diff --git a/runtime/themes/base16_default_dark.toml b/runtime/themes/base16_default_dark.toml index 7516e492..33252330 100644 --- a/runtime/themes/base16_default_dark.toml +++ b/runtime/themes/base16_default_dark.toml @@ -1,7 +1,7 @@ # Author: RayGervais "ui.background" = { bg = "base00" } -"ui.virtual" = "base03" +"ui.virtual.whitespace" = "base03" "ui.menu" = { fg = "base05", bg = "base01" } "ui.menu.selected" = { fg = "base01", bg = "base04" } "ui.linenr" = { fg = "base03", bg = "base01" } diff --git a/runtime/themes/base16_default_light.toml b/runtime/themes/base16_default_light.toml index 36847459..bc2b8e67 100644 --- a/runtime/themes/base16_default_light.toml +++ b/runtime/themes/base16_default_light.toml @@ -12,7 +12,7 @@ "ui.statusline" = { fg = "base04", bg = "base01" } "ui.cursor" = { fg = "base04", modifiers = ["reversed"] } "ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] } -"ui.virtual" = "base03" +"ui.virtual.whitespace" = "base03" "ui.text" = "base05" "operator" = "base05" "ui.text.focus" = "base05" diff --git a/runtime/themes/base16_terminal.toml b/runtime/themes/base16_terminal.toml index 92848816..3a1d4845 100644 --- a/runtime/themes/base16_terminal.toml +++ b/runtime/themes/base16_terminal.toml @@ -13,7 +13,7 @@ "ui.help" = { fg = "white", bg = "black" } "ui.cursor" = { fg = "light-gray", modifiers = ["reversed"] } "ui.cursor.primary" = { fg = "light-gray", modifiers = ["reversed"] } -"ui.virtual" = "light-gray" +"ui.virtual.whitespace" = "light-gray" "variable" = "light-red" "constant.numeric" = "yellow" "constant" = "yellow" diff --git a/runtime/themes/bogster.toml b/runtime/themes/bogster.toml index df3a7f31..76e24648 100644 --- a/runtime/themes/bogster.toml +++ b/runtime/themes/bogster.toml @@ -53,7 +53,7 @@ "ui.text" = { fg = "#e5ded6" } "ui.text.focus" = { fg = "#e5ded6", modifiers= ["bold"] } -"ui.virtual" = "#627d9d" +"ui.virtual.whitespace" = "#627d9d" "ui.selection" = { bg = "#313f4e" } # "ui.cursor.match" # TODO might want to override this because dimmed is not widely supported diff --git a/runtime/themes/boo_berry.toml b/runtime/themes/boo_berry.toml index 5cd25397..a79b75c5 100644 --- a/runtime/themes/boo_berry.toml +++ b/runtime/themes/boo_berry.toml @@ -44,7 +44,7 @@ "ui.menu" = { fg = "lilac", bg = "berry_saturated" } "ui.menu.selected" = { fg = "mint", bg = "berry_saturated" } "ui.selection" = { bg = "berry_saturated" } -"ui.virtual" = { fg = "berry_desaturated" } +"ui.virtual.whitespace" = { fg = "berry_desaturated" } "diff.plus" = { fg = "mint" } "diff.delta" = { fg = "gold" } diff --git a/runtime/themes/catppuccin.toml b/runtime/themes/catppuccin.toml index da9be4fb..eaa4ba51 100644 --- a/runtime/themes/catppuccin.toml +++ b/runtime/themes/catppuccin.toml @@ -48,7 +48,7 @@ label = "peach" "ui.text" = { fg = "pink" } "ui.text.focus" = { fg = "white" } -"ui.virtual" = { fg = "gray_0" } +"ui.virtual.whitespace" = { fg = "gray_0" } "ui.selection" = { bg = "#540099" } "ui.selection.primary" = { bg = "#540099" } diff --git a/runtime/themes/dark_plus.toml b/runtime/themes/dark_plus.toml index c785dd38..957ca61d 100644 --- a/runtime/themes/dark_plus.toml +++ b/runtime/themes/dark_plus.toml @@ -78,7 +78,7 @@ "ui.text" = { fg = "text" } "ui.text.focus" = { fg = "white" } -"ui.virtual" = { fg = "dark_gray" } +"ui.virtual.whitespace" = { fg = "dark_gray" } "ui.virtual.ruler" = { bg = "borders" } "warning" = { fg = "gold2" } diff --git a/runtime/themes/dracula.toml b/runtime/themes/dracula.toml index e32c3117..72b37d02 100644 --- a/runtime/themes/dracula.toml +++ b/runtime/themes/dracula.toml @@ -36,7 +36,7 @@ "ui.text" = { fg = "foreground" } "ui.text.focus" = { fg = "cyan" } "ui.window" = { fg = "foreground" } -"ui.virtual" = { fg = "comment" } +"ui.virtual.whitespace" = { fg = "comment" } "error" = { fg = "red" } "warning" = { fg = "cyan" } diff --git a/runtime/themes/everforest_dark.toml b/runtime/themes/everforest_dark.toml index 5b6d1b7c..ef74ea9e 100644 --- a/runtime/themes/everforest_dark.toml +++ b/runtime/themes/everforest_dark.toml @@ -70,7 +70,7 @@ "ui.menu" = { fg = "fg", bg = "bg2" } "ui.menu.selected" = { fg = "bg0", bg = "green" } "ui.selection" = { bg = "bg3" } -"ui.virtual" = "grey0" +"ui.virtual.whitespace" = "grey0" "hint" = "blue" "info" = "aqua" diff --git a/runtime/themes/everforest_light.toml b/runtime/themes/everforest_light.toml index b0370165..60557ba0 100644 --- a/runtime/themes/everforest_light.toml +++ b/runtime/themes/everforest_light.toml @@ -70,7 +70,7 @@ "ui.menu" = { fg = "fg", bg = "bg2" } "ui.menu.selected" = { fg = "bg0", bg = "green" } "ui.selection" = { bg = "bg3" } -"ui.virtual" = "grey0" +"ui.virtual.whitespace" = "grey0" "hint" = "blue" "info" = "aqua" diff --git a/runtime/themes/gruvbox.toml b/runtime/themes/gruvbox.toml index 6de35244..48fb14fa 100644 --- a/runtime/themes/gruvbox.toml +++ b/runtime/themes/gruvbox.toml @@ -53,7 +53,7 @@ "ui.cursor.match" = { bg = "bg2" } "ui.menu" = { fg = "fg1", bg = "bg2" } "ui.menu.selected" = { fg = "bg2", bg = "blue1", modifiers = ["bold"] } -"ui.virtual" = "bg2" +"ui.virtual.whitespace" = "bg2" "diagnostic" = { modifiers = ["underlined"] } diff --git a/runtime/themes/gruvbox_light.toml b/runtime/themes/gruvbox_light.toml index 2930dff0..02a32dec 100644 --- a/runtime/themes/gruvbox_light.toml +++ b/runtime/themes/gruvbox_light.toml @@ -54,7 +54,7 @@ "ui.cursor.match" = { bg = "bg2" } "ui.menu" = { fg = "fg1", bg = "bg2" } "ui.menu.selected" = { fg = "bg2", bg = "blue1", modifiers = ["bold"] } -"ui.virtual" = "bg2" +"ui.virtual.whitespace" = "bg2" "diagnostic" = { modifiers = ["underlined"] } diff --git a/runtime/themes/ingrid.toml b/runtime/themes/ingrid.toml index 79b749b1..58713704 100644 --- a/runtime/themes/ingrid.toml +++ b/runtime/themes/ingrid.toml @@ -53,7 +53,7 @@ "ui.text" = { fg = "#7B91B3" } "ui.text.focus" = { fg = "#250E07", modifiers= ["bold"] } -"ui.virtual" = "#A6B6CE" +"ui.virtual.whitespace" = "#A6B6CE" "ui.selection" = { bg = "#540099" } # "ui.cursor.match" # TODO might want to override this because dimmed is not widely supported diff --git a/runtime/themes/monokai.toml b/runtime/themes/monokai.toml index 3fb1fadc..5a890615 100644 --- a/runtime/themes/monokai.toml +++ b/runtime/themes/monokai.toml @@ -32,7 +32,7 @@ "attribute" = { fg = "fn_declaration" } "comment" = { fg = "#88846F" } -"ui.virtual" = "#88846F" +"ui.virtual.whitespace" = "#88846F" "string" = { fg = "#e6db74" } "constant.character" = { fg = "#e6db74" } diff --git a/runtime/themes/monokai_pro.toml b/runtime/themes/monokai_pro.toml index 5580a33c..7c457d45 100644 --- a/runtime/themes/monokai_pro.toml +++ b/runtime/themes/monokai_pro.toml @@ -6,7 +6,7 @@ "ui.text.focus" = { fg = "yellow", modifiers= ["bold"] } "ui.menu" = { fg = "base8", bg = "base3" } "ui.menu.selected" = { fg = "base2", bg = "yellow" } -"ui.virtual" = "base5" +"ui.virtual.whitespace" = "base5" "info" = "base8" "hint" = "base8" diff --git a/runtime/themes/monokai_pro_machine.toml b/runtime/themes/monokai_pro_machine.toml index abbe5bdc..bfc7031d 100644 --- a/runtime/themes/monokai_pro_machine.toml +++ b/runtime/themes/monokai_pro_machine.toml @@ -6,7 +6,7 @@ "ui.text.focus" = { fg = "yellow", modifiers= ["bold"] } "ui.menu" = { fg = "base8", bg = "base3" } "ui.menu.selected" = { fg = "base2", bg = "yellow" } -"ui.virtual" = "base5" +"ui.virtual.whitespace" = "base5" "info" = "base8" "hint" = "base8" diff --git a/runtime/themes/monokai_pro_octagon.toml b/runtime/themes/monokai_pro_octagon.toml index b249cfe2..889e7624 100644 --- a/runtime/themes/monokai_pro_octagon.toml +++ b/runtime/themes/monokai_pro_octagon.toml @@ -6,7 +6,7 @@ "ui.text.focus" = { fg = "yellow", modifiers= ["bold"] } "ui.menu" = { fg = "base8", bg = "base3" } "ui.menu.selected" = { fg = "base2", bg = "yellow" } -"ui.virtual" = "base5" +"ui.virtual.whitespace" = "base5" "info" = "base8" "hint" = "base8" diff --git a/runtime/themes/monokai_pro_ristretto.toml b/runtime/themes/monokai_pro_ristretto.toml index cd4cbd8e..f8ad8422 100644 --- a/runtime/themes/monokai_pro_ristretto.toml +++ b/runtime/themes/monokai_pro_ristretto.toml @@ -6,7 +6,7 @@ "ui.text.focus" = { fg = "yellow", modifiers= ["bold"] } "ui.menu" = { fg = "base8", bg = "base3" } "ui.menu.selected" = { fg = "base2", bg = "yellow" } -"ui.virtual" = "base5" +"ui.virtual.whitespace" = "base5" "info" = "base8" "hint" = "base8" diff --git a/runtime/themes/monokai_pro_spectrum.toml b/runtime/themes/monokai_pro_spectrum.toml index 4160a15e..9f5864fc 100644 --- a/runtime/themes/monokai_pro_spectrum.toml +++ b/runtime/themes/monokai_pro_spectrum.toml @@ -6,7 +6,7 @@ "ui.text.focus" = { fg = "yellow", modifiers= ["bold"] } "ui.menu" = { fg = "base8", bg = "base3" } "ui.menu.selected" = { fg = "base2", bg = "yellow" } -"ui.virtual" = "base5" +"ui.virtual.whitespace" = "base5" "info" = "base8" "hint" = "base8" diff --git a/runtime/themes/nord.toml b/runtime/themes/nord.toml index a61c1715..3b994bb5 100644 --- a/runtime/themes/nord.toml +++ b/runtime/themes/nord.toml @@ -4,7 +4,7 @@ "ui.text.focus" = { fg = "nord8", modifiers= ["bold"] } "ui.menu" = { fg = "nord6", bg = "#232d38" } "ui.menu.selected" = { fg = "nord8", bg = "nord2" } -"ui.virtual" = "gray" +"ui.virtual.whitespace" = "gray" "info" = "nord8" "hint" = "nord8" diff --git a/runtime/themes/rose_pine.toml b/runtime/themes/rose_pine.toml index f0575880..09b1e25c 100644 --- a/runtime/themes/rose_pine.toml +++ b/runtime/themes/rose_pine.toml @@ -14,7 +14,7 @@ "ui.text" = { fg = "text" } "ui.text.focus" = { fg = "foam", modifiers = ["bold"]} "ui.text.info" = {fg = "pine", modifiers = ["bold"]} -"ui.virtual" = "highlight" +"ui.virtual.whitespace" = "highlight" "operator" = "rose" "variable" = "text" "constant.numeric" = "iris" diff --git a/runtime/themes/rose_pine_dawn.toml b/runtime/themes/rose_pine_dawn.toml index 5ad304e3..9ba0959d 100644 --- a/runtime/themes/rose_pine_dawn.toml +++ b/runtime/themes/rose_pine_dawn.toml @@ -14,7 +14,7 @@ "ui.text" = { fg = "text" } "ui.text.focus" = { fg = "foam", modifiers = ["bold"]} "ui.text.info" = {fg = "pine", modifiers = ["bold"]} -"ui.virtual" = "highlight" +"ui.virtual.whitespace" = "highlight" "operator" = "rose" "variable" = "text" "number" = "iris" diff --git a/runtime/themes/serika-dark.toml b/runtime/themes/serika-dark.toml index 3dd982d1..3b4bc60f 100644 --- a/runtime/themes/serika-dark.toml +++ b/runtime/themes/serika-dark.toml @@ -50,7 +50,7 @@ "ui.menu" = { fg = "fg", bg = "bg2" } "ui.menu.selected" = { fg = "bg0", bg = "bg_yellow" } "ui.selection" = { bg = "bg3" } -"ui.virtual" = "grey2" +"ui.virtual.whitespace" = "grey2" "hint" = "blue" "info" = "aqua" diff --git a/runtime/themes/serika-light.toml b/runtime/themes/serika-light.toml index 67c8328b..3b0f8fb4 100644 --- a/runtime/themes/serika-light.toml +++ b/runtime/themes/serika-light.toml @@ -50,7 +50,7 @@ "ui.menu" = { fg = "bg0", bg = "bg3" } "ui.menu.selected" = { fg = "bg0", bg = "bg_yellow" } "ui.selection" = { fg = "bg0", bg = "bg3" } -"ui.virtual" = { fg = "bg2" } +"ui.virtual.whitespace" = { fg = "bg2" } "hint" = "blue" "info" = "aqua" diff --git a/runtime/themes/snazzy.toml b/runtime/themes/snazzy.toml index c0547f33..da47fd63 100644 --- a/runtime/themes/snazzy.toml +++ b/runtime/themes/snazzy.toml @@ -38,7 +38,7 @@ "ui.text" = { fg = "foreground" } "ui.text.focus" = { fg = "cyan" } "ui.window" = { fg = "foreground" } -"ui.virtual" = { fg = "comment" } +"ui.virtual.whitespace" = { fg = "comment" } "error" = { fg = "red" } "warning" = { fg = "cyan" } diff --git a/runtime/themes/solarized_dark.toml b/runtime/themes/solarized_dark.toml index f15e1fa0..d8126f6e 100644 --- a/runtime/themes/solarized_dark.toml +++ b/runtime/themes/solarized_dark.toml @@ -39,7 +39,7 @@ # 背景 "ui.background" = { bg = "base03" } -"ui.virtual" = { fg = "base01" } +"ui.virtual.whitespace" = { fg = "base01" } # 行号栏 "ui.linenr" = { fg = "base0", bg = "base02" } diff --git a/runtime/themes/solarized_light.toml b/runtime/themes/solarized_light.toml index eec4220d..cd1028bd 100644 --- a/runtime/themes/solarized_light.toml +++ b/runtime/themes/solarized_light.toml @@ -40,7 +40,7 @@ # background "ui.background" = { bg = "base03" } -"ui.virtual" = { fg = "base01" } +"ui.virtual.whitespace" = { fg = "base01" } # 行号栏 # line number column diff --git a/runtime/themes/spacebones_light.toml b/runtime/themes/spacebones_light.toml index 80a19375..b088e2d3 100644 --- a/runtime/themes/spacebones_light.toml +++ b/runtime/themes/spacebones_light.toml @@ -64,7 +64,7 @@ "ui.cursor.match" = { bg = "bg3" } "ui.menu" = { fg = "fg1", bg = "bg2" } "ui.menu.selected" = { fg = "#655370", bg = "#d1dcdf", modifiers = ["bold"] } -"ui.virtual" = "bg2" +"ui.virtual.whitespace" = "bg2" "diagnostic" = { modifiers = ["underlined"] }