emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Not To Miss <not.to.miss@gmail.com>
To: nicholas.dokos@hp.com
Cc: emacs-orgmode@gnu.org
Subject: Re: anyway to create link to a line number in a file
Date: Sun, 19 Feb 2012 23:43:02 -0500	[thread overview]
Message-ID: <CAAp=d8rhn1Xjd6bV_+pDeXNZfJE9YOwU=haqWqBnTwEw60X84A@mail.gmail.com> (raw)
In-Reply-To: <4472.1329602285@alphaville>

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 <nicholas.dokos@hp.com> wrote:
> Nick Dokos <nicholas.dokos@hp.com> wrote:
>
>> Not To Miss <not.to.miss@gmail.com> 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.ohalpin@gmail.com> wrote:
>> > > On Fri, Feb 17, 2012 at 4:54 PM, Not To Miss <not.to.miss@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

  reply	other threads:[~2012-02-20  4:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-17 16:54 anyway to create link to a line number in a file Not To Miss
2012-02-18 14:03 ` Sean O'Halpin
2012-02-18 16:31   ` Not To Miss
2012-02-18 17:11     ` Eric Schulte
2012-02-18 17:30       ` Not To Miss
2012-02-18 17:31     ` Nick Dokos
2012-02-18 21:58       ` Nick Dokos
2012-02-20  4:43         ` Not To Miss [this message]
2012-02-20  5:58           ` Nick Dokos
2012-02-21 17:16             ` Not To Miss
2012-02-21 17:29               ` Nick Dokos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAp=d8rhn1Xjd6bV_+pDeXNZfJE9YOwU=haqWqBnTwEw60X84A@mail.gmail.com' \
    --to=not.to.miss@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=nicholas.dokos@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).