Variable: meta-font-lock-keywords

meta-font-lock-keywords is a variable defined in meta-mode.el.gz.

Value

Large value
(("\\(btex\\|verbatimtex\\)[    \f]+\\(.*\\)[   \f]+\\(etex\\)"
  (1 font-lock-keyword-face) (2 font-lock-string-face)
  (3 font-lock-keyword-face))
 ("\\<\\(def\\|let\\|mode_def\\|vardef\\)\\>[     \f]+\\(\\sw+\\|\\s_+\\|\\s.+\\)"
  (1 font-lock-keyword-face) (2 font-lock-function-name-face))
 ("\\<\\(primarydef\\|secondarydef\\|tertiarydef\\)\\>[   \f]+\\(\\sw+\\)[        \f]*\\(\\sw+\\|\\s.+\\)[        \f]*\\(\\sw+\\)"
  (1 font-lock-keyword-face) (2 font-lock-variable-name-face nil t)
  (3 font-lock-function-name-face nil t)
  (4 font-lock-variable-name-face nil t))
 ("\\<\\(boolean\\|color\\|n\\(?:ewinternal\\|umeric\\)\\|p\\(?:a\\(?:ir\\|th\\)\\|en\\|icture\\)\\|string\\|transform\\)\\>\\([  \f]+\\(\\sw+\\)\\)*"
  (1 font-lock-type-face)
  (meta-font-lock-match-declaration-item-and-skip-to-next
   (goto-char (match-end 1)) nil
   (1 font-lock-variable-name-face nil t)))
 ("\\<\\(expr\\|primary\\|s\\(?:econdary\\|uffix\\)\\|te\\(?:rtiary\\|xt\\)\\)\\>\\([     \f]+\\(\\sw+\\|\\s_+\\)\\)*"
  (1 font-lock-type-face)
  (meta-font-lock-match-declaration-item-and-skip-to-next
   (goto-char (match-end 1)) nil
   (1 font-lock-variable-name-face nil t)))
 ("\\(expr\\)[  \f]+\\(\\sw+\\)[        \f]+\\(of\\)[   \f]+\\(\\sw+\\)"
  (1 font-lock-type-face) (2 font-lock-variable-name-face)
  (3 font-lock-keyword-face nil t)
  (4 font-lock-variable-name-face nil t))
 ("\\<\\(and\\|b\\(?:egingroup\\|ye\\)\\|d\\(?:ef\\|ownto\\)\\|e\\(?:lse\\(?:if\\)?\\|nd\\(?:def\\|for\\|group\\|input\\)?\\|rr\\(?:help\\|message\\)\\|x\\(?:it\\(?:if\\|unless\\)\\|pandafter\\)\\)\\|f\\(?:alse\\|i\\|or\\(?:ever\\|suffixes\\)?\\)\\|generate\\|i\\(?:ff?\\|n\\(?:ner\\|put\\|terim\\)\\)\\|known\\|let\\|m\\(?:essage\\|ode_def\\)\\|n\\(?:ot\\|umspecial\\)\\|o\\(?:\\(?:ute\\)?r\\)\\|re\\(?:ad\\(?:from\\|string\\)\\|lax\\)\\|s\\(?:ave\\|cantokens\\|pecial\\|tep\\)\\|t\\(?:hru\\|rue\\)\\|u\\(?:n\\(?:known\\|til\\)\\|pto\\)\\|vardef\\|w\\(?:ithin\\|rite\\)\\)\\>"
  . font-lock-keyword-face)
 ("\\<\\(begin\\(char\\|fig\\|graph\\|logochar\\)\\|\\cmchar\\|dcchar\\|ecchar\\)\\>"
  . font-lock-keyword-face)
 ("\\<\\(end\\(char\\|fig\\|graph\\)\\)\\>" . font-lock-keyword-face)
 ("\\<\\(input\\|generate\\)\\>[  \f]+\\(\\sw+\\)"
  (1 font-lock-keyword-face) (2 font-lock-constant-face))
 ("|\\([^|]+\\)|" 1 font-lock-constant-face t))

Documentation

Default expressions to highlight in Metafont or MetaPost mode.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/meta-mode.el.gz
;;; Fontification.

(defvar meta-font-lock-keywords
      (let ((input-keywords
             "\\(input\\|generate\\)")
            (begin-keywords
             (concat "\\(begin\\(char\\|fig\\|graph\\|logochar\\)\\|"
                     "\\cmchar\\|dcchar\\|ecchar\\)"))
            (end-keywords
             "\\(end\\(char\\|fig\\|graph\\)\\)")
            (macro-keywords-1
             "\\(def\\|let\\|mode_def\\|vardef\\)")
            (macro-keywords-2
             "\\(primarydef\\|secondarydef\\|tertiarydef\\)")
            (args-keywords
             (regexp-opt
              '("expr" "suffix" "text" "primary" "secondary" "tertiary")
              t))
            (type-keywords
             (regexp-opt
              '("boolean" "color" "numeric" "pair" "path" "pen" "picture"
                "string" "transform" "newinternal")
              t))
            (syntactic-keywords
             (regexp-opt
              '("for" "forever" "forsuffixes" "endfor"
                "step" "until" "upto" "downto" "thru" "within"
                "iff" "if" "elseif" "else" "fi" "exitif" "exitunless"
                "let" "def" "vardef" "enddef" "mode_def"
                "true" "false" "known" "unknown" "and" "or" "not"
                "save" "interim" "inner" "outer" "relax"
                "begingroup" "endgroup" "expandafter" "scantokens"
                "generate" "input" "endinput" "end" "bye"
                "message" "errmessage" "errhelp" "special" "numspecial"
                "readstring" "readfrom" "write")
              t))
            )
        (list
         ;; embedded TeX code in btex ... etex
         (cons (concat "\\(btex\\|verbatimtex\\)"
                       "[ \t\f]+\\(.*\\)[ \t\f]+"
                       "\\(etex\\)")
               '((1 font-lock-keyword-face)
                 (2 font-lock-string-face)
                 (3 font-lock-keyword-face)))
         ;; unary macro definitions: def, vardef, let
         (cons (concat "\\<" macro-keywords-1 "\\>"
                       "[ \t\f]+\\(\\sw+\\|\\s_+\\|\\s.+\\)")
               '((1 font-lock-keyword-face)
                 (2 font-lock-function-name-face)))
         ;; binary macro definitions: <leveldef> x operator y
         (cons (concat "\\<" macro-keywords-2 "\\>"
                       "[ \t\f]+\\(\\sw+\\)"
                       "[ \t\f]*\\(\\sw+\\|\\s.+\\)"
                       "[ \t\f]*\\(\\sw+\\)")
               '((1 font-lock-keyword-face)
                 (2 font-lock-variable-name-face nil t)
                 (3 font-lock-function-name-face nil t)
                 (4 font-lock-variable-name-face nil t)))
         ;; variable declarations: numeric, pair, color, ...
         (cons (concat "\\<" type-keywords "\\>"
                       "\\([ \t\f]+\\(\\sw+\\)\\)*")
               '((1 font-lock-type-face)
                 (meta-font-lock-match-declaration-item-and-skip-to-next
                  (goto-char (match-end 1)) nil
                  (1 font-lock-variable-name-face nil t))))
         ;; argument declarations: expr, suffix, text, ...
         (cons (concat "\\<" args-keywords "\\>"
                       "\\([ \t\f]+\\(\\sw+\\|\\s_+\\)\\)*")
               '((1 font-lock-type-face)
                 (meta-font-lock-match-declaration-item-and-skip-to-next
                  (goto-char (match-end 1)) nil
                  (1 font-lock-variable-name-face nil t))))
         ;; special case of arguments: expr x of y
         (cons (concat "\\(expr\\)[ \t\f]+\\(\\sw+\\)"
                       "[ \t\f]+\\(of\\)[ \t\f]+\\(\\sw+\\)")
               '((1 font-lock-type-face)
                 (2 font-lock-variable-name-face)
                 (3 font-lock-keyword-face nil t)
                 (4 font-lock-variable-name-face nil t)))
         ;; syntactic keywords
         (cons (concat "\\<" syntactic-keywords "\\>")
               'font-lock-keyword-face)
         ;; beginchar, beginfig
         (cons (concat "\\<" begin-keywords "\\>")
               'font-lock-keyword-face)
         ;; endchar, endfig
         (cons (concat "\\<" end-keywords "\\>")
               'font-lock-keyword-face)
         ;; input, generate
         (cons (concat "\\<" input-keywords "\\>"
                       "[ \t\f]+\\(\\sw+\\)")
               '((1 font-lock-keyword-face)
                 (2 font-lock-constant-face)))
         ;; embedded Metafont/MetaPost code in comments
         (cons "|\\([^|]+\\)|"
               '(1 font-lock-constant-face t))
     ))
  "Default expressions to highlight in Metafont or MetaPost mode.")