From: Mark Wooding Date: Fri, 9 May 2008 22:49:12 +0000 (+0100) Subject: emacs, dot-emacs: Hacking outline mode. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/5de5db48aebed6598462453f75f39f57c650a6c3?ds=inline emacs, dot-emacs: Hacking outline mode. * C-c ... C-r (`reveal-mode') turns on or off reveal-mode. * C-c ... C-- (`mdw-outline-collapse-all') collapses the entire buffer. C mode in particular doesn't collapse comments unless beaten over the head rather vigorously. This command does the beating. --- diff --git a/dot-emacs.el b/dot-emacs.el index 7e44b6f..88bfcab 100644 --- a/dot-emacs.el +++ b/dot-emacs.el @@ -562,6 +562,7 @@ (defun mdw-misc-mode-config () (auto-fill-mode 1) (setq fill-column 77) (setq show-trailing-whitespace t) + (outline-minor-mode t) (mdw-set-font)) ;; --- Set up all sorts of faces --- @@ -1978,6 +1979,17 @@ (defun mdw-text-mode () "\\([ \t]*\\([>#|:] ?\\)*[ \t]*\\)" 3) (auto-fill-mode 1)) +;;;----- Outline mode ------------------------------------------------------- + +(defun mdw-outline-collapse-all () + "Completely collapse everything in the entire buffer." + (interactive) + (save-excursion + (goto-char (point-min)) + (while (< (point) (point-max)) + (hide-subtree) + (forward-line)))) + ;;;----- Shell mode --------------------------------------------------------- (defun mdw-sh-mode-setup () diff --git a/emacs b/emacs index d1fb141..5980490 100644 --- a/emacs +++ b/emacs @@ -178,7 +178,11 @@ (defvar mdw-black-background t) -(eval-after-load "outline" '(require 'foldout)) +(eval-after-load "outline" + '(progn + (trap (require 'foldout)) + (define-key outline-mode-prefix-map [?\C-r] 'reveal-mode) + (define-key outline-mode-prefix-map [?\C--] 'mdw-outline-collapse-all))) (setq cltl2-root-url (mdw-config 'cltl-url)) (setq common-lisp-hyperspec-root (mdw-config 'hyperspec-url))