changeset 50044:534fbe8d6c4b

(dcl-font-lock-keywords, dcl-font-lock-defaults): New vars. (dcl-mode): Make and init local var `font-lock-defaults'.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Thu, 06 Mar 2003 23:10:12 +0000
parents 90beb357e9f5
children 900af6f45b8f
files lisp/progmodes/dcl-mode.el
diffstat 1 files changed, 29 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/dcl-mode.el	Thu Mar 06 20:35:23 2003 +0000
+++ b/lisp/progmodes/dcl-mode.el	Thu Mar 06 23:10:12 2003 +0000
@@ -51,6 +51,7 @@
 ;;
 ;;
 ;; Ideas for improvement:
+;; * Better font-lock support.
 ;; * Change meaning of `left margin' when dcl-tab-always-indent is nil.
 ;;   Consider the following line (`_' is the cursor):
 ;;     $ label: _ command
@@ -71,6 +72,26 @@
 
 ;;; *** Customization *****************************************************
 
+
+;; First, font lock.  This is a minimal approach, please improve!
+
+(defvar dcl-font-lock-keywords
+  '(("\\<\\(if\\|then\\|else\\|endif\\)\\>"
+     1 font-lock-keyword-face)
+    ("\\<f[$][a-z]+\\>"
+     0 font-lock-builtin-face)
+    ("[.]\\(eq\\|not\\|or\\|and\\|lt\\|gt\\|le\\|ge\\|eqs\\|nes\\)[.]"
+     0 font-lock-builtin-face))
+  "Font lock keyword specification for DCL mode.
+Presently this includes some syntax, .OP.erators, and \"f$\" lexicals.")
+
+(defvar dcl-font-lock-defaults
+  '(dcl-font-lock-keywords nil)
+  "Font lock specification for DCL mode.")
+
+
+;; Now the rest.
+
 (defgroup dcl nil
   "Major mode for editing DCL command files."
   :group 'languages)
@@ -566,7 +587,10 @@
 $           endloop1: ! This matches dcl-block-end-regexp
 $       endif
 $
-"
+
+
+There is some minimal font-lock support (see vars
+`dcl-font-lock-defaults' and `dcl-font-lock-keywords')."
   (interactive)
   (kill-all-local-variables)
   (set-syntax-table dcl-mode-syntax-table)
@@ -609,6 +633,10 @@
   (make-local-variable 'dcl-calc-cont-indent-function)
   (make-local-variable 'dcl-electric-reindent-regexps)
 
+  ;; font lock
+  (make-local-variable 'font-lock-defaults)
+  (setq font-lock-defaults dcl-font-lock-defaults)
+
   (setq major-mode 'dcl-mode)
   (setq mode-name "DCL")
   (use-local-map dcl-mode-map)