changeset 9378:1c9b8b3971a0

(outline-font-lock-keywords): New variable. (outline-mode): Set font-lock-keywords locally.
author Richard M. Stallman <rms@gnu.org>
date Fri, 07 Oct 1994 09:54:58 +0000
parents 45228a0f6b78
children 138d99e53e94
files lisp/textmodes/ooutline.el
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/ooutline.el	Fri Oct 07 09:53:28 1994 +0000
+++ b/lisp/textmodes/ooutline.el	Fri Oct 07 09:54:58 1994 +0000
@@ -134,6 +134,20 @@
     (setq minor-mode-alist (append minor-mode-alist
 				   (list '(outline-minor-mode " Outl")))))
 
+(defvar outline-font-lock-keywords
+  '(;; Highlight headings according to the level.
+    ("^\\(\\*+\\)[ \t]*\\(.+\\)?[ \t]*$"
+     (1 font-lock-string-face)
+     (2 (let ((len (- (match-end 1) (match-beginning 1))))
+	  (or (cdr (assq len '((1 . font-lock-function-name-face)
+			       (2 . font-lock-keyword-face)
+			       (3 . font-lock-comment-face))))
+	      font-lock-variable-name-face))
+	nil t))
+    ;; Highight citations of the form [1] and [Mar94].
+    ("\\[\\([A-Z][A-Za-z]+\\)*[0-9]+\\]" . font-lock-type-face))
+  "Additional expressions to highlight in Outline mode.")
+
 ;;;###autoload
 (defun outline-mode ()
   "Set major mode for editing outlines with selective display.
@@ -192,6 +206,8 @@
   (make-local-variable 'paragraph-separate)
   (setq paragraph-separate (concat paragraph-separate "\\|^\\("
 				   outline-regexp "\\)"))
+  (make-local-variable 'font-lock-keywords)
+  (setq font-lock-keywords outline-font-lock-keywords)
   (make-local-variable 'change-major-mode-hook)
   (add-hook 'change-major-mode-hook 'show-all)
   (run-hooks 'text-mode-hook 'outline-mode-hook))