From adee44df124e8983084737c50e9c767edd70aea8 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 6 Jun 2026 07:38:46 -0500 Subject: feat(render): make heading glyphs configurable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Comments container heading rendered bare. It carries no Linear id, so the id-keyed overlay never glyphed it, while each comment already showed a balloon. I gave the container its own glyph and split them so the thread and its items read as a hierarchy: a filled balloon (💬) on the Comments header, an outline bubble (🗨️) on each comment, the ticket (🎫) unchanged on issues. I promoted the two glyph constants to defcustoms and added pearl-comments-header-glyph, so any glyph can be changed or dropped to empty while pearl-show-glyphs stays the master switch. The header glyph rides the same display overlay as the others, so the buffer text stays a bare Comments and sync and merge are untouched. The Comments header is now found by one glyph-agnostic regexp, replacing two copies of the old 💬-only matcher. --- README.org | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'README.org') diff --git a/README.org b/README.org index 8f55c74..d9bd19b 100644 --- a/README.org +++ b/README.org @@ -383,7 +383,7 @@ A fetched Pearl file is intentionally readable. The header records the source, r The =LINEAR-*= properties store both ids and display names so common commands do not need a network lookup just to render. The hash properties are provenance for conflict-aware sync. -Pearl overlays a glyph on each heading's leading stars: a ticket on an issue, a speech balloon on a comment. The glyph is display-only and keyed on the heading's drawer, so it never enters the buffer text or interferes with sync. Turn it off with =pearl-show-glyphs=. +Pearl overlays a glyph on each heading's leading stars: a ticket (🎫) on an issue, a left speech bubble (🗨️) on each comment, and a speech balloon (💬) on the Comments container heading. The glyphs are display-only — they never enter the buffer text or interfere with sync. Turn them all off with =pearl-show-glyphs=, or change any one with =pearl-ticket-glyph=, =pearl-comment-glyph=, and =pearl-comments-header-glyph= (set a glyph to the empty string to drop just that one). *** Fidelity to Linear :PROPERTIES: @@ -416,7 +416,10 @@ Most users only need an API key and an output path. The rest are knobs for teams | =pearl-request-timeout= | Synchronous request timeout in seconds | | =pearl-fold-after-update= | Re-fold the active page after fetch/refresh | | =pearl-title-case-headings= | Opt-in smart title case for issue titles (off) | -| =pearl-show-glyphs= | Glyph on issue/comment headings (on) | +| =pearl-show-glyphs= | Master switch for heading glyphs (on) | +| =pearl-ticket-glyph= | Glyph on issue headings (🎫) | +| =pearl-comment-glyph= | Glyph on each comment heading (🗨️) | +| =pearl-comments-header-glyph= | Glyph on the Comments container heading (💬) | | =pearl-surface-buffer= | Show the active buffer after a command updates it | | =pearl-surface-select-window= | Move focus to the surfaced buffer | | =pearl-compose-window-side= | Side the compose/conflict buffer opens from | -- cgit v1.2.3