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 w/o 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.")