From 334f206c5639c4247550e05eabe4b8ee255a7453 Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Thu, 6 Mar 2003 23:14:23 +0000 Subject: [PATCH] (dcl-font-lock-keywords, dcl-font-lock-defaults): New vars. (dcl-mode): Make and init local var `font-lock-defaults'. --- lisp/ChangeLog | 6 ++++++ lisp/progmodes/dcl-mode.el | 30 +++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f3930fec0f1..89a6cab3eef 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2003-03-07 Thien-Thi Nguyen + + * progmodes/dcl-mode.el (dcl-font-lock-keywords): New var. + (dcl-font-lock-defaults): Newvar. + (dcl-mode): Make and init local var `font-lock-defaults'. + 2003-03-06 Kevin Rodgers * ffap.el (dired-at-point): Check whether the user can create a diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el index b975b089360..799c47e09fa 100644 --- a/lisp/progmodes/dcl-mode.el +++ b/lisp/progmodes/dcl-mode.el @@ -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) + ("\\" + 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 @@ Data lines are not indented at all. $ 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) -- 2.39.2