Re: [O] anyway to create link to a line number in a file
Not To Miss wrote: > > Ideally, it would > > be great if in the normal stored org link, line number could be > > included in the link and would be ripped off from the text to search > > the linked file. > > > > I'm confused - what exactly are you asking for here? If you don't use > the line number for searching, why would you want to store it? > > Because I think sometimes the line number gives valuable information > in addition to the text. I meant to create a link like > [[file:foo.txt::123 whatever_text]], when users open the link, > org-mode searches "whatever_text"; if it doesn't find anything, jump > to the line 123. The idea behind that is that it is possible the line > is changed and is unsearchable but still remains in the same line > number. I guess the main idea is that it is more likely for the text around the link to remain the same: the line number can change (e.g. if you add stuff at the beginning of the file), but the surrounding text will probably remain the same, so a context search is more likely to find you what you want. But you are right in that a line number can sometimes disambiguate things, e.g. the etags functionality in emacs works (worked? not sure if the implementation is still the same) by using a position to go to and then searching in ever-widening circles around that position in order to find the appropriate context. That way, identical contexts could be used (a necessity for etags) and still be distinguished from each other. > This, however, is probably an issue of built-in org-mode > design, beyond the scope of user customization. > Yup. Nick
Re: [O] anyway to create link to a line number in a file
On Mon, Feb 20, 2012 at 12:58 AM, Nick Dokos wrote: > Not To Miss wrote: > > > Thanks, Nick! It works, though it works only to the specified file(s) > > by overruling the original org-store-link-functions. > > Yes, org marches down the link handlers and takes the first positive > response as the answer. You can make the function arbitrarily complicated > of course, if you don't like the behavior, but in any case, it will have > to say "yes" (and provide the link in some format) or "no" - in the latter > case, org will continue on with the rest of the functions in the list (and > fall back to its default if *no* function says "yes"). > > > Ideally, it would > > be great if in the normal stored org link, line number could be > > included in the link and would be ripped off from the text to search > > the linked file. > > > > I'm confused - what exactly are you asking for here? If you don't use > the line number for searching, why would you want to store it? > Because I think sometimes the line number gives valuable information in addition to the text. I meant to create a link like [[file:foo.txt::123 whatever_text]], when users open the link, org-mode searches "whatever_text"; if it doesn't find anything, jump to the line 123. The idea behind that is that it is possible the line is changed and is unsearchable but still remains in the same line number. This, however, is probably an issue of built-in org-mode design, beyond the scope of user customization. Anyway, thanks for your help. > > Nick > > > On Sat, Feb 18, 2012 at 4:58 PM, Nick Dokos > wrote: > > > Nick Dokos wrote: > > > > > >> Not To Miss wrote: > > >> > > >> > I looked that section carefully and the whole manual briefly. I > > >> > haven't found anything yet. That's why I am asking on the mailing > list > > >> > to see if anyone has some workaround. > > >> > > > >> > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin < > sean.ohal...@gmail.com> wrote: > > >> > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss < > not.to.m...@gmail.com> wrote: > > >> > >> Hi all, > > >> > >> > > >> > >> I am reading a long text file and want to write down my notes > with > > >> > >> org-mode. I extremely would like to put the line numbers down > along > > >> > >> with my notes. Although there is a way to store a link for text > search > > >> > >> for the current line, I haven't found a way to create a link to > a line > > >> > >> number in the current buffer. Is there anyway to do that? Thanks > > >> > > > > >> > > Take a look at org-capture: > http://orgmode.org/manual/Capture.html > > >> > > > > > >> The problem is to make sure org-store-link will actually store the > line > > >> number (along with everything else) so that then org-insert-link can > > >> insert the link in the proper format. I don't think there is a > function > > >> to do that out of the box for line numbers, but you can easily (for > some > > >> value of "easily") write your own. Look in > > >> > > >> (info "(org)Adding hyperlink types") > > >> > > >> for some hints. Briefly, you write a function that checks whether it > > >> wants to deal with the link or not, and you add it to > > >> org-store-link-functions. I don't have the time to try it out right > now, > > >> but I believe this should work for what you want. > > >> > > > > > > Following up on this, the following seems to work, although you > probably > > > want to tweak the criterion of when you want *this* function to take > > > care of links - this particular implementation only applies the line > > > number treatment to links generated in the file named > > > "/path/to/the.file.txt" and only that file: > > > > > > --8<---cut here---start->8--- > > > (defun org-file-lineno-store-link() > > > (when (string-equal (buffer-file-name) "/path/to/the.file.txt") > > >(let* ((link (format "file:%s::%d" (buffer-file-name) > (line-number-at-pos > > > (org-store-link-props > > > :type "file" > > > :link link > > > > > > (add-hook 'org-store-link-functions 'org-file-lineno-store-link) > > > --8<---cut here---end--->8--- > > > > > > Nick > > > > > > > > > > > -- > > Best, > > Zhenjiang > > > -- Best, Zhenjiang
Re: [O] anyway to create link to a line number in a file
Not To Miss wrote: > Thanks, Nick! It works, though it works only to the specified file(s) > by overruling the original org-store-link-functions. Yes, org marches down the link handlers and takes the first positive response as the answer. You can make the function arbitrarily complicated of course, if you don't like the behavior, but in any case, it will have to say "yes" (and provide the link in some format) or "no" - in the latter case, org will continue on with the rest of the functions in the list (and fall back to its default if *no* function says "yes"). > Ideally, it would > be great if in the normal stored org link, line number could be > included in the link and would be ripped off from the text to search > the linked file. > I'm confused - what exactly are you asking for here? If you don't use the line number for searching, why would you want to store it? Nick > On Sat, Feb 18, 2012 at 4:58 PM, Nick Dokos wrote: > > Nick Dokos wrote: > > > >> Not To Miss wrote: > >> > >> > I looked that section carefully and the whole manual briefly. I > >> > haven't found anything yet. That's why I am asking on the mailing list > >> > to see if anyone has some workaround. > >> > > >> > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin > >> > wrote: > >> > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss > >> > > wrote: > >> > >> Hi all, > >> > >> > >> > >> I am reading a long text file and want to write down my notes with > >> > >> org-mode. I extremely would like to put the line numbers down along > >> > >> with my notes. Although there is a way to store a link for text search > >> > >> for the current line, I haven't found a way to create a link to a line > >> > >> number in the current buffer. Is there anyway to do that? Thanks > >> > > > >> > > Take a look at org-capture: http://orgmode.org/manual/Capture.html > >> > > > >> The problem is to make sure org-store-link will actually store the line > >> number (along with everything else) so that then org-insert-link can > >> insert the link in the proper format. I don't think there is a function > >> to do that out of the box for line numbers, but you can easily (for some > >> value of "easily") write your own. Look in > >> > >> (info "(org)Adding hyperlink types") > >> > >> for some hints. Briefly, you write a function that checks whether it > >> wants to deal with the link or not, and you add it to > >> org-store-link-functions. I don't have the time to try it out right now, > >> but I believe this should work for what you want. > >> > > > > Following up on this, the following seems to work, although you probably > > want to tweak the criterion of when you want *this* function to take > > care of links - this particular implementation only applies the line > > number treatment to links generated in the file named > > "/path/to/the.file.txt" and only that file: > > > > --8<---cut here---start->8--- > > (defun org-file-lineno-store-link() > > (when (string-equal (buffer-file-name) "/path/to/the.file.txt") > > (let* ((link (format "file:%s::%d" (buffer-file-name) > > (line-number-at-pos > > (org-store-link-props > > :type "file" > > :link link > > > > (add-hook 'org-store-link-functions 'org-file-lineno-store-link) > > --8<---cut here---end--->8--- > > > > Nick > > > > > > -- > Best, > Zhenjiang >
Re: [O] anyway to create link to a line number in a file
Thanks, Nick! It works, though it works only to the specified file(s) by overruling the original org-store-link-functions. Ideally, it would be great if in the normal stored org link, line number could be included in the link and would be ripped off from the text to search the linked file. On Sat, Feb 18, 2012 at 4:58 PM, Nick Dokos wrote: > Nick Dokos wrote: > >> Not To Miss wrote: >> >> > I looked that section carefully and the whole manual briefly. I >> > haven't found anything yet. That's why I am asking on the mailing list >> > to see if anyone has some workaround. >> > >> > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin >> > wrote: >> > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss >> > > wrote: >> > >> Hi all, >> > >> >> > >> I am reading a long text file and want to write down my notes with >> > >> org-mode. I extremely would like to put the line numbers down along >> > >> with my notes. Although there is a way to store a link for text search >> > >> for the current line, I haven't found a way to create a link to a line >> > >> number in the current buffer. Is there anyway to do that? Thanks >> > > >> > > Take a look at org-capture: http://orgmode.org/manual/Capture.html >> > >> The problem is to make sure org-store-link will actually store the line >> number (along with everything else) so that then org-insert-link can >> insert the link in the proper format. I don't think there is a function >> to do that out of the box for line numbers, but you can easily (for some >> value of "easily") write your own. Look in >> >> (info "(org)Adding hyperlink types") >> >> for some hints. Briefly, you write a function that checks whether it >> wants to deal with the link or not, and you add it to >> org-store-link-functions. I don't have the time to try it out right now, >> but I believe this should work for what you want. >> > > Following up on this, the following seems to work, although you probably > want to tweak the criterion of when you want *this* function to take > care of links - this particular implementation only applies the line > number treatment to links generated in the file named > "/path/to/the.file.txt" and only that file: > > --8<---cut here---start->8--- > (defun org-file-lineno-store-link() > (when (string-equal (buffer-file-name) "/path/to/the.file.txt") > (let* ((link (format "file:%s::%d" (buffer-file-name) > (line-number-at-pos > (org-store-link-props > :type "file" > :link link > > (add-hook 'org-store-link-functions 'org-file-lineno-store-link) > --8<---cut here---end--->8--- > > Nick > -- Best, Zhenjiang
Re: [O] anyway to create link to a line number in a file
Nick Dokos wrote: > Not To Miss wrote: > > > I looked that section carefully and the whole manual briefly. I > > haven't found anything yet. That's why I am asking on the mailing list > > to see if anyone has some workaround. > > > > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin > > wrote: > > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss > > > wrote: > > >> Hi all, > > >> > > >> I am reading a long text file and want to write down my notes with > > >> org-mode. I extremely would like to put the line numbers down along > > >> with my notes. Although there is a way to store a link for text search > > >> for the current line, I haven't found a way to create a link to a line > > >> number in the current buffer. Is there anyway to do that? Thanks > > > > > > Take a look at org-capture: http://orgmode.org/manual/Capture.html > > The problem is to make sure org-store-link will actually store the line > number (along with everything else) so that then org-insert-link can > insert the link in the proper format. I don't think there is a function > to do that out of the box for line numbers, but you can easily (for some > value of "easily") write your own. Look in > > (info "(org)Adding hyperlink types") > > for some hints. Briefly, you write a function that checks whether it > wants to deal with the link or not, and you add it to > org-store-link-functions. I don't have the time to try it out right now, > but I believe this should work for what you want. > Following up on this, the following seems to work, although you probably want to tweak the criterion of when you want *this* function to take care of links - this particular implementation only applies the line number treatment to links generated in the file named "/path/to/the.file.txt" and only that file: --8<---cut here---start->8--- (defun org-file-lineno-store-link() (when (string-equal (buffer-file-name) "/path/to/the.file.txt") (let* ((link (format "file:%s::%d" (buffer-file-name) (line-number-at-pos (org-store-link-props :type "file" :link link (add-hook 'org-store-link-functions 'org-file-lineno-store-link) --8<---cut here---end--->8--- Nick
Re: [O] anyway to create link to a line number in a file
Not To Miss wrote: > I looked that section carefully and the whole manual briefly. I > haven't found anything yet. That's why I am asking on the mailing list > to see if anyone has some workaround. > > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin wrote: > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: > >> Hi all, > >> > >> I am reading a long text file and want to write down my notes with > >> org-mode. I extremely would like to put the line numbers down along > >> with my notes. Although there is a way to store a link for text search > >> for the current line, I haven't found a way to create a link to a line > >> number in the current buffer. Is there anyway to do that? Thanks > > > > Take a look at org-capture: http://orgmode.org/manual/Capture.html *Following* a link with a line number is no problem: org does that out of the box with a link like [[file:foo.txt::NNN][desc]] That is actually documented: (info "(org) External links") The problem is to make sure org-store-link will actually store the line number (along with everything else) so that then org-insert-link can insert the link in the proper format. I don't think there is a function to do that out of the box for line numbers, but you can easily (for some value of "easily") write your own. Look in (info "(org)Adding hyperlink types") for some hints. Briefly, you write a function that checks whether it wants to deal with the link or not, and you add it to org-store-link-functions. I don't have the time to try it out right now, but I believe this should work for what you want. Nick
Re: [O] anyway to create link to a line number in a file
Sorry, I didn't make it more clear. I want to create a link to a specific line automatically, just as the command "C-c l" (org-store-link) to automatically create a link to the text of current line. Sometimes line number is more important for me to record. On Sat, Feb 18, 2012 at 12:11 PM, Eric Schulte wrote: > Not To Miss writes: > >> I looked that section carefully and the whole manual briefly. I >> haven't found anything yet. That's why I am asking on the mailing list >> to see if anyone has some workaround. >> > > [[file:filename.txt::6]] jumps to line 6 of filename.txt for me. I > don't know if this is documented... if not a documentation patch would > be appreciated. > > Best, > >> >> On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin >> wrote: >>> On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: Hi all, I am reading a long text file and want to write down my notes with org-mode. I extremely would like to put the line numbers down along with my notes. Although there is a way to store a link for text search for the current line, I haven't found a way to create a link to a line number in the current buffer. Is there anyway to do that? Thanks >>> >>> Take a look at org-capture: http://orgmode.org/manual/Capture.html > > -- > Eric Schulte > http://cs.unm.edu/~eschulte/ -- Best, Zhenjiang
Re: [O] anyway to create link to a line number in a file
Not To Miss writes: > I looked that section carefully and the whole manual briefly. I > haven't found anything yet. That's why I am asking on the mailing list > to see if anyone has some workaround. > [[file:filename.txt::6]] jumps to line 6 of filename.txt for me. I don't know if this is documented... if not a documentation patch would be appreciated. Best, > > On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin wrote: >> On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: >>> Hi all, >>> >>> I am reading a long text file and want to write down my notes with >>> org-mode. I extremely would like to put the line numbers down along >>> with my notes. Although there is a way to store a link for text search >>> for the current line, I haven't found a way to create a link to a line >>> number in the current buffer. Is there anyway to do that? Thanks >> >> Take a look at org-capture: http://orgmode.org/manual/Capture.html -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] anyway to create link to a line number in a file
I looked that section carefully and the whole manual briefly. I haven't found anything yet. That's why I am asking on the mailing list to see if anyone has some workaround. On Sat, Feb 18, 2012 at 9:03 AM, Sean O'Halpin wrote: > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: >> Hi all, >> >> I am reading a long text file and want to write down my notes with >> org-mode. I extremely would like to put the line numbers down along >> with my notes. Although there is a way to store a link for text search >> for the current line, I haven't found a way to create a link to a line >> number in the current buffer. Is there anyway to do that? Thanks > > Take a look at org-capture: http://orgmode.org/manual/Capture.html -- Best, Zhenjiang
Re: [O] anyway to create link to a line number in a file
On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss wrote: > Hi all, > > I am reading a long text file and want to write down my notes with > org-mode. I extremely would like to put the line numbers down along > with my notes. Although there is a way to store a link for text search > for the current line, I haven't found a way to create a link to a line > number in the current buffer. Is there anyway to do that? Thanks Take a look at org-capture: http://orgmode.org/manual/Capture.html
[O] anyway to create link to a line number in a file
Hi all, I am reading a long text file and want to write down my notes with org-mode. I extremely would like to put the line numbers down along with my notes. Although there is a way to store a link for text search for the current line, I haven't found a way to create a link to a line number in the current buffer. Is there anyway to do that? Thanks -- Best, Zane