[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Org mode links for helm

From: John Kitchin
Subject: Re: [O] Org mode links for helm
Date: Sun, 25 May 2014 07:28:10 -0400

nice. I have similar code in org-ref  for a ref links to labels, but it doesn't have #+name in it yet, but it does do table names. You might find the function org-label-store-link (https://github.com/jkitchin/jmax/blob/master/org-ref.org#label) interesting, so you can use C-c l and C-c C-l to put your links in. I think you could do something like that with #+name.


John Kitchin
Associate Professor
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213

On Sat, May 24, 2014 at 11:32 PM, Thomas S. Dye <address@hidden> wrote:
Aloha Bastien,

Bastien <address@hidden> writes:

> Hi Thomas,
> address@hidden (Thomas S. Dye) writes:
>> Has anyone implemented a helm interface for Org-mode #+name lines?  I
>> think it might be useful for inserting cross reference links.
> did you try
> https://github.com/emacs-helm/helm/blob/master/helm-org.el
> ?

This code, adapted from some code I found on John Kitchin's blog, does
what I want.

** Cross references
#+name: tsd-xref
#+begin_src emacs-lisp
(defun tsd-get-names-and-labels ()
    (goto-char (point-min))
    (let ((matches '()))
      (while (re-search-forward "\\#\\+\\(name\\|label\\):\\s-\\(.*\\)" (point-max) t)
        (add-to-list 'matches (match-string-no-properties 2) t))

(defun tsd-org-insert-crossref-link (&optional arg)
  (interactive (list (completing-read "insert: " (tsd-get-names-and-labels))))
  (insert (format "[[%s]]" arg)))

Now, when I'm referring to something I've labeled or named, I call
tsd-org-insert-crossref-link and helm works on a list of labels and
names defined in the buffer.

It's almost as convenient as using Carsten's reftex mode when writing in

All the best,
Thomas S. Dye

reply via email to

[Prev in Thread] Current Thread [Next in Thread]