From: Nick Dokos <nicholas.dokos@hp.com>
To: Not To Miss <not.to.miss@gmail.com>
Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org
Subject: Re: anyway to create link to a line number in a file
Date: Sat, 18 Feb 2012 16:58:05 -0500 [thread overview]
Message-ID: <4472.1329602285@alphaville> (raw)
In-Reply-To: Message from Nick Dokos <nicholas.dokos@hp.com> of "Sat, 18 Feb 2012 12:31:27 EST." <9088.1329586287@alphaville>
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
next prev parent reply other threads:[~2012-02-18 21:58 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 [this message]
2012-02-20 4:43 ` Not To Miss
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=4472.1329602285@alphaville \
--to=nicholas.dokos@hp.com \
--cc=emacs-orgmode@gnu.org \
--cc=not.to.miss@gmail.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).