From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Ecay Subject: [PATCH] contrib/org-toc.el: add forward and back commands Date: Tue, 26 Feb 2013 14:45:09 -0500 Message-ID: <1361907909-32271-1-git-send-email-aaronecay@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([208.118.235.92]:55635) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UAQhc-00035P-Ud for emacs-orgmode@gnu.org; Tue, 26 Feb 2013 15:00:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UAQSg-0005WK-41 for emacs-orgmode@gnu.org; Tue, 26 Feb 2013 14:45:34 -0500 Received: from mail-qe0-f45.google.com ([209.85.128.45]:56513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UAQSf-0005Ty-Si for emacs-orgmode@gnu.org; Tue, 26 Feb 2013 14:45:13 -0500 Received: by mail-qe0-f45.google.com with SMTP id b4so1691486qen.4 for ; Tue, 26 Feb 2013 11:45:13 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org 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