astro-ghostcms/.pnpm-store/v3/files/0f/ad636989446e4614383110c0d19...

7 lines
10 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
const lang = Object.freeze({ "displayName": "Scheme", "fileTypes": ["scm", "ss", "sch", "rkt"], "name": "scheme", "patterns": [{ "include": "#comment" }, { "include": "#block-comment" }, { "include": "#sexp" }, { "include": "#string" }, { "include": "#language-functions" }, { "include": "#quote" }, { "include": "#illegal" }], "repository": { "block-comment": { "begin": "\\#\\|", "contentName": "comment", "end": "\\|\\#", "name": "comment", "patterns": [{ "include": "#block-comment", "name": "comment" }] }, "comment": { "begin": "(^[ \\t]+)?(?=;)", "beginCaptures": { "1": { "name": "punctuation.whitespace.comment.leading.scheme" } }, "end": "(?!\\G)", "patterns": [{ "begin": ";", "beginCaptures": { "0": { "name": "punctuation.definition.comment.scheme" } }, "end": "\\n", "name": "comment.line.semicolon.scheme" }] }, "constants": { "patterns": [{ "match": "#[t|f]", "name": "constant.language.boolean.scheme" }, { "match": `(?<=[\\(\\s])((#e|#i)?[0-9]+(\\.[0-9]+)?|(#x)[0-9a-fA-F]+|(#o)[0-7]+|(#b)[01]+)(?=[\\s;()'",\\[\\]])`, "name": "constant.numeric.scheme" }] }, "illegal": { "match": "[()\\[\\]]", "name": "invalid.illegal.parenthesis.scheme" }, "language-functions": { "patterns": [{ "match": "(?x)\n (?<=(\\s|\\(|\\[)) # preceded by space or ( \n ( do|or|and|else|quasiquote|begin|if|case|set!|\n cond|let|unquote|define|let\\*|unquote-splicing|delay|\n letrec)\n (?=(\\s|\\())", "name": "keyword.control.scheme" }, { "comment": "\n These functions run a test, and return a boolean\n answer.\n ", "match": "(?x)\n (?<=(\\s|\\()) # preceded by space or (\n ( char-alphabetic|char-lower-case|char-numeric|\n char-ready|char-upper-case|char-whitespace|\n (?:char|string)(?:-ci)?(?:=|<=?|>=?)|\n atom|boolean|bound-identifier=|char|complex|\n identifier|integer|symbol|free-identifier=|inexact|\n eof-object|exact|list|(?:input|output)-port|pair|\n real|rational|zero|vector|negative|odd|null|string|\n eq|equal|eqv|even|number|positive|procedure\n )\n (\\?) # name ends with ? sign\n (?=(\\s|\\()) # followed by space or (\n ", "name": "support.function.boolean-test.scheme" }, { "comment": "\n These functions change one type into another.\n ", "match": "(?x)\n (?<=(\\s|\\()) # preceded by space or (\n ( char->integer|exact->inexact|inexact->exact|\n integer->char|symbol->string|list->vector|\n list->string|identifier->symbol|vector->list|\n string->list|string->number|string->symbol|\n number->string\n )\n (?=(\\s|\\()) # followed by space or ( \n ", "name": "support.function.convert-type.scheme" }, { "comment": "\n These functions are potentially dangerous because\n they have side-effects which could affect other\n parts of the program.\n ", "match": "(?x)\n (?<=(\\s|\\()) # preceded by space or (\n ( set-(?:car|cdr)| # set car/cdr\n (?:vector|string)-(?:fill|set) # fill/set string/vector\n )\n (!) # name ends with ! sign\n (?=(\\s|\\()) # followed by space or (\n ", "name": "support.function.with-side-effects.scheme" }, { "comment": "\n +, -, *, /, =, >, etc. \n ", "match": "(?x)\n (?<=(\\s|\\()) # preceded by space or (\n ( >=?|<=?|=|[*/+-])\n (?=(\\s|\\()) # followed by space or (\n ", "name": "keyword.operator.arithmetic.scheme" }, { "match": "(?x)\n (?<=(\\s|\\()) # preceded by space or (\n ( append|apply|approximate|\n call-with-current-continuation|call/cc|catch|\n construct-identifier|define-syntax|display|foo|\n for-each|force|format|cd|gen-counter|gen-loser|\n generate-identifier|last-pair|length|let-syntax|\n letrec-syntax|list|list-ref|list-tail|load|log|\n macro|magnitude|map|map-streams|max|member|memq|\n memv|min|newline|nil|not|peek-char|rationalize|\n read|read-char|return|reverse|sequence|substring|\n syntax|syntax-rules|transcript-off|transcript-on|\n truncate|unwrap-synt
var scheme = [
lang
];
export { scheme as default };