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-format.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tests/test-pearl-format.el') diff --git a/tests/test-pearl-format.el b/tests/test-pearl-format.el index 1119734..53af2e7 100644 --- a/tests/test-pearl-format.el +++ b/tests/test-pearl-format.el @@ -113,12 +113,12 @@ so these tests no longer need a state mapping bound." (let ((out (pearl--format-issue-as-org-entry '(:id "u" :identifier "ENG-1" :title "Fix [URGENT] bug" :priority 1 :state (:name "Todo"))))) - (should (string-match-p "^\\*\\* TODO \\[#A\\] ENG-1: Fix URGENT Bug$" out)) - ;; the title provenance hash is of the displayed (stripped + cased) title + (should (string-match-p "^\\*\\* TODO \\[#A\\] ENG-1: Fix URGENT bug$" out)) + ;; the title provenance hash is of the displayed (stripped, verbatim) title ;; without the identifier prefix, so a later no-op title sync matches the ;; heading and never clobbers brackets or pushes the prefix (should (string-match-p - (format "^:LINEAR-TITLE-SHA256: +%s$" (secure-hash 'sha256 "Fix URGENT Bug")) + (format "^:LINEAR-TITLE-SHA256: +%s$" (secure-hash 'sha256 "Fix URGENT bug")) out))))) ;;; build-org-content -- cgit v1.2.3