emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] contrib/org-toc.el: add forward and back commands
@ 2013-02-26 19:45 Aaron Ecay
  2013-02-26 22:18 ` Bastien
  0 siblings, 1 reply; 2+ messages in thread
From: Aaron Ecay @ 2013-02-26 19:45 UTC (permalink / raw)
  To: emacs-orgmode

These commands navigate among siblings in the outline, and are bound to
the ‘f’ and ‘b’ keys.  Move the function for toggling toc-follow to ‘F’.
---

Bastien's comment about org-toc prompted me to send in this patch,
which I've been sitting on for a while.

 contrib/lisp/org-toc.el | 29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/contrib/lisp/org-toc.el b/contrib/lisp/org-toc.el
index 83f7c29..7302a61 100644
--- a/contrib/lisp/org-toc.el
+++ b/contrib/lisp/org-toc.el
@@ -110,7 +110,7 @@ echo-area. The COLUMNS property is always exluded."
   (setq major-mode 'org-toc-mode))

 ;; toggle modes
-(define-key org-toc-mode-map "f" 'org-toc-follow-mode)
+(define-key org-toc-mode-map "F" 'org-toc-follow-mode)
 (define-key org-toc-mode-map "S" 'org-toc-show-subtree-mode)
 (define-key org-toc-mode-map "s" 'org-toc-store-config)
 (define-key org-toc-mode-map "g" 'org-toc-restore-config)
@@ -120,8 +120,10 @@ echo-area. The COLUMNS property is always exluded."
 ;; navigation keys
 (define-key org-toc-mode-map "p" 'org-toc-previous)
 (define-key org-toc-mode-map "n" 'org-toc-next)
-(define-key org-toc-mode-map [(left)] 'org-toc-previous)
-(define-key org-toc-mode-map [(right)] 'org-toc-next)
+(define-key org-toc-mode-map "f" 'org-toc-forward)
+(define-key org-toc-mode-map "b" 'org-toc-back)
+(define-key org-toc-mode-map [(left)] 'org-toc-back)
+(define-key org-toc-mode-map [(right)] 'org-toc-forward)
 (define-key org-toc-mode-map [(up)] 'org-toc-previous)
 (define-key org-toc-mode-map [(down)] 'org-toc-next)
 (define-key org-toc-mode-map "1" (lambda() (interactive) (org-toc-show 1 (point))))
@@ -332,6 +334,24 @@ If DELETE is non-nil, delete other windows when in the Org buffer."
   (if org-toc-info-mode (org-toc-info))
   (if org-toc-follow-mode (org-toc-goto)))

+(defun org-toc-forward ()
+  "Go to the next headline at the same level in the TOC."
+  (interactive)
+  (condition-case nil
+      (outline-forward-same-level 1)
+    (error (message "No next headline at this level.")))
+  (if org-toc-info-mode (org-toc-info))
+  (if org-toc-follow-mode (org-toc-goto)))
+
+(defun org-toc-back ()
+  "Go to the previous headline at the same level in the TOC."
+  (interactive)
+  (condition-case nil
+      (outline-backward-same-level 1)
+    (error (message "No previous headline at this level.")))
+  (if org-toc-info-mode (org-toc-info))
+  (if org-toc-follow-mode (org-toc-goto)))
+
 (defun org-toc-quit ()
   "Quit the current Org TOC buffer."
   (interactive)
@@ -462,12 +482,13 @@ status."
   (let ((st-start 0)
 	(help-message
 	 "\[space\]   show heading                     \[1-4\] hide headlines below this level
-\[TAB\]     jump to heading                  \[f\]   toggle follow mode (currently %s)
+\[TAB\]     jump to heading                  \[F\]   toggle follow mode (currently %s)
 \[return\]  jump and delete others windows   \[i\]   toggle info mode (currently %s)
 \[S-TAB\]   cycle subtree (in Org)           \[S\]   toggle show subtree mode (currently %s)
 \[C-S-TAB\] global cycle (in Org)            \[r\]   toggle recenter mode (currently %s)
 \[:\]       cycle subtree (in TOC)           \[c\]   toggle column view (currently %s)
 \[n/p\]     next/previous heading            \[s\]   save TOC configuration
+\[f/b\]     next/previous heading of same level
 \[q\]       quit the TOC                     \[g\]   restore last TOC configuration"))
     (while (string-match "\\[[^]]+\\]" help-message st-start)
       (add-text-properties (match-beginning 0)
--
1.8.1.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] contrib/org-toc.el: add forward and back commands
  2013-02-26 19:45 [PATCH] contrib/org-toc.el: add forward and back commands Aaron Ecay
@ 2013-02-26 22:18 ` Bastien
  0 siblings, 0 replies; 2+ messages in thread
From: Bastien @ 2013-02-26 22:18 UTC (permalink / raw)
  To: Aaron Ecay; +Cc: emacs-orgmode

Hi Aaron,

Aaron Ecay <aaronecay@gmail.com> writes:

> These commands navigate among siblings in the outline, and are bound to
> the ‘f’ and ‘b’ keys.  Move the function for toggling toc-follow to ‘F’.
> ---
>
> Bastien's comment about org-toc prompted me to send in this patch,
> which I've been sitting on for a while.

Applied, thanks!  Please feel free to take over maintainership
of org-toc.el, I'm glad it's still useful.

-- 
 Bastien

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-02-26 22:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-26 19:45 [PATCH] contrib/org-toc.el: add forward and back commands Aaron Ecay
2013-02-26 22:18 ` Bastien

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).