aboutsummaryrefslogtreecommitdiff
path: root/helix-view
diff options
context:
space:
mode:
Diffstat (limited to 'helix-view')
-rw-r--r--helix-view/src/editor.rs10
-rw-r--r--helix-view/src/theme.rs4
2 files changed, 14 insertions, 0 deletions
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index fbfed656..b2615c9f 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -765,11 +765,20 @@ impl Default for WhitespaceCharacters {
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
+#[serde(rename_all = "kebab-case")]
+pub enum RainbowIndentOptions {
+ None,
+ Dim,
+ Normal,
+}
+
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(default, rename_all = "kebab-case")]
pub struct IndentGuidesConfig {
pub render: bool,
pub character: char,
pub skip_levels: u8,
+ pub rainbow_option: RainbowIndentOptions,
}
impl Default for IndentGuidesConfig {
@@ -778,6 +787,7 @@ impl Default for IndentGuidesConfig {
skip_levels: 0,
render: false,
character: '│',
+ rainbow_option: RainbowIndentOptions::None,
}
}
}
diff --git a/helix-view/src/theme.rs b/helix-view/src/theme.rs
index 16da247f..8236d370 100644
--- a/helix-view/src/theme.rs
+++ b/helix-view/src/theme.rs
@@ -383,6 +383,10 @@ impl Theme {
pub fn rainbow_length(&self) -> usize {
self.rainbow_length
}
+
+ pub fn get_rainbow(&self, index: usize) -> Style {
+ self.highlights[index % self.rainbow_length]
+ }
}
fn default_rainbow() -> Vec<Style> {