From c899bd28878d23d7555f4a78a908949241fdfdea Mon Sep 17 00:00:00 2001 From: misson20000 Date: Tue, 24 Sep 2024 22:59:47 -0400 Subject: [PATCH] fix fat cursor on commas --- src/view/gsc.rs | 5 +++-- src/view/listing/token_view.rs | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/view/gsc.rs b/src/view/gsc.rs index 555cfb4..d426a3b 100644 --- a/src/view/gsc.rs +++ b/src/view/gsc.rs @@ -26,7 +26,7 @@ pub struct Cache { font: pango::Font, gs_space: pango::GlyphString, // " " - gs_comma: pango::GlyphString, // ", " + gs_comma: pango::GlyphString, // "," gs_open: pango::GlyphString, // "{" gs_close: pango::GlyphString, // "}" gs_digit: [pango::GlyphString; 16], // "0", "1", ..., "f" @@ -70,7 +70,7 @@ impl Cache { font: font.clone(), gs_space, - gs_comma: Self::shape(pg, token::PunctuationKind::Comma.as_str()), + gs_comma: Self::shape(pg, ","), gs_open: Self::shape(pg, token::PunctuationKind::OpenBracket.as_str()), gs_close: Self::shape(pg, token::PunctuationKind::CloseBracket.as_str()), gs_digit: DIGIT_STRINGS.map(|d| Self::shape(pg, d)), @@ -192,6 +192,7 @@ impl<'a, I: Iterator> TextBuilder<'a, I> { if enable { self.config.placeholder = Some(placeholder_color); } + self } diff --git a/src/view/listing/token_view.rs b/src/view/listing/token_view.rs index 9bbb97f..bec057e 100644 --- a/src/view/listing/token_view.rs +++ b/src/view/listing/token_view.rs @@ -124,6 +124,15 @@ impl TokenView { .cursor(has_cursor, cursor, render.config.cursor_fg_color.rgba(), render.config.cursor_bg_color.rgba()) .selected(selected, render.config.selection_color.rgba()) .render(snapshot); + + /* need to render space separately so it doesn't draw cursor because that looks bad */ + match token.kind { + token::PunctuationKind::Comma => render.gsc_mono.begin(gsc::Entry::Space, render.config.text_color.rgba(), &mut pos) + .selected(selected, render.config.selection_color.rgba()) + .render(snapshot), + + _ => {} + } }, token::Token::Title(token) => { gsc::begin_text(