(load-library "hideshow") (defvar my-hs-hide t "Current state of hideshow for toggling all.") ;;;###autoload (defun my-toggle-hideshow-all () "Toggle hideshow all." (interactive) (set (make-variable-buffer-local 'my-hs-hide) (not my-hs-hide)) (if my-hs-hide (hs-hide-all) (hs-show-all))) ;; Added 2003.11.21 --- (defun sacha/hs-minor-mode-setup () "Turn on `hs-minor-mode' and hide everything." (hs-minor-mode 1) (hs-hide-all) (set (make-variable-buffer-local 'my-hs-hide) t)) (add-hook 'emacs-lisp-mode-hook 'sacha/hs-minor-mode-setup) (add-hook 'java-mode-hook 'sacha/hs-minor-mode-setup) (add-hook 'perl-mode-hook 'sacha/hs-minor-mode-setup) ;; Maybe make this a define-key for hs-minor-mode-map to be proper? (global-set-key (kbd "C-c @ @") 'my-toggle-hideshow-all) (global-set-key (kbd "C-c @ h") 'hs-hide-block) (global-set-key (kbd "C-c @ s") 'hs-show-block) (global-set-key (kbd "C-c @ SPC") 'hs-show-block)