emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [feature] prepend comment char before org-babel-ref


From: address@hidden
Subject: [O] [feature] prepend comment char before org-babel-ref
Date: Wed, 24 Jan 2018 12:24:35 +0800

I'm currently using this advice:
```elisp
;;; prepend comment char ahead of `org-babel-ref'.
;; auto prefix with comment char when create code ref in src block with `org-store-link'.
(defun org-babel-ref-prepend-comment-char (arg &optional interactive?)
  "Prepend comment chart in Org-mode src code block."
  (when (org-src-edit-buffer-p)
    (comment-dwim nil)
    (insert " ")))

(advice-add 'org-store-link :before #'org-babel-ref-prepend-comment-char)
```

There is another solution but not work:
```elisp
;;; Another implement solution.
(defun org-src-coderef-format (&optional element)
  (cond
   ((and element (org-element-property :label-fmt element)))
   ((org-src-edit-buffer-p) (org-src-do-at-code-block (org-src-coderef-format)))
   ((org-element-property :label-fmt (org-element-at-point)))
   (t org-coderef-label-format)))

(defun org-src-coderef-prepend-comment-char (args)
  "Prepend comment chart in Org-mode src code block."
  (when (org-src-edit-buffer-p)
    (comment-dwim nil)
    (insert " ")))

(advice-add 'org-src-coderef-format :filter-return
            #'org-src-coderef-prepend-comment-char)
```

I think this function should be in Org-mode itself.
Because when you're editing the source code, will not want this src-coderef like `(ref:example)` be editable. It should be in comment.

[stardiviner]           <Hack this world!>      GPG key ID: 47C32433
IRC(freeenode): stardiviner                     Twitter:  @numbchild
Key fingerprint = 9BAA 92BC CDDD B9EF 3B36  CB99 B8C4 B8E5 47C3 2433
Blog: http://stardiviner.github.io/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]