diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs index 192fa1804..a8027d1b8 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 7516e492e..33252330e 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 368474591..bc2b8e671 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 928488168..3a1d48457 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 df3a7f315..76e24648b 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 5cd253974..a79b75c59 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 da9be4fbd..eaa4ba517 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 c785dd388..957ca61d4 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 e32c3117b..72b37d027 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 5b6d1b7cf..ef74ea9e8 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 b03701653..60557ba0c 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 6de35244a..48fb14fa1 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 2930dff0d..02a32dec4 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 79b749b14..587137045 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 3fb1fadc3..5a8906154 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 5580a33c6..7c457d458 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 abbe5bdca..bfc7031d3 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 b249cfe21..889e76249 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 cd4cbd8e9..f8ad8422e 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 4160a15e1..9f5864fcc 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 a61c17157..3b994bb59 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 f05758801..09b1e25c9 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 5ad304e38..9ba0959db 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 3dd982d19..3b4bc60f5 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 67c8328b7..3b0f8fb47 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 c0547f33b..da47fd636 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 f15e1fa0d..d8126f6ea 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 eec4220db..cd1028bda 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 80a193751..b088e2d3e 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"] }