[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

51. Extensive Outline Mode

Allout outline mode provides extensive outline formatting and manipulation beyond standard emacs outline mode (see (xemacs)Outline Mode). It provides for structured editing of outlines, as well as navigation and exposure. It also provides for syntax-sensitive text like programming languages. (For an example, see the allout code itself, which is organized in ;; an outline framework.)

In addition to outline navigation and exposure, allout includes:

and many other features.

To configure the package, type:

 
  M-x customize-group RET allout RET

To use the allout package in place of the standard outline package, add the following bit of code

 
(require 'outline "allout") 

to your initialization file. This will ensure that all the functions provided by the outline package will be loaded from the new allout package instead.

The outline menubar additions provide quick reference to many of the features, and see the docstring of the variable ‘outline-init’ for instructions on priming your emacs session for automatic activation of outline-mode.

See the docstring of the variables ‘outline-layout’ and ‘outline-auto-activation’ for details on automatic activation of allout outline-mode as a minor mode.

By default, allout mode does not fontify the buffer. To get Font Lock to work put the following into your initialization file (adapted from the standard outline mode):

 
  (defvar rf-allout-font-lock-keywords
    '(;;
      ;; Highlight headings according to the level.
      (eval . (list (concat "^\\(" outline-regexp "\\).+")
                    0 '(or (cdr (assq (outline-depth)
                                      '((1 . font-lock-function-name-face)
                                        (2 . font-lock-variable-name-face)
                                        (3 . font-lock-keyword-face)
                                        (4 . font-lock-builtin-face)
                                        (5 . font-lock-comment-face)
                                        (6 . font-lock-constant-face)
                                        (7 . font-lock-type-face)
                                        (8 . font-lock-string-face))))
                           font-lock-warning-face)
                    nil t)))
    "Additional expressions to highlight in Outline mode.")

  ;; add font-lock to allout mode
  (defun rf-allout-font-lock-hook ()
    (set (make-local-variable 'font-lock-defaults)
         '(rf-allout-font-lock-keywords t nil nil outline-back-to-current-heading)))

  (add-hook 'outline-mode-hook 'rf-allout-font-lock-hook)

[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Aidan Kehoe on December 27, 2016 using texi2html 1.82.