@@ -288,6 +288,7 @@ pub enum WhitespaceRender {
288288 Specific {
289289 default: Option<WhitespaceRenderValue>,
290290 space: Option<WhitespaceRenderValue>,
291+ nbsp: Option<WhitespaceRenderValue>,
291292 tab: Option<WhitespaceRenderValue>,
292293 newline: Option<WhitespaceRenderValue>,
293294 },
@@ -311,6 +312,14 @@ impl WhitespaceRender {
311312 }
312313 }
313314 }
315+ pub fn nbsp(&self) -> WhitespaceRenderValue {
316+ match *self {
317+ Self::Basic(val) => val,
318+ Self::Specific { default, nbsp, .. } => {
319+ nbsp.or(default).unwrap_or(WhitespaceRenderValue::None)
320+ }
321+ }
322+ }
314323 pub fn tab(&self) -> WhitespaceRenderValue {
315324 match *self {
316325 Self::Basic(val) => val,
@@ -333,6 +342,7 @@ impl WhitespaceRender {
333342#[serde(default)]
334343pub struct WhitespaceCharacters {
335344 pub space: char,
345+ pub nbsp: char,
336346 pub tab: char,
337347 pub newline: char,
338348}
@@ -341,6 +351,7 @@ impl Default for WhitespaceCharacters {
341351 fn default() -> Self {
342352 Self {
343353 space: '·', // U+00B7
354+ nbsp: '⍽', // U+237D
344355 tab: '→', // U+2192
345356 newline: '⏎', // U+23CE
346357 }