<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pearl/tests/test-pearl-glyphs.el, branch main</title>
<subtitle>Pearl Edits and Reflects Linear — manage Linear.app issues as org-mode in Emacs
</subtitle>
<id>https://git.cjennings.net/pearl/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/pearl/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/pearl/'/>
<updated>2026-06-06T12:38:46+00:00</updated>
<entry>
<title>feat(render): make heading glyphs configurable</title>
<updated>2026-06-06T12:38:46+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-06T12:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/pearl/commit/?id=adee44df124e8983084737c50e9c767edd70aea8'/>
<id>urn:sha1:adee44df124e8983084737c50e9c767edd70aea8</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>feat(render): overlay content glyphs on issue and comment headings</title>
<updated>2026-06-05T05:31:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-06-05T05:31:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/pearl/commit/?id=387c8a9ff9828d1b024987d136d216ef12c5103f'/>
<id>urn:sha1:387c8a9ff9828d1b024987d136d216ef12c5103f</id>
<content type='text'>
A ticket glyph now sits on every issue heading and a speech balloon on every comment heading. The glyph rides a display overlay on the space after the leading stars, so it lands ahead of the TODO keyword where a literal text prefix can't go (Org wants the keyword first). The choice is keyed on the heading's own drawer, LINEAR-ID for issues and LINEAR-COMMENT-ID for comments, so it's per-heading-type rather than per outline level.

Display-only: the buffer text is untouched, so parse, sync, and merge are unaffected. It reuses the comment-highlight overlay pattern and rides the same redecoration trigger. It's applied synchronously because the glyph is drawer-driven and shouldn't wait on the viewer lookup. Behind pearl-show-glyphs (default on). Overlays go stale after a manual heading edit until the next refresh.
</content>
</entry>
</feed>
