%YAML 1.2 --- # http://www.sublimetext.com/docs/3/syntax.html # # `Scheme` Language Reference: # # source: https://github.com/absop/Scheme name: Scheme file_extensions: - ms - rkt - sc - scm - ss - scheme scope: source.scheme variables: boundary: '[\(\[\s\]\)]' aux_keyword: \.\.\.|#[,'`;]|['`](?!\(\))|(?<=[\(\[\s\]\)])_(?=[\(\[\s\]\)])|,@?|=>|(?<=[\(\[\s])\.(?=\s) identifier: (?:[^({\[#"'`,;\\\s\]})]|\\[({\[#"'`,;\\\s\]})]|\\x\h*;)+ syntax_keyword: \&assertion|\&condition|\&continuation|\&error|\&format|\&i/o|\&i/o-decoding|\&i/o-encoding|\&i/o-file-already-exists|\&i/o-file-does-not-exist|\&i/o-file-is-read-only|\&i/o-file-protection|\&i/o-filename|\&i/o-invalid-position|\&i/o-port|\&i/o-read|\&i/o-write|\&implementation-restriction|\&irritants|\&lexical|\&message|\&no-infinities|\&no-nans|\&non-continuable|\&serious|\&source|\&syntax|\&undefined|\&violation|\&warning|\&who|alias|begin|case|case-lambda|cond|do|else|eval-when|export|extend-syntax|fields|for-each|guard|ieee|if|import|immutable|mutable|include|let(?:-syntax|\*?-values)|letrec-syntax|library|meta|meta-cond|module|nongenerative|only|opaque|parent|parent-rtd|protocol|quasiquote|quasisyntax|quote|r6rs:case|rec|record-case|scheme|sealed|set!|syntax(?:-case)?|unless|when|with-(syntax|implicit)|type-descriptor|record-type-descriptor definitioner: define(?:-(?:enumeration|structure|syntax|ftype|record(?:-type)?|property|top-level-(value|syntax)|condition-type|values))? operator_comparsion: (?:[<>]=?|=) operator_arithmetic: (?:[+*/-]|1[+-]) operator_logical: (?:and|or|not|log(?:and|[ix]or|or)) contexts: main: - include: sexpr - include: comments - include: source-control - include: strings - include: constants source-control: - match: ^\s*#!eof(?=[\{\[\(#,;\s"`'\)\]\}]) scope: keyword.control.end-of-file.scheme push: - meta_scope: comment.block.scheme - match: (#!(?:r6rs|bwp|chezscheme|(no-)?fold-case|base-rtd))(?=[\(\[\s\]\)]) scope: keyword.control.language.scheme - match: ^\s*#!eof\S scope: invalid.deprecated.scheme sexpr: - include: quote - match: \( scope: punctuation.brackets.scheme push: round-brackets - match: \[ scope: punctuation.brackets.scheme push: square-brackets - match: \#\{ scope: storage.modifier.gensym.begin.scheme push: - meta_scope: variable.gensym.scheme - match: \} scope: storage.modifier.gensym.end.scheme pop: true - include: match-type - match: \) scope: invalid.deprecated.scheme - match: \] scope: invalid.deprecated.scheme - match: \} scope: invalid.deprecated.scheme round-brackets: - match: \) scope: punctuation.brackets.scheme pop: true - include: match-type - include: sexpr square-brackets: - match: \] scope: punctuation.brackets.scheme pop: true - include: match-type - include: sexpr non-bracket: - include: quote - include: comments - include: aux-keywords - include: type-prefix - include: strings - include: constants - include: variable match-type: - include: comments - include: primitive-procedures - include: type-prefix - include: strings - include: constants - include: quote - include: define-record - include: defines - include: lambda - include: syntax-match - include: cond - include: let-expr # - include: module - include: control - include: operators - include: support-functions-symbols - include: procedure - include: variable # module: # - match: (module)\s*({{identifier}})*\s*\( # captures: # 1: keyword.control.scheme # 2: storage.scheme # push: # - match: \( # scope: punctuation.brackets.scheme # push: # - match: \) # scope: punctuation.brackets.scheme # pop: true # - include: support-functions-symbols # - match: ({{identifier}}) # scope: entity.name.function.scheme # - include: support-functions-symbols # - match: ({{identifier}}) # scope: entity.name.function.scheme # - match: \) # pop: true quote: - match: (['`])\s*({{identifier}}|[{}]) captures: 1: keyword.control.aux.quote.scheme 2: variable.symbol.scheme - match: (['`])(\() captures: 1: keyword.control.aux.quote.scheme 2: punctuation.section.quote.scheme push: - match: \) scope: punctuation.section.quote.scheme pop: true - include: constants - include: aux-keywords - match: ({{identifier}}) scope: variable.symbol.scheme - include: match-type - include: sexpr type-prefix: - match: (#[0-9]*(vu8|vfx)?)(?=\() scope: storage.modifier.vector.scheme push: odinary-vaiable-list - match: (#&)(?=\() scope: storage.modifier.boxes.scheme push: odinary-vaiable-list - match: (#&) scope: storage.modifier.boxes.scheme - match: (#@) scope: storage.modifier.fasl.scheme - match: (#[0-9]+=) scope: storage.modifier.pair.scheme # - match: (#[0-9]+#) # scope: variable.datum.scheme odinary-vaiable-list: - match: \( scope: punctuation.section.scheme set: - match: \) scope: punctuation.section.scheme pop: true - include: constants - include: type-prefix - include: aux-keywords # - include: operators # - include: support-functions-symbols - include: variable - include: sexpr - include: comments cond: - match: (\()(cond)(?=[\[\(\s*]) captures: 1: punctuation.brackets.cond.begin.scheme 2: keyword.control.cond.scheme push: - match: \) scope: punctuation.brackets.cond.end.scheme pop: true - match: \[ scope: punctuation.section.cond.begin.scheme push: - match: \] scope: punctuation.section.cond.end.scheme pop: true - include: constants - include: sexpr - include: match-type - match: \( scope: punctuation.section.cond.begin.scheme push: - match: \) scope: punctuation.section.cond.end.scheme pop: true - include: constants - include: sexpr - include: match-type - include: comments - match: \] scope: invalid.deprecated.scheme - match: \) scope: invalid.deprecated.scheme define-record: - match: (?<=[\(\[])\s*(define-record)(?=[\(\[\s]) captures: 1: keyword.control.scheme push: define-record-type define-record-type: - match: ({{identifier}}) scope: entity.name.type.scheme set: variable-list variable-list: - match: \( scope: punctuation.brackets.scheme set: - match: \) scope: punctuation.brackets.scheme pop: true - include: variable - include: sexpr defines: - match: (?<=[\(\[])\s*({{definitioner}})(?=[\(\[\s]) captures: 1: keyword.control.scheme push: define-name - match: (set!)\s+({{identifier}}) captures: 1: keyword.control.syntax.scheme 2: entity.name.function.scheme # for goto symbol - match: (set!)\s+({{aux_keyword}})\s*({{identifier}}) captures: 1: keyword.control.syntax.scheme 2: keyword.control.aux.scheme 3: entity.name.function.scheme # for goto symbol define-name: - match: ({{identifier}}) scope: entity.name.function.scheme # for goto symbol pop: true - match: \( scope: punctuation.brackets.scheme set: - match: ({{identifier}}) scope: entity.name.function.scheme set: - match: \) scope: punctuation.brackets.scheme pop: true - include: parameters - match: '"' scope: punctuation.definition.string.begin.scheme set: - meta_scope: invalid.illegal.scheme string.quoted.double.scheme - match: '"' scope: punctuation.definition.string.end.scheme pop: true - include: string-escaped-char syntax-match: - match: (?<=[\(\[])\s*(syntax-(?:rules|case))(?=[\(\[\s]) captures: 1: keyword.control.scheme push: - match: \( scope: punctuation.section.parameter.scheme set: - match: \) scope: punctuation.section.parameter.scheme pop: true - include: aux-keywords - include: parameters - include: sexpr - match: ({{identifier}}) scope: variable.syntax.scheme lambda: - match: (?<=[\(\[])\s*(lambda)(?=[\(\[\s]) captures: 1: keyword.control.scheme push: - include: aux-keywords - match: ({{identifier}}) scope: variable.parameter.scheme pop: true - include: parameter-list parameter-list: - match: \( scope: punctuation.section.parameter.scheme set: - match: \) scope: punctuation.section.parameter.scheme pop: true - include: aux-keywords - include: parameters - include: sexpr aux-keywords: - match: ({{aux_keyword}}) scope: keyword.control.aux.scheme parameters: - match: ({{identifier}}) scope: variable.parameter.scheme variable: - match: ({{identifier}}) scope: variable.datum.scheme let-expr: - match: (?<=[\(\[])\s*(do|let(?:\*|rec\*?|syntax)?|fluid-let(?:-syntax)?)(?=[\(\[\s]) captures: 1: keyword.control.scheme push: let-bodies let-bodies: - match: ([^\(\[\]\)])*(?=[\]\)]) scope: variable.datum.scheme pop: true - match: ({{aux_keyword}}) scope: keyword.control.aux.scheme pop: true - match: ({{identifier}}) scope: entity.name.function.scheme set: let-variable-list - include: let-variable-list # - include: sexpr let-variable-list: - match: (?=,\s*[\[\(]) push: match-type - match: \( scope: punctuation.brackets.scheme set: - include: comments - match: \) scope: punctuation.brackets.scheme pop: true - include: let-variable let-variable: - match: (\[)\s*({{aux_keyword}})?({{identifier}})? captures: 1: punctuation.section.parameter.scheme 2: keyword.control.scheme 3: variable.parameter.scheme push: - match: (\]) scope: punctuation.section.parameter.scheme pop: true - include: non-bracket - include: sexpr - match: (\()\s*({{aux_keyword}})?({{identifier}})? captures: 1: punctuation.section.parameter.scheme 2: keyword.control.scheme 3: variable.parameter.scheme push: - match: (\)) scope: punctuation.section.parameter.scheme pop: true - include: non-bracket - include: sexpr - match: ({{aux_keyword}})?({{identifier}})? captures: 1: keyword.control.scheme 2: variable.datum.scheme - match: \] scope: invalid.deprecated.scheme - match: \) scope: invalid.deprecated.scheme control: - match: (?<=[\(\[])\s*({{syntax_keyword}})(?=[\(\[\s\]\)]) captures: 1: keyword.control.scheme - include: aux-keywords procedure: - match: (?<=[\(\[])\s*({{identifier}})(?=[\(\[\s\]\)]) captures: 1: procedure.datum.scheme primitive-procedures: - match: '#(%|2%|3%)' scope: keyword.control.optimize-level.scheme push: - match: ({{identifier}}) scope: procedure.primitive.scheme pop: true operators: - match: (?<=[\(\[])\s*{{operator_comparsion}}(?=[\(\[\s\]\)]) scope: keyword.operator.comparison.scheme - match: (?<=[\(\[])\s*{{operator_arithmetic}}(?=[\(\[\s\]\)]) scope: keyword.operator.arithmetic.scheme - match: (?<=[\(\[])\s*{{operator_logical}}(?=[\(\[\s\]\)]) scope: keyword.operator.logical.scheme constants: - include: numbers - match: (['`]\(\)|#t|#f)(?=[\(\[\s\]\)]) scope: constant.language.scheme - match: (#\\x)(?:\h+)(?=[\(\[\s\]\)]) scope: constant.character.numeric.scheme captures: 1: storage.modifier.character.scheme - match: (#\\0)(?:[0-7]{2})(?=[\(\[\s\]\)]) scope: constant.character.scheme captures: 1: storage.modifier.character.scheme - match: (#\\)(?:alarm|backspace|delete|esc|linefeed|newline|page|return|space|tab|bel|ls|nel|nul|rubout|vt|vtab|[ \S])(?=[\(\[\s\]\)]) scope: constant.character.scheme captures: 1: storage.modifier.character.scheme - match: (#\\\S)(?=[^\{\(\[\s\]\)\}]) scope: invalid.deprecated.scheme # - match: (#{{identifier}})(?=[\(\[\s\]\)]) # scope: invalid.deprecated.scheme # (inf|nan)\.0 # binary-number: # - match: ([-\+]?(([01]+(\.[01]*|/[01]+)?)|\.[01]+)([eE][-\+]?[01]+)?) # scope: constant.numeric.binary.scheme # octonary-number: # - match: ([-\+]?(([0-7]+(\.[0-7]*|/[0-7]+)?)|\.[0-7]+)([eE][-\+]?[0-7]+)?) # scope: constant.numeric.octonary.scheme # decimal-number: # - match: ([-\+]?(([0-9]+(\.[0-9]*|/[0-9]+)?)|\.[0-9]+)([eE][-\+]?[0-9]+)?) # scope: constant.numeric.decimal.scheme # hexadecimal-number: # - match: ([-\+]?[0-9a-fA-F]+[\./]?[0-9a-fA-F]*) # scope: constant.numeric.hexadecimal.scheme # force-number-change: # - match: (#[eEiI]) # scope: prefix.constant.numeric.force.scheme numbers: # 2 - match: (#[bB](?:#[eEiI])?|#[eEiI]#[bB])(?:[-\+]?(?:(?:[01]+(?:\.[01]*|/[01]+)?)|\.[01]+)(?:[eE][-\+]?[01]+)?)(?=[\(\[\s\]\)]) scope: constant.numeric.binary.scheme captures: 1: storage.modifier.numeric.scheme # 8 - match: (#[oO](?:#[eEiI])?|#[eEiI]#[oO])(?:[-\+]?(?:(?:[0-7]+(?:\.[0-7]*|/[0-7]+)?)|\.[0-7]+)(?:[eE][-\+]?[0-7]+)?)(?=[\(\[\s\]\)]) scope: constant.numeric.octal.scheme captures: 1: storage.modifier.numeric.scheme # 10 - match: (#[dD](?:#[eEiI])?|#[eEiI](?:#[dD])?)?(?:[-\+]?(?:(?:[0-9]+(?:\.[0-9]*|/[0-9]+)?)|\.[0-9]+)(?:[eE][-\+]?[0-9]+)?)(?=[\(\[\s\]\)]) scope: constant.numeric.decimal.scheme captures: 1: storage.modifier.numeric.scheme # 16 - match: (#[xX](?:#[eEiI])?|#[eEiI]#[xX])(?:[-\+]?[0-9a-fA-F]+[\./]?[0-9a-fA-F]*)(?=[\(\[\s\]\)]) scope: constant.numeric.hex.scheme captures: 1: storage.modifier.numeric.scheme # #<2..36>r - match: (#(?:0?[2-9]|[1-3][0-6])[rR](?:#[eEiI])?|#[eEiI]#(?:0?[2-9]|[1-3][0-6])[rR])(?:[-\+]?[0-9a-zA-Z]+\.?[0-9a-zA-Z]*)(?=[\(\[\s\]\)]) scope: constant.numeric.various.scheme captures: 1: storage.modifier.numeric.scheme # - match: (#([bB]|[oO]|[dD]|[xX]|[0-9]*[rR])[^{{boundary-chars}}]*)(?=[\(\[\s\]\)]) # scope: invalid.deprecated.scheme strings: - match: '"' scope: punctuation.definition.string.begin.scheme push: - meta_scope: string.quoted.double.scheme - match: '"' scope: punctuation.definition.string.end.scheme pop: true - include: string-escaped-char - include: string-placeholder string-escaped-char: - match: '(\\)$\n' captures: 1: punctuation.separator.continuation.scheme - match: \\(?:\\|[abefnrtv\'"?]|[0-3][0-9]{0,2}|[4-7][0-9]?|x[a-fA-F0-9]+|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}) scope: constant.character.escape.scheme - match: \\. scope: invalid.illegal.unknown-escape.scheme string-placeholder: - match: |- (?x)~ ([~nN%^&*;] |@?[aA?] |,?(?:\d+)?@?[eEfFgGtT] |,?(?:@:|:@|@|:)?[bBoOdDxX$] |(?:@:|:@|@|:)?[cC] |(?:\d+)?(?:@:|:@|@|:)?[rRsSwW] |@:?\( |\) |:p) scope: constant.other.placeholder.scheme comments: - include: line-comment - include: datum-comment - include: block-comment - match: '\|#' scope: invalid.illegal.block-comment-end.scheme line-comment: - match: ((?<=[^#]);|^;).*$\n? scope: comment.line.scheme captures: 1: punctuation.definition.comment.scheme - match: '#!(?=\s*/)' scope: comment.line.scheme push: - match: /([^/]+/)*(scheme|petite)\s+--script$ scope: comment.line.scheme pop: true - match: \S+(?=\s*$) scope: invalid.deprecated.scheme pop: true datum-comment: - match: '#;' scope: keyword.control.datum-comment.scheme block-comment: - match: '#\|' scope: punctuation.definition.comment.begin.scheme push: - meta_scope: comment.block.scheme - include: block-comment - match: '\|#' scope: punctuation.definition.comment.end.scheme pop: true support-functions-symbols: - match: (?<=[\(\[])\s*(abort|abort-handler|abs|acos|acosh|add-duration|add-duration!|add-prefix|add1|alias|andmap|angle|annotation-expression|annotation-option-set|annotation-options|annotation-source|annotation-stripped|annotation\?|append|append!|apply|apropos|apropos-list|ash|asin|asinh|assert|assertion-violation|assertion-violation\?|assertion-violationf|assoc|assp|assq|assv|atan|atanh|atom\?|base-exception-handler|begin|bignum\?|binary-port-input-buffer|binary-port-input-count|binary-port-input-index|binary-port-input-size|binary-port-output-buffer|binary-port-output-count|binary-port-output-index|binary-port-output-size|binary-port\?|bitwise-and|bitwise-arithmetic-shift|bitwise-arithmetic-shift-left|bitwise-arithmetic-shift-right|bitwise-bit-count|bitwise-bit-field|bitwise-bit-set\?|bitwise-copy-bit|bitwise-copy-bit-field|bitwise-first-bit-set|bitwise-if|bitwise-ior|bitwise-length|bitwise-not|bitwise-reverse-bit-field|bitwise-rotate-bit-field|bitwise-xor|block-read|block-write|boolean=\?|boolean\?|bound-identifier=\?|box|box-immutable|box\?|break|break-handler|buffer-mode|buffer-mode\?|bwp-object\?|bytes-allocated|bytes-deallocated|bytevector|bytevector->immutable-bytevector|bytevector->s8-list|bytevector->sint-list|bytevector->string|bytevector->u8-list|bytevector->uint-list|bytevector-compress|bytevector-copy|bytevector-copy!|bytevector-fill!|bytevector-ieee-double-native-ref|bytevector-ieee-double-native-set!|bytevector-ieee-double-ref|bytevector-ieee-double-set!|bytevector-ieee-single-native-ref|bytevector-ieee-single-native-set!|bytevector-ieee-single-ref|bytevector-ieee-single-set!|bytevector-length|bytevector-s16-native-ref|bytevector-s16-native-set!|bytevector-s16-ref|bytevector-s16-set!|bytevector-s24-ref|bytevector-s24-set!|bytevector-s32-native-ref|bytevector-s32-native-set!|bytevector-s32-ref|bytevector-s32-set!|bytevector-s40-ref|bytevector-s40-set!|bytevector-s48-ref|bytevector-s48-set!|bytevector-s56-ref|bytevector-s56-set!|bytevector-s64-native-ref|bytevector-s64-native-set!|bytevector-s64-ref|bytevector-s64-set!|bytevector-s8-ref|bytevector-s8-set!|bytevector-sint-ref|bytevector-sint-set!|bytevector-truncate!|bytevector-u16-native-ref|bytevector-u16-native-set!|bytevector-u16-ref|bytevector-u16-set!|bytevector-u24-ref|bytevector-u24-set!|bytevector-u32-native-ref|bytevector-u32-native-set!|bytevector-u32-ref|bytevector-u32-set!|bytevector-u40-ref|bytevector-u40-set!|bytevector-u48-ref|bytevector-u48-set!|bytevector-u56-ref|bytevector-u56-set!|bytevector-u64-native-ref|bytevector-u64-native-set!|bytevector-u64-ref|bytevector-u64-set!|bytevector-u8-ref|bytevector-u8-set!|bytevector-uint-ref|bytevector-uint-set!|bytevector-uncompress|bytevector=\?|bytevector\?|caaaar|caaadr|caaar|caadar|caaddr|caadr|caar|cadaar|cadadr|cadar|caddar|cadddr|caddr|cadr|call-with-bytevector-output-port|call-with-current-continuation|call-with-input-file|call-with-output-file|call-with-port|call-with-string-output-port|call-with-values|call/1cc|call/cc|car|case-sensitive|cd|cdaaar|cdaadr|cdaar|cdadar|cdaddr|cdadr|cdar|cddaar|cddadr|cddar|cdddar|cddddr|cdddr|cddr|cdr|ceiling|cfl-|cfl-conjugate|cfl-imag-part|cfl-magnitude-squared|cfl-real-part|cfl/|cfl=|cfl\*|cfl\+|cflonum\?|char-|char->integer|char-alphabetic\?|char-ci<=\?|char-ci<\?|char-ci=\?|char-ci>=\?|char-ci>\?|char-downcase|char-foldcase|char-general-category|char-lower-case\?|char-name|char-numeric\?|char-ready\?|char-title-case\?|char-titlecase|char-upcase|char-upper-case\?|char-whitespace\?|char<=\?|char<\?|char=\?|char>=\?|char>\?|char\?|chmod|clear-input-port|clear-output-port|close-input-port|close-output-port|close-port|collect|collect-generation-radix|collect-maximum-generation|collect-notify|collect-request-handler|collect-trip-bytes|collections|command-line|command-line-arguments|compile|compile-compressed|compile-file|compile-file-message|compile-imported-libraries|compile-interpret-simple|compile-library|compile-library-handler|compile-port|compile-profile|compile-program|compile-program-handler|compile-script|compile-to-file|compile-to-port|compile-whole-library|compile-whole-program|complex\?|compute-composition|compute-size|condition|condition-accessor|condition-continuation|condition-irritants|condition-message|condition-predicate|condition-who|condition\?|conjugate|cons|cons\*|console-error-port|console-input-port|console-output-port|constructor|continuation-condition\?|copy-environment|copy-time|cos|cosh|cost-center-allocation-count|cost-center-instruction-count|cost-center-time|cost-center\?|cp0-effort-limit|cp0-outer-unroll-limit|cp0-score-limit|cpu-time|create-exception-state|critical-section|csv7:record-field-accessible\?|csv7:record-field-accessor|csv7:record-field-mutable\?|csv7:record-field-mutator|csv7:record-type-descriptor|csv7:record-type-field-decls|csv7:record-type-field-names|csv7:record-type-name|csv7:record-type-symbol|current-date|current-directory|current-error-port|current-eval|current-exception-state|current-expand|current-input-port|current-locate-source-object-source|current-make-source-object|current-memory-bytes|current-output-port|current-time|current-transcoder|custom-port-buffer-size|date->time-utc|date-and-time|date-day|date-dst\?|date-hour|date-minute|date-month|date-nanosecond|date-second|date-week-day|date-year|date-year-day|date-zone-name|date-zone-offset|date\?|datum|datum->syntax|datum->syntax-object|debug|debug-condition|debug-level|debug-on-exception|decode-float|default-exception-handler|default-prompt-and-read|delay|delete-directory|delete-file|denominator|directory-list|directory-separator|directory-separator\?|disable-interrupts|display|display-condition|display-statistics|display-string|div|div-and-mod|div0|div0-and-mod0|drop-prefix|dynamic-wind|enable-cross-library-optimization|enable-interrupts|enable-object-counts|endianness|engine-block|engine-return|enum-set->list|enum-set-complement|enum-set-constructor|enum-set-difference|enum-set-indexer|enum-set-intersection|enum-set-member\?|enum-set-projection|enum-set-subset\?|enum-set-union|enum-set-universe|enum-set=\?|enum-set\?|enumerate|environment|environment-mutable\?|environment-symbols|environment\?|eof-object|eof-object\?|eol-style|ephemeron-cons|ephemeron-pair\?|eq-hashtable-cell|eq-hashtable-contains\?|eq-hashtable-delete!|eq-hashtable-ephemeron\?|eq-hashtable-ref|eq-hashtable-set!|eq-hashtable-update!|eq-hashtable-weak\?|eq-hashtable\?|eq\?|equal-hash|equal\?|eqv\?|error|error-handling-mode|error\?|errorf|eval|eval-syntax-expanders-when|even\?|exact|exact->inexact|exact-integer-sqrt|exact\?|except|exclusive-cond|exists|exit|exit-handler|exp|expand|expand-output|expand/optimize|expand/optimize-output|export|expression-editor|expt|expt-mod|extend-syntax|fasl-file|fasl-read|fasl-strip-options|fasl-write|file-access-time|file-buffer-size|file-change-time|file-directory\?|file-exists\?|file-length|file-modification-time|file-options|file-port\?|file-position|file-regular\?|file-symbolic-link\?|filter|find|finite\?|fixnum->flonum|fixnum-width|fixnum\?|fl-|fl-make-rectangular|fl/|fl<|fl<=|fl<=\?|fl<\?|fl=|fl=\?|fl>|fl>=|fl>=\?|fl>\?|fl\*|fl\+|flabs|flacos|flasin|flatan|flceiling|flcos|fldenominator|fldiv|fldiv-and-mod|fldiv0|fldiv0-and-mod0|fleven\?|flexp|flexpt|flfinite\?|flfloor|flinfinite\?|flinteger\?|fllog|fllp|flmax|flmin|flmod|flmod0|flnan\?|flnegative\?|flnonnegative\?|flnonpositive\?|flnumerator|flodd\?|flonum->fixnum|flonum\?|floor|flpositive\?|flround|flsin|flsqrt|fltan|fltruncate|flush-output-port|flzero\?|fold-left|fold-right|for-all|force|foreign-address-name|foreign-alloc|foreign-callable|foreign-callable-code-object|foreign-callable-entry-point|foreign-entry|foreign-entry\?|foreign-free|foreign-procedure|foreign-ref|foreign-set!|foreign-sizeof|format|format-condition\?|fprintf|free-identifier=\?|fresh-line|ftype-&ref|ftype-init-lock!|ftype-lock!|ftype-locked-decr!|ftype-locked-incr!|ftype-pointer->sexpr|ftype-pointer-address|ftype-pointer-ftype|ftype-pointer-null\?|ftype-pointer=\?|ftype-pointer\?|ftype-ref|ftype-set!|ftype-sizeof|ftype-spin-lock!|ftype-unlock!|fx-|fx-/carry|fx/|fx1-|fx1\+|fx<|fx<=|fx<=\?|fx<\?|fx=|fx=\?|fx>|fx>=|fx>=\?|fx>\?|fx\*|fx\*/carry|fx\+|fx\+/carry|fxabs|fxand|fxarithmetic-shift|fxarithmetic-shift-left|fxarithmetic-shift-right|fxbit-count|fxbit-field|fxbit-set\?|fxcopy-bit|fxcopy-bit-field|fxdiv|fxdiv-and-mod|fxdiv0|fxdiv0-and-mod0|fxeven\?|fxfirst-bit-set|fxif|fxior|fxlength|fxlogand|fxlogbit0|fxlogbit1|fxlogbit\?|fxlogior|fxlognot|fxlogor|fxlogtest|fxlogxor|fxmax|fxmin|fxmod|fxmod0|fxmodulo|fxnegative\?|fxnonnegative\?|fxnonpositive\?|fxnot|fxodd\?|fxpositive\?|fxquotient|fxremainder|fxreverse-bit-field|fxrotate-bit-field|fxsll|fxsra|fxsrl|fxvector|fxvector->immutable-fxvector|fxvector->list|fxvector-copy|fxvector-fill!|fxvector-length|fxvector-ref|fxvector-set!|fxvector\?|fxxor|fxzero\?|gcd|generate-allocation-counts|generate-inspector-information|generate-instruction-counts|generate-interrupt-trap|generate-profile-forms|generate-temporaries|generate-wpo-files|gensym|gensym->unique-string|gensym-count|gensym-prefix|gensym\?|get-bytevector-all|get-bytevector-n|get-bytevector-n!|get-bytevector-some|get-bytevector-some!|get-char|get-datum|get-datum/annotations|get-hash-table|get-line|get-mode|get-output-string|get-process-id|get-registry|get-string-all|get-string-n|get-string-n!|get-string-some|get-string-some!|get-thread-id|get-u8|getenv|getprop|greatest-fixnum|hash-table-for-each|hash-table-map|hash-table\?|hashtable-cell|hashtable-clear!|hashtable-contains\?|hashtable-copy|hashtable-delete!|hashtable-entries|hashtable-ephemeron\?|hashtable-equivalence-function|hashtable-hash-function|hashtable-keys|hashtable-mutable\?|hashtable-ref|hashtable-set!|hashtable-size|hashtable-update!|hashtable-values|hashtable-weak\?|hashtable\?|heap-reserve-ratio|i/o-decoding-error\?|i/o-encoding-error-char|i/o-encoding-error\?|i/o-error-filename|i/o-error-port|i/o-error-position|i/o-error\?|i/o-file-already-exists-error\?|i/o-file-does-not-exist-error\?|i/o-file-is-read-only-error\?|i/o-file-protection-error\?|i/o-filename-error\?|i/o-invalid-position-error\?|i/o-port-error\?|i/o-read-error\?|i/o-write-error\?|iconv-codec|identifier-syntax|identifier\?|ieee-environment|imag-part|immutable-box\?|immutable-bytevector\?|immutable-fxvector\?|immutable-string\?|immutable-vector\?|implementation-restriction-violation\?|implicit-exports|import-notify|import-only|indirect-export|inexact|inexact->exact|inexact\?|infinite\?|initial-bytes-allocated|input-port-ready\?|input-port\?|inspect|inspect/object|integer->char|integer-length|integer-valued\?|integer\?|interaction-environment|interactive\?|internal-defines-as-letrec\*|interpret|iota|irritants-condition\?|isqrt|keyboard-interrupt-handler|last-pair|latin-1-codec|lcm|least-fixnum|length|lexical-violation\?|library-directories|library-exports|library-extensions|library-list|library-object-filename|library-requirements|library-requirements-options|library-version|list|list->fxvector|list->string|list->vector|list-copy|list-head|list-ref|list-sort|list-tail|list\*|list\?|literal-identifier=\?|load|load-library|load-program|load-shared-object|locate-source|locate-source-object-source|lock-object|locked-object\?|log|logand|logbit0|logbit1|logbit\?|logior|lognot|logor|logtest|logxor|lookahead-char|lookahead-u8|machine-type|magnitude|magnitude-squared|make-annotation|make-assertion-violation|make-boot-file|make-boot-header|make-bytevector|make-compile-time-value|make-continuation-condition|make-cost-center|make-custom-binary-input-port|make-custom-binary-input/output-port|make-custom-binary-output-port|make-custom-textual-input-port|make-custom-textual-input/output-port|make-custom-textual-output-port|make-date|make-engine|make-enumeration|make-ephemeron-eq-hashtable|make-ephemeron-eqv-hashtable|make-eq-hashtable|make-eqv-hashtable|make-error|make-format-condition|make-ftype-pointer|make-fxvector|make-guardian|make-hash-table|make-hashtable|make-i/o-decoding-error|make-i/o-encoding-error|make-i/o-error|make-i/o-file-already-exists-error|make-i/o-file-does-not-exist-error|make-i/o-file-is-read-only-error|make-i/o-file-protection-error|make-i/o-filename-error|make-i/o-invalid-position-error|make-i/o-port-error|make-i/o-read-error|make-i/o-write-error|make-implementation-restriction-violation|make-input-port|make-input/output-port|make-irritants-condition|make-lexical-violation|make-list|make-message-condition|make-no-infinities-violation|make-no-nans-violation|make-non-continuable-violation|make-object-finder|make-output-port|make-parameter|make-polar|make-record-constructor-descriptor|make-record-type|make-record-type-descriptor|make-rectangular|make-serious-condition|make-source-condition|make-source-file-descriptor|make-source-object|make-sstats|make-string|make-syntax-violation|make-time|make-transcoder|make-undefined-violation|make-variable-transformer|make-vector|make-violation|make-warning|make-weak-eq-hashtable|make-weak-eqv-hashtable|make-who-condition|map|mark-port-closed!|max|maximum-memory-bytes|maybe-compile-file|maybe-compile-library|maybe-compile-program|member|memp|memq|memv|merge|merge!|message-condition\?|min|mkdir|mod|mod0|modulo|most-negative-fixnum|most-positive-fixnum|multibyte->string|mutable-box\?|mutable-bytevector\?|mutable-fxvector\?|mutable-string\?|mutable-vector\?|nan\?|native-endianness|native-eol-style|native-transcoder|negative\?|new-cafe|newline|no-infinities-violation\?|no-nans-violation\?|non-continuable-violation\?|nonnegative\?|nonpositive\?|not|null-environment|null\?|number->string|number\?|numerator|object-counts|oblist|odd\?|open-bytevector-input-port|open-bytevector-output-port|open-fd-input-port|open-fd-input/output-port|open-fd-output-port|open-file-input-port|open-file-input/output-port|open-file-output-port|open-input-file|open-input-output-file|open-input-string|open-output-file|open-output-string|open-process-ports|open-source-file|open-string-input-port|open-string-output-port|optimize-level|or|ormap|output-port-buffer-mode|output-port\?|pair\?|parameterize|pariah|partition|path-absolute\?|path-extension|path-first|path-last|path-parent|path-rest|path-root|peek-char|petite\?|port-bol\?|port-closed\?|port-eof\?|port-file-compressed!|port-file-descriptor|port-handler|port-has-port-length\?|port-has-port-nonblocking\?\?|port-has-port-position\?|port-has-set-port-length!\?|port-has-set-port-nonblocking!\?|port-has-set-port-position!\?|port-input-buffer|port-input-count|port-input-empty\?|port-input-index|port-input-size|port-length|port-name|port-nonblocking\?|port-output-buffer|port-output-count|port-output-full\?|port-output-index|port-output-size|port-position|port-transcoder|port\?|positive\?|predicate|prefix|pretty-file|pretty-format|pretty-initial-indent|pretty-line-length|pretty-maximum-lines|pretty-one-line-limit|pretty-print|pretty-standard-indent|print-brackets|print-char-name|print-extended-identifiers|print-gensym|print-graph|print-length|print-level|print-precision|print-radix|print-record|print-unicode|print-vector-length|printf|procedure-arity-mask|procedure\?|process|profile|profile-clear|profile-clear-database|profile-dump|profile-dump-data|profile-dump-html|profile-dump-list|profile-line-number-color|profile-load-data|profile-palette|profile-query-weight|property-list|put-bytevector|put-bytevector-some|put-char|put-datum|put-hash-table!|put-registry!|put-string|put-string-some|put-u8|putenv|putprop|quotient|r5rs|r5rs-syntax|r6rs:<|r6rs:<=|r6rs:=|r6rs:>|r6rs:>=|r6rs:call-with-input-file|r6rs:call-with-output-file|r6rs:char-ci<=\?|r6rs:char-ci<\?|r6rs:char-ci=\?|r6rs:char-ci>=\?|r6rs:char-ci>\?|r6rs:char<=\?|r6rs:char<\?|r6rs:char=\?|r6rs:char>=\?|r6rs:char>\?|r6rs:command-line|r6rs:current-error-port|r6rs:current-input-port|r6rs:current-output-port|r6rs:delete-file|r6rs:dynamic-wind|r6rs:eval|r6rs:exit|r6rs:file-exists\?|r6rs:flush-output-port|r6rs:fx-|r6rs:fx\*|r6rs:fx\+|r6rs:number->string|r6rs:open-input-file|r6rs:open-output-file|r6rs:record-constructor|r6rs:record\?|r6rs:standard-error-port|r6rs:standard-input-port|r6rs:standard-output-port|r6rs:string->number|r6rs:string-ci<=\?|r6rs:string-ci<\?|r6rs:string-ci=\?|r6rs:string-ci>=\?|r6rs:string-ci>\?|r6rs:string<=\?|r6rs:string<\?|r6rs:string=\?|r6rs:string>=\?|r6rs:string>\?|r6rs|r6rs:utf-16-codec|r6rs:with-input-from-file|r6rs:with-output-to-file|raise|raise-continuable|random|random-seed|rational-valued\?|rational\?|rationalize|ratnum\?|read|read-char|read-token|real->flonum|real-part|real-time|real-valued\?|real\?|rec|record-accessor|record-constructor|record-constructor-descriptor|record-constructor-descriptor\?|record-equal-procedure|record-field-mutable\?|record-hash-procedure|record-mutator|record-predicate|record-reader|record-rtd|record-type-descriptor\?|record-type-equal-procedure|record-type-field-names|record-type-generative\?|record-type-hash-procedure|record-type-name|record-type-opaque\?|record-type-parent|record-type-sealed\?|record-type-uid|record-writer|record\?|register-signal-handler|release-minimum-generation|remainder|remove|remove!|remove-foreign-entry|remove-hash-table!|remove-registry!|remp|remprop|remq|remq!|remv|remv!|rename|rename-file|require-nongenerative-clause|reset|reset-cost-center!|reset-handler|reset-maximum-memory-bytes!|reverse|reverse!|revisit|round|run-cp0|s8-list->bytevector|sc-expand|scheme-environment|scheme-program|scheme-report-environment|scheme-script|scheme-start|scheme-version|scheme-version-number|serious-condition\?|set-binary-port-input-buffer!|set-binary-port-input-index!|set-binary-port-input-size!|set-binary-port-output-buffer!|set-binary-port-output-index!|set-binary-port-output-size!|set-box!|set-car!|set-cdr!|set-port-bol!|set-port-eof!|set-port-input-buffer!|set-port-input-index!|set-port-input-size!|set-port-length!|set-port-name!|set-port-nonblocking!|set-port-output-buffer!|set-port-output-index!|set-port-output-size!|set-port-position!|set-sstats-bytes!|set-sstats-cpu!|set-sstats-gc-bytes!|set-sstats-gc-count!|set-sstats-gc-cpu!|set-sstats-gc-real!|set-sstats-real!|set-textual-port-input-buffer!|set-textual-port-input-index!|set-textual-port-input-size!|set-textual-port-output-buffer!|set-textual-port-output-index!|set-textual-port-output-size!|set-time-nanosecond!|set-time-second!|set-time-type!|set-timer|set-top-level-value!|set-virtual-register!|simple-conditions|sin|sinh|sint-list->bytevector|sleep|sort|sort!|source-condition-form|source-condition\?|source-directories|source-file-descriptor|source-file-descriptor-checksum|source-file-descriptor-path|source-file-descriptor\?|source-object-bfp|source-object-column|source-object-efp|source-object-line|source-object-sfd|source-object\?|sqrt|sstats-bytes|sstats-cpu|sstats-difference|sstats-gc-bytes|sstats-gc-count|sstats-gc-cpu|sstats-gc-real|sstats-print|sstats-real|sstats\?|standard-error-port|standard-input-port|standard-output-port|statistics|string|string->bytevector|string->immutable-string|string->list|string->multibyte|string->number|string->symbol|string->utf16|string->utf32|string->utf8|string-append|string-ci-hash|string-ci<=\?|string-ci<\?|string-ci=\?|string-ci>=\?|string-ci>\?|string-copy|string-copy!|string-downcase|string-fill!|string-foldcase|string-for-each|string-hash|string-length|string-normalize-nfc|string-normalize-nfd|string-normalize-nfkc|string-normalize-nfkd|string-ref|string-set!|string-titlecase|string-truncate!|string-upcase|string<=\?|string<\?|string=\?|string>=\?|string>\?|string\?|strip-fasl-file|sub1|subset-mode|subst|subst!|substq|substq!|substring|substring-fill!|substv|substv!|subtract-duration|subtract-duration!|suppress-greeting|symbol->string|symbol-hash|symbol-hashtable-cell|symbol-hashtable-contains\?|symbol-hashtable-delete!|symbol-hashtable-ref|symbol-hashtable-set!|symbol-hashtable-update!|symbol-hashtable\?|symbol=\?|symbol\?|syntax|syntax->annotation|syntax->datum|syntax->list|syntax->vector|syntax-case|syntax-error|syntax-object->datum|syntax-violation|syntax-violation-form|syntax-violation-subform|syntax-violation\?|system|tan|tanh|textual-port-input-buffer|textual-port-input-count|textual-port-input-index|textual-port-input-size|textual-port-output-buffer|textual-port-output-count|textual-port-output-index|textual-port-output-size|textual-port\?|thread\?|threaded\?|time|time-difference|time-difference!|time-nanosecond|time-second|time-type|time-utc->date|time<=\?|time<\?|time=\?|time>=\?|time>\?|time\?|timer-interrupt-handler|top-level-bound\?|top-level-mutable\?|top-level-program|top-level-syntax|top-level-syntax\?|top-level-value|trace|trace-case-lambda|trace-define|trace-define-syntax|trace-do|trace-lambda|trace-let|trace-output-port|trace-print|transcoded-port|transcoder-codec|transcoder-eol-style|transcoder-error-handling-mode|transcoder\?|transcript-cafe|transcript-off|transcript-on|truncate|truncate-file|truncate-port|u8-list->bytevector|uint-list->bytevector|unbox|undefined-variable-warnings|undefined-violation\?|unget-char|unget-u8|unlock-object|unquote|unquote-splicing|unread-char|unsyntax|unsyntax-splicing|untrace|utf-16-codec|utf-16be-codec|utf-16le-codec|utf-8-codec|utf16->string|utf32->string|utf8->string|values|vector|vector->immutable-vector|vector->list|vector-copy|vector-fill!|vector-for-each|vector-length|vector-map|vector-ref|vector-set!|vector-set-fixnum!|vector-sort|vector-sort!|vector\?|violation\?|virtual-register|virtual-register-count|visit|void|waiter-prompt-and-read|waiter-prompt-string|waiter-write|warning|warning\?|warningf|weak-cons|weak-pair\?|who-condition\?|with-cost-center|with-exception-handler|with-input-from-file|with-input-from-string|with-interrupts-disabled|with-output-to-file|with-output-to-string|with-source-path|write|write-char|zero\?)(?=[\(\[\s\]\)]) scope: support.function.scheme