From a2a155c785cdf43c971b88db174c33ac1e867da3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 27 May 2026 15:21:45 -0500 Subject: feat(render): render issue titles and the view name verbatim The buffer should mirror Linear: a value on the page appears exactly as Linear stores it, so the heading title matches what you'd see opening the issue in Linear itself. I flipped pearl-title-case-headings to default nil so titles render verbatim. I also stopped running the view name in the #+title through the title-caser, which was coupled to the same flag. The smart-title-case path stays as opt-in tidying for anyone who wants it. Two transformations remain, both forced by Org's syntax rather than chosen: state names become TODO keywords (Org keywords can't contain spaces, so the real name stays in the LINEAR-STATE-NAME drawer), and descriptions and comments convert between Markdown and Org. Documented under "Fidelity to Linear" in the README. --- tests/test-pearl-save.el | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tests/test-pearl-save.el') diff --git a/tests/test-pearl-save.el b/tests/test-pearl-save.el index 90e55cd..2f7b312 100644 --- a/tests/test-pearl-save.el +++ b/tests/test-pearl-save.el @@ -43,7 +43,11 @@ ;; `org-entry-put', which in batch makes the cache reconcile pathologically ;; (seconds per call). Disabling it keeps the suite fast and deterministic; ;; production never touches this binding. + ;; Title-case the rendered heading so these save-path tests can search for the + ;; cased title; the save logic hashes the rendered form regardless of casing, + ;; so the opt-in binding doesn't change what's under test. `(let ((pearl-comment-sort-order 'newest-first) + (pearl-title-case-headings t) (org-element-use-cache nil)) (with-temp-buffer (insert (pearl--format-issue-as-org-entry ,issue)) -- cgit v1.2.3