aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-23 21:39:57 -0400
committerCraig Jennings <c@cjennings.net>2026-06-23 21:39:57 -0400
commit46e3a4192e1e0025ea05cc456fcc282610717f90 (patch)
tree47288e1a0b745b60dc8a07edb42ded8594b3529f
parentee52cac57dd43be9e224fb8081d2b227c0e67800 (diff)
downloaddotemacs-46e3a4192e1e0025ea05cc456fcc282610717f90.tar.gz
dotemacs-46e3a4192e1e0025ea05cc456fcc282610717f90.zip
feat(org): fontify and edit cj comment blocks as org
Map the cj: src-block language to org-mode via org-src-lang-modes, so the prose inside a cj comment block (#+begin_src cj: comment ...) gets org font-lock in place and C-c ' opens an org-mode buffer to edit it. The block stays a src block, so the cj: grep marker and the cj-processing pipeline are unchanged.
-rw-r--r--modules/org-babel-config.el6
-rw-r--r--todo.org17
2 files changed, 19 insertions, 4 deletions
diff --git a/modules/org-babel-config.el b/modules/org-babel-config.el
index 821403a0d..bc7ccb806 100644
--- a/modules/org-babel-config.el
+++ b/modules/org-babel-config.el
@@ -29,6 +29,12 @@
(setq org-src-fontify-natively t) ;; fontify the code in blocks
(setq org-src-tab-acts-natively t) ;; tabs act like in language major mode buffer
(setq org-src-window-setup 'current-window) ;; don't split window when source editing wih C-c '
+ ;; Treat cj comment blocks (#+begin_src cj: comment ...) as org for editing
+ ;; and fontification: the "cj:" language token maps to org-mode, so C-c '
+ ;; opens an org buffer and the block's prose gets org font-lock in place.
+ ;; The block stays a src block (the cj: grep marker is unchanged); org markup
+ ;; is highlighted and editable, though links are followed from the C-c ' buffer.
+ (add-to-list 'org-src-lang-modes '("cj:" . org))
(setq org-confirm-babel-evaluate t) ;; confirm before running babel; toggle with C-; k
(setq org-babel-default-header-args
(cons '(:tangle . "yes")
diff --git a/todo.org b/todo.org
index daeb0904c..ed021cca8 100644
--- a/todo.org
+++ b/todo.org
@@ -72,11 +72,20 @@ task elsewhere in this section. From the roam inbox.
Identify which face colors the icons shown in completing-read (the
nerd-icons-completion / marginalia icons) in this config, so the icon color can
be themed. From the roam inbox.
-** TODO [#C] Org formatting inside cj comments :feature:
+** DONE [#C] Org formatting inside cj comments :feature:
+CLOSED: [2026-06-23 Tue]
+Done 2026-06-23: mapped the "cj:" src-block language to org-mode via
+=org-src-lang-modes= in =org-babel-config.el=. Effect: a cj comment block's
+prose now gets org font-lock in place (links, *bold*, lists styled — verified
+live, the link inside a block carries the =org-link= face), and =C-c '= opens a
+full org-mode buffer to edit it. Approach A from the design walk: non-breaking,
+the =cj:= grep marker and the whole cj-processing pipeline are unchanged. The
+block stays a src block, so org's parser still treats its body as code — links
+are followed from the =C-c '= buffer rather than clicked in place. If that
+in-place limitation bites, Approach B (migrate to a =#+begin_cj= special block)
+is the documented escalation.
Craig writes free-form prose inside cj comment blocks (=#+begin_src cj: ...=)
-and wants org formatting available there. Investigate whether a language or
-major-mode setting (org as the src-block language, an org-src edit buffer, or a
-derived / polymode setup) can enable org formatting inside cj comment blocks.
+and wants org formatting available there.
From the roam inbox.
** TODO [#C] VAMP — extract music-config into a standalone player :feature:refactor:
:PROPERTIES: