Variable: m3-font-lock-keywords-2

m3-font-lock-keywords-2 is a variable defined in modula2.el.gz.

Value

(("\\<\\(INTERFACE\\|MODULE\\|PROCEDURE\\)\\>[    ]*\\(\\sw+\\)?"
  (1 font-lock-keyword-face)
  (2 font-lock-function-name-face nil t))
 ("\\<\\(EXPORTS\\|FROM\\|IMPORT\\)\\>"
  (1 font-lock-keyword-face)
  (font-lock-match-c-style-declaration-item-and-skip-to-next nil
							     (goto-char
							      (match-end 0))
							     (1 font-lock-constant-face)))
 ("<\\*[     ]*\\(\\sw+\\)" 1 font-lock-warning-face prepend)
 "\\<\\(\\(?:A\\(?:N[DY]\\|S\\)\\|B\\(?:EGIN\\|RANDED\\|Y\\)\\|C\\(?:ASE\\|ONST\\)\\|D\\(?:IV\\|O\\)\\|E\\(?:LS\\(?:E\\|IF\\)\\|VAL\\|X\\(?:\\(?:CEP\\|I\\)T\\)\\)\\|F\\(?:INALLY\\|OR\\)\\|GENERIC\\|I[FN]\\|LO\\(?:CK\\|OP\\)\\|M\\(?:ETHODS\\|OD\\)\\|NOT\\|O\\(?:BJECT\\|VERRIDES\\|[FR]\\)\\|RE\\(?:ADONLY\\|CORD\\|F\\|PEAT\\|TURN\\|VEAL\\)\\|T\\(?:HEN\\|O\\|RY\\|YPE\\(?:CASE\\)?\\)\\|UN\\(?:SAFE\\|T\\(?:IL\\|RACED\\)\\)\\|VA\\(?:LUE\\|R\\)\\|W\\(?:HILE\\|ITH\\)\\)\\)\\>"
 ("\\<\\(\\(?:A\\(?:BS\\|DR\\(?:SIZE\\)?\\)\\|B\\(?:\\(?:IT\\|YTE\\)SIZE\\)\\|CEILING\\|D\\(?:EC\\|ISPOSE\\)\\|F\\(?:IRST\\|LOOR\\)\\|I\\(?:NC\\|STYPE\\)\\|L\\(?:AST\\|OOPHOLE\\)\\|M\\(?:AX\\|IN\\)\\|N\\(?:ARROW\\|EW\\|UMBER\\)\\|ORD\\|ROUND\\|SUBARRAY\\|T\\(?:RUNC\\|YPECODE\\)\\|VAL\\)\\)\\>" . font-lock-builtin-face)
 ("\\<\\(\\(?:A\\(?:DDRESS\\|RRAY\\)\\|B\\(?:ITS\\|OOLEAN\\)\\|C\\(?:ARDINAL\\|HAR\\)\\|EXTENDED\\|FLOAT\\|INTEGER\\|LONGREAL\\|MUTEX\\|R\\(?:E\\(?:AL\\|FANY\\)\\|OOT\\)\\|\\(?:SE\\|TEX\\)T\\)\\)\\>" . font-lock-type-face)
 ("\\<\\(END\\|EXCEPTION\\|RAISES?\\)\\>[         {]*"
  (1 font-lock-keyword-face)
  (font-lock-match-c-style-declaration-item-and-skip-to-next nil
							     (goto-char
							      (match-end 0))
							     (1 font-lock-function-name-face)))
 ("\\<\\(FALSE\\|NIL\\|NULL\\|TRUE\\)\\>" . font-lock-constant-face))

Documentation

Gaudy level highlighting for Modula-3 modes.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/modula2.el.gz
(defconst m3-font-lock-keywords-2
  (append m3-font-lock-keywords-1
   (eval-when-compile
     (let ((m3-types
	    (regexp-opt
	     '("INTEGER" "BITS" "BOOLEAN" "CARDINAL" "CHAR" "FLOAT" "REAL"
	       "LONGREAL" "REFANY" "ADDRESS" "ARRAY" "SET" "TEXT"
	       "MUTEX" "ROOT" "EXTENDED")))
	   (m3-keywords
	    (regexp-opt
	     '("AND" "ANY" "AS" "BEGIN" "BRANDED" "BY" "CASE" "CONST" "DIV"
	       "DO" "ELSE" "ELSIF" "EVAL" "EXCEPT" "EXIT" "FINALLY"
	       "FOR" "GENERIC" "IF" "IN" "LOCK" "LOOP" "METHODS" "MOD" "NOT"
	       "OBJECT" "OF" "OR" "OVERRIDES" "READONLY" "RECORD" "REF"
	       "REPEAT" "RETURN" "REVEAL" "THEN" "TO" "TRY"
	       "TYPE" "TYPECASE" "UNSAFE" "UNTIL" "UNTRACED" "VAR" "VALUE"
	       "WHILE" "WITH")))
	   (m3-builtins
	    (regexp-opt
	     '("ABS" "ADR" "ADRSIZE" "BITSIZE" "BYTESIZE" "CEILING"
	       "DEC" "DISPOSE" "FIRST" "FLOOR" "INC" "ISTYPE" "LAST"
	       "LOOPHOLE" "MAX" "MIN" "NARROW" "NEW" "NUMBER" "ORD"
	       "ROUND" "SUBARRAY" "TRUNC" "TYPECODE" "VAL")))
	   )
       (list
	;;
	;; Keywords except those fontified elsewhere.
	(concat "\\<\\(" m3-keywords "\\)\\>")
	;;
	;; Builtins.
	(cons (concat "\\<\\(" m3-builtins "\\)\\>") 'font-lock-builtin-face)
	;;
	;; Type names.
	(cons (concat "\\<\\(" m3-types "\\)\\>") 'font-lock-type-face)
	;;
	;; Fontify tokens as function names.
	'("\\<\\(END\\|EXCEPTION\\|RAISES?\\)\\>[ \t{]*"
	  (1 font-lock-keyword-face)
	  (font-lock-match-c-style-declaration-item-and-skip-to-next
	   nil (goto-char (match-end 0))
	   (1 font-lock-function-name-face)))
	;;
	;; Fontify constants as references.
	'("\\<\\(FALSE\\|NIL\\|NULL\\|TRUE\\)\\>" . font-lock-constant-face)
	))))
  "Gaudy level highlighting for Modula-3 modes.")