Variable: scheme-font-lock-keywords-2

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

Value

(("(\\(define\\*?\\(\\(\\|-public\\|-method\\|-generic\\(-procedure\\)?\\)\\|\\(-syntax\\|-macro\\)\\|-class\\|-module\\)\\)\\>[     ]*(*\\(\\sw+\\)?"
  (1 font-lock-keyword-face)
  (6
   (cond ((match-beginning 3) font-lock-function-name-face)
	 ((match-beginning 5) font-lock-variable-name-face)
	 (t font-lock-type-face))
   nil t))
 ("(\\(and\\|begin\\|c\\(?:a\\(?:ll\\(?:-with-\\(?:current-continuation\\|input-file\\|output-file\\|port\\)\\|/cc\\)\\|se\\(?:-lambda\\)?\\)\\|ond\\(?:-expand\\)?\\)\\|d\\(?:e\\(?:fine-\\(?:library\\|record-type\\|values\\)\\|lay\\(?:-force\\)?\\)\\|o\\)\\|e\\(?:lse\\|x\\(?:\\(?:cep\\|por\\)t\\)\\)\\|for\\(?:-each\\|ce\\)\\|guard\\|i\\(?:f\\|mport\\|nclude\\(?:-\\(?:ci\\|library-declarations\\)\\)?\\)\\|l\\(?:ambda\\|et\\(?:\\*\\(?:-values\\)?\\|-\\(?:syntax\\|values\\)\\|rec\\(?:\\*\\|-syntax\\)?\\)?\\)\\|map\\|o\\(?:nly\\|r\\)\\|p\\(?:arameterize\\|refix\\)\\|re\\(?:\\(?:ceiv\\|nam\\)e\\)\\|syntax\\(?:-\\(?:error\\|rules\\)\\)?\\|unless\\|when\\|λ\\)\\>"
  . 1)
 ("(let\\s-+\\(\\sw+\\)" (1 font-lock-function-name-face))
 ("\\<<\\sw+>\\>" . font-lock-type-face)
 ("\\<#?:\\sw+\\>" . font-lock-builtin-face)
 ("(\\(\\<library\\>\\)\\s-*(?\\(\\sw+\\)?" (1 font-lock-keyword-face)
  (2 font-lock-type-face)))

Documentation

Gaudy expressions to highlight in Scheme modes.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/scheme.el.gz
(defconst scheme-font-lock-keywords-2
  (append scheme-font-lock-keywords-1
   (eval-when-compile
     (list
      ;;
      ;; Control structures.
      (cons
       (concat
        "(" (regexp-opt
             '("begin" "call-with-current-continuation" "call/cc"
               "call-with-input-file" "call-with-output-file"
               "call-with-port"
               "case" "cond"
               "do" "else" "for-each" "if" "lambda" "λ"
               "let" "let*" "let-syntax" "letrec" "letrec-syntax"
               ;; R6RS library subforms.
               "export" "import"
               ;; SRFI 11 usage comes up often enough.
               "let-values" "let*-values"
               ;; Hannes Haug <hannes.haug@student.uni-tuebingen.de> wants:
               "and" "or" "delay" "force"
               ;; Stefan Monnier <stefan.monnier@epfl.ch> says don't bother:
               ;;"quasiquote" "quote" "unquote" "unquote-splicing"
	       "map" "syntax" "syntax-rules"
	       ;; For R7RS
	       "when" "unless" "letrec*" "include" "include-ci" "cond-expand"
	       "delay-force" "parameterize" "guard" "case-lambda"
	       "syntax-error" "only" "except" "prefix" "rename" "define-values"
	       "define-record-type" "define-library"
	       "include-library-declarations"
	       ;; SRFI-8
	       "receive"
	       ) t)
        "\\>") 1)
      ;;
      ;; It wouldn't be Scheme without named-let.
      '("(let\\s-+\\(\\sw+\\)"
        (1 font-lock-function-name-face))
      ;;
      ;; David Fox <fox@graphics.cs.nyu.edu> for SOS/STklos class specifiers.
      '("\\<<\\sw+>\\>" . font-lock-type-face)
      ;;
      ;; Scheme `:' and `#:' keywords as builtins.
      '("\\<#?:\\sw+\\>" . font-lock-builtin-face)
      ;; R6RS library declarations.
      '("(\\(\\<library\\>\\)\\s-*(?\\(\\sw+\\)?"
        (1 font-lock-keyword-face)
        (2 font-lock-type-face))
      )))
  "Gaudy expressions to highlight in Scheme modes.")