Conditional compilation
Laura Creighton
lac at strakt.com
Sun May 12 15:06:37 EDT 2002
>
> thanks. but this doesn't do 'collapsing' several lines into temporary
> nothingness.
>
> holger
I missed the start of this, but, is this what you want? Courtesy
Ronny Wikh rw @ strakt.com
This we use to make whole classes go away so you can see program structure.
Laura
---------
;;
;; python outline mode
;;
(defvar outline-start-hidden t "Start outline hidden")
(defun outline-setup (regexp)
"Setup outline mode"
(defvar outline-toggle-all-flag nil "toggle all flag")
(defvar cpos_save nil "current cursor position")
(outline-minor-mode)
(setq outline-regexp regexp)
(define-key outline-minor-mode-map "\C-c\C-e" 'outline-toggle-entry)
(define-key outline-minor-mode-map "\C-c\C-a" 'outline-toggle-all)
(if outline-start-hidden
(hide-body))
(defun outline-toggle-entry () (interactive)
"Toggle outline hiding for the entry under the cursor"
(if (progn
(setq cpos_save (point))
(end-of-line)
(get-char-property (point) 'invisible))
(progn
(show-subtree)
(goto-char cpos_save))
(progn
(hide-leaves)
(goto-char cpos_save))))
(defun outline-toggle-all () (interactive)
"Toggle outline hiding for the entire file"
(if outline-toggle-all-flag
(progn
(setq outline-toggle-all-flag nil)
(hide-body))
(progn
(setq outline-toggle-all-flag t)
(show-all))))
)
(defun python-outline () (interactive)
"Python outline mode"
(python-mode)
(outline-setup "^class \\|[ ]*def \\|^#"))
(defun texi-outline () (interactive)
"Texinfo outline mode"
(texinfo-mode)
(outline-setup "^@chap\\|@\\(sub\\)*section"))
More information about the Python-list
mailing list