summaryrefslogtreecommitdiff
path: root/helix-view/src/editor.rs
diff options
context:
space:
mode:
authorunrelentingtech2022-04-30 00:48:52 +0000
committerGitHub2022-04-30 00:48:52 +0000
commit2c60798b00cc9b8efc9fdbec304a7ea04d11de4c (patch)
tree9608c0eb3a94b527931f4a7d51b8975c75226764 /helix-view/src/editor.rs
parente4c261809980fa17436a8e87cf7e56ddda8bcb68 (diff)
feat(ui): add nbsp (non-breaking space) to rendered whitespace (#2322)
Diffstat (limited to 'helix-view/src/editor.rs')
-rw-r--r--helix-view/src/editor.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index 38826f4b..0de1732c 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -288,6 +288,7 @@ pub enum WhitespaceRender {
Specific {
default: Option<WhitespaceRenderValue>,
space: Option<WhitespaceRenderValue>,
+ nbsp: Option<WhitespaceRenderValue>,
tab: Option<WhitespaceRenderValue>,
newline: Option<WhitespaceRenderValue>,
},
@@ -311,6 +312,14 @@ impl WhitespaceRender {
}
}
}
+ pub fn nbsp(&self) -> WhitespaceRenderValue {
+ match *self {
+ Self::Basic(val) => val,
+ Self::Specific { default, nbsp, .. } => {
+ nbsp.or(default).unwrap_or(WhitespaceRenderValue::None)
+ }
+ }
+ }
pub fn tab(&self) -> WhitespaceRenderValue {
match *self {
Self::Basic(val) => val,
@@ -333,6 +342,7 @@ impl WhitespaceRender {
#[serde(default)]
pub struct WhitespaceCharacters {
pub space: char,
+ pub nbsp: char,
pub tab: char,
pub newline: char,
}
@@ -341,6 +351,7 @@ impl Default for WhitespaceCharacters {
fn default() -> Self {
Self {
space: '·', // U+00B7
+ nbsp: '⍽', // U+237D
tab: '→', // U+2192
newline: '⏎', // U+23CE
}