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

2018-01-28 Thread numbch...@gmail.com
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 Goaziou 
wrote:

> 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

2018-01-27 Thread Nicolas Goaziou
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

2018-01-27 Thread Nicolas Goaziou
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

2018-01-26 Thread numbch...@gmail.com
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.com 
wrote:

> 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

2018-01-26 Thread numbch...@gmail.com
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

2018-01-25 Thread Nicolas Goaziou
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

2018-01-25 Thread numbch...@gmail.com
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 Goaziou 
wrote:

> 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

2018-01-24 Thread Nicolas Goaziou
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

2018-01-23 Thread numbch...@gmail.com
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/