Re: [O] [feature] prepend comment char before org-babel-ref
Thanks. @Nicolas [stardiviner] 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/ On Sat, Jan 27, 2018 at 6:58 PM, Nicolas Goaziouwrote: > Nicolas Goaziou writes: > > > Hello, > > > > "numbch...@gmail.com" writes: > > > >> Because it is not good for tangling. > >> For example, tangle the bellowing src block, the tangled source code > file > >> will has `(ref:hello)` too. > >> ``` > >> > >> #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" > >> (message "hello, world") (ref:hello) > >> #+end_src > > > > You need to add "-r" switch so Org knows you want to remove coderefs: > > > > #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" > > (message "hello, world") (ref:hello) > > #+end_src > > I meant > > #+begin_src emacs-lisp -r :tangle "data/code/src-coderef.el" > >
Re: [O] [feature] prepend comment char before org-babel-ref
Nicolas Goaziouwrites: > Hello, > > "numbch...@gmail.com" writes: > >> Because it is not good for tangling. >> For example, tangle the bellowing src block, the tangled source code file >> will has `(ref:hello)` too. >> ``` >> >> #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" >> (message "hello, world") (ref:hello) >> #+end_src > > You need to add "-r" switch so Org knows you want to remove coderefs: > > #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" > (message "hello, world") (ref:hello) > #+end_src I meant #+begin_src emacs-lisp -r :tangle "data/code/src-coderef.el"
Re: [O] [feature] prepend comment char before org-babel-ref
Hello, "numbch...@gmail.com"writes: > Because it is not good for tangling. > For example, tangle the bellowing src block, the tangled source code file > will has `(ref:hello)` too. > ``` > > #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" > (message "hello, world") (ref:hello) > #+end_src You need to add "-r" switch so Org knows you want to remove coderefs: #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" (message "hello, world") (ref:hello) #+end_src Regards, -- Nicolas Goaziou0x80A93738
Re: [O] [feature] prepend comment char before org-babel-ref
Sorry, I miss typed my header argument `:dir "data/code/src-coderef.rb"`. It should be `:tangle`. [stardiviner] 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/ On Fri, Jan 26, 2018 at 8:34 PM, numbch...@gmail.comwrote: > Because it is not good for tangling. > For example, tangle the bellowing src block, the tangled source code file > will has `(ref:hello)` too. > ``` > #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" > (message "hello, world") (ref:hello) > #+end_src > ``` > The tangled source code file looks like this: > ``` > (message "hello, world") (ref:hello) > ``` > This absolutely is not a good idea. > > > > And after a test, I found I can't tangle the bellowing src block: > ``` > #+begin_src ruby :dir "data/code/src-coderef.rb" > puts "hello, world" (ref:hello) > #+end_src > ``` > Even with a comment char prefix: > ``` > #+begin_src ruby :dir "data/code/src-coderef.rb" > puts "hello, world" # (ref:hello) > #+end_src > > ``` > > [stardiviner] 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/ > > On Fri, Jan 26, 2018 at 4:19 AM, Nicolas Goaziou > wrote: > >> Hello, >> >> "numbch...@gmail.com" writes: >> >> > I see. Seems current ob-core.el can filter out the `src-coderef`. >> > Like the following: >> >> [...] >> >> > My wanted feature is simple, just `(insert (concat comment-char >> > coderef-format))` >> >> Per the above, may I ask why you do need it? >> >> Regards, >> >> -- >> Nicolas Goaziou0x80A93738 >> > >
Re: [O] [feature] prepend comment char before org-babel-ref
Because it is not good for tangling. For example, tangle the bellowing src block, the tangled source code file will has `(ref:hello)` too. ``` #+begin_src emacs-lisp :tangle "data/code/src-coderef.el" (message "hello, world") (ref:hello) #+end_src ``` The tangled source code file looks like this: ``` (message "hello, world") (ref:hello) ``` This absolutely is not a good idea. And after a test, I found I can't tangle the bellowing src block: ``` #+begin_src ruby :dir "data/code/src-coderef.rb" puts "hello, world" (ref:hello) #+end_src ``` Even with a comment char prefix: ``` #+begin_src ruby :dir "data/code/src-coderef.rb" puts "hello, world" # (ref:hello) #+end_src ``` [stardiviner] 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/ On Fri, Jan 26, 2018 at 4:19 AM, Nicolas Goaziouwrote: > Hello, > > "numbch...@gmail.com" writes: > > > I see. Seems current ob-core.el can filter out the `src-coderef`. > > Like the following: > > [...] > > > My wanted feature is simple, just `(insert (concat comment-char > > coderef-format))` > > Per the above, may I ask why you do need it? > > Regards, > > -- > Nicolas Goaziou0x80A93738 >
Re: [O] [feature] prepend comment char before org-babel-ref
Hello, "numbch...@gmail.com"writes: > I see. Seems current ob-core.el can filter out the `src-coderef`. > Like the following: [...] > My wanted feature is simple, just `(insert (concat comment-char > coderef-format))` Per the above, may I ask why you do need it? Regards, -- Nicolas Goaziou0x80A93738
Re: [O] [feature] prepend comment char before org-babel-ref
I see. Seems current ob-core.el can filter out the `src-coderef`. Like the following: #+begin_src emacs-lisp (prin1 "hello, world!") (ref:hello) #+end_src #+RESULTS[<2018-01-25 20:28:40> 16eccfedcc87d3ca0c7024b2637c646d4708ec42]: : hello, world! #+begin_src ruby :results output puts "hello, world!" (ref:hello) #+end_src #+RESULTS[<2018-01-25 20:46:21> e1e8632ccedf7cc3c676be0c89841a885bbcc7d9]: : hello, world! But about your questions: > What it the comment syntax is not properly defined? I think almost all programming language has comments. About some other babels which don't have comment. I think `org-babel` can check whether babel language has comment. > What if the coderef format already contains comment syntax? `org-babel` already use current coderef format. Keep current coderef format is fine. If coderef format is like `#ref:label`. and Ruby language use comment `#` too. Then after prepending comment char, it becomes `# #ref:label`. It is fine. Right? > What if the language does not support inline comments and you're in the middle of a line? It is fine too. Current coderef already support insert coderef format at right align even I'm in the middle of a line. I tested. All your questions solved. My wanted feature is simple, just `(insert (concat comment-char coderef-format))` [stardiviner] 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/ On Wed, Jan 24, 2018 at 9:40 PM, Nicolas Goaziouwrote: > Hello, > > "numbch...@gmail.com" writes: > > > 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. > > Thank you for the suggestion. However I have some doubts about this. > > What it the comment syntax is not properly defined? What if the coderef > format already contains comment syntax? What if the language does not > support inline comments and you're in the middle of a line (e.g., > FORTRAN)? > > I'm wondering if this is really a panacea. The current situation, albeit > imperfect, is simple and easy to understand. > > WDYT? > > Regards, > > -- > Nicolas Goaziou >
Re: [O] [feature] prepend comment char before org-babel-ref
Hello, "numbch...@gmail.com"writes: > 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. Thank you for the suggestion. However I have some doubts about this. What it the comment syntax is not properly defined? What if the coderef format already contains comment syntax? What if the language does not support inline comments and you're in the middle of a line (e.g., FORTRAN)? I'm wondering if this is really a panacea. The current situation, albeit imperfect, is simple and easy to understand. WDYT? Regards, -- Nicolas Goaziou
[O] [feature] prepend comment char before org-babel-ref
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 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 ( 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] 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/