Hi Dan, Dan Davison wrote: > Eric S Fraga <e.fr...@ucl.ac.uk> writes: >> "Eric Schulte" <schulte.e...@gmail.com> writes: >>> Eric S Fraga <e.fr...@ucl.ac.uk> writes: >> >>>> management issue: I find it difficult (a) to remember what all my source >>>> code snippets are called and (b) to navigate to any given snippet. I >>>> would love to see a babel table of contents popup (a la the table of >>>> contents popup with reftex implements for latex files). Is something like >>>> this already available? If not, how difficult would it be to implement >>>> (I'm happy to try given a pointer in the right direction(s)...). >>> >>> There was some talk of merging imenu with Babel which would provide the >>> functionality you describe, I don't believe this ever resulting in working >>> code however. There are a couple of options... >>> >>> If you know the name of the code block you want to find you can use >>> `org-babel-goto-named-src-block' (bound to C-c C-v g) to jump to a named >>> code block (∃ a similar function for finding named results). > > Would anyone object if I change that function slightly so that it > doesn't strip text properties, so that the search hits come up in the > minibuffer with the in-context fontification?
Not sure either to understand what you mean... >>> This function provides completion on the block names, the function >>> `org-babel-src-block-names' returns a list of all named blocks in the >>> current buffer, so it could be used to built up such a table. In fact >>> the following code block will insert a table of such names in the >>> current buffer. Note: you will need to pull the latest as I had to fix >>> a small bug in `org-babel-src-block-names'. >>> >>> #+begin_src emacs-lisp :results list >>> (mapcar #'list (reverse (org-babel-src-block-names))) >>> #+end_src > > As a different approach, `occur' is good for doing this (results listed > in a separate buffer with jump-back links). The function below can be > extended in the obvious way. > > #+begin_src emacs-lisp > (defun dan/find-in-buffer () > (interactive) > (let ((targets > `(("<named src blocks>" . ,org-babel-src-name-regexp) > ("<src block results>" . ,org-babel-result-regexp)))) > (occur > (cdr > (assoc > (ido-completing-read "Find: " (mapcar #'car targets)) > targets))) > (other-window 1))) > #+end_src Thanks for sharing this. Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode