{"version":3,"file":"scheme-BKJ4v1fP.chunk.mjs","sources":["../node_modules/highlight.js/lib/languages/scheme.js"],"sourcesContent":["/*\nLanguage: Scheme\nDescription: Scheme is a programming language in the Lisp family.\n (keywords based on http://community.schemewiki.org/?scheme-keywords)\nAuthor: JP Verkamp \nContributors: Ivan Sagalaev \nOrigin: clojure.js\nWebsite: http://community.schemewiki.org/?what-is-scheme\nCategory: lisp\n*/\n\nfunction scheme(hljs) {\n const SCHEME_IDENT_RE = '[^\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\",\\'`;#|\\\\\\\\\\\\s]+';\n const SCHEME_SIMPLE_NUMBER_RE = '(-|\\\\+)?\\\\d+([./]\\\\d+)?';\n const SCHEME_COMPLEX_NUMBER_RE = SCHEME_SIMPLE_NUMBER_RE + '[+\\\\-]' + SCHEME_SIMPLE_NUMBER_RE + 'i';\n const KEYWORDS = {\n $pattern: SCHEME_IDENT_RE,\n built_in:\n 'case-lambda call/cc class define-class exit-handler field import '\n + 'inherit init-field interface let*-values let-values let/ec mixin '\n + 'opt-lambda override protect provide public rename require '\n + 'require-for-syntax syntax syntax-case syntax-error unit/sig unless '\n + 'when with-syntax and begin call-with-current-continuation '\n + 'call-with-input-file call-with-output-file case cond define '\n + 'define-syntax delay do dynamic-wind else for-each if lambda let let* '\n + 'let-syntax letrec letrec-syntax map or syntax-rules \\' * + , ,@ - ... / '\n + '; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan '\n + 'boolean? caar cadr call-with-input-file call-with-output-file '\n + 'call-with-values car cdddar cddddr cdr ceiling char->integer '\n + 'char-alphabetic? char-ci<=? char-ci=? char-ci>? '\n + 'char-downcase char-lower-case? char-numeric? char-ready? char-upcase '\n + 'char-upper-case? char-whitespace? char<=? char=? char>? '\n + 'char? close-input-port close-output-port complex? cons cos '\n + 'current-input-port current-output-port denominator display eof-object? '\n + 'eq? equal? eqv? eval even? exact->inexact exact? exp expt floor '\n + 'force gcd imag-part inexact->exact inexact? input-port? integer->char '\n + 'integer? interaction-environment lcm length list list->string '\n + 'list->vector list-ref list-tail list? load log magnitude make-polar '\n + 'make-rectangular make-string make-vector max member memq memv min '\n + 'modulo negative? newline not null-environment null? number->string '\n + 'number? numerator odd? open-input-file open-output-file output-port? '\n + 'pair? peek-char port? positive? procedure? quasiquote quote quotient '\n + 'rational? rationalize read read-char real-part real? remainder reverse '\n + 'round scheme-report-environment set! set-car! set-cdr! sin sqrt string '\n + 'string->list string->number string->symbol string-append string-ci<=? '\n + 'string-ci=? string-ci>? string-copy '\n + 'string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? '\n + 'tan transcript-off transcript-on truncate values vector '\n + 'vector->list vector-fill! vector-length vector-ref vector-set! '\n + 'with-input-from-file with-output-to-file write write-char zero?'\n };\n\n const LITERAL = {\n className: 'literal',\n begin: '(#t|#f|#\\\\\\\\' + SCHEME_IDENT_RE + '|#\\\\\\\\.)'\n };\n\n const NUMBER = {\n className: 'number',\n variants: [\n {\n begin: SCHEME_SIMPLE_NUMBER_RE,\n relevance: 0\n },\n {\n begin: SCHEME_COMPLEX_NUMBER_RE,\n relevance: 0\n },\n { begin: '#b[0-1]+(/[0-1]+)?' },\n { begin: '#o[0-7]+(/[0-7]+)?' },\n { begin: '#x[0-9a-f]+(/[0-9a-f]+)?' }\n ]\n };\n\n const STRING = hljs.QUOTE_STRING_MODE;\n\n const COMMENT_MODES = [\n hljs.COMMENT(\n ';',\n '$',\n { relevance: 0 }\n ),\n hljs.COMMENT('#\\\\|', '\\\\|#')\n ];\n\n const IDENT = {\n begin: SCHEME_IDENT_RE,\n relevance: 0\n };\n\n const QUOTED_IDENT = {\n className: 'symbol',\n begin: '\\'' + SCHEME_IDENT_RE\n };\n\n const BODY = {\n endsWithParent: true,\n relevance: 0\n };\n\n const QUOTED_LIST = {\n variants: [\n { begin: /'/ },\n { begin: '`' }\n ],\n contains: [\n {\n begin: '\\\\(',\n end: '\\\\)',\n contains: [\n 'self',\n LITERAL,\n STRING,\n NUMBER,\n IDENT,\n QUOTED_IDENT\n ]\n }\n ]\n };\n\n const NAME = {\n className: 'name',\n relevance: 0,\n begin: SCHEME_IDENT_RE,\n keywords: KEYWORDS\n };\n\n const LAMBDA = {\n begin: /lambda/,\n endsWithParent: true,\n returnBegin: true,\n contains: [\n NAME,\n {\n endsParent: true,\n variants: [\n {\n begin: /\\(/,\n end: /\\)/\n },\n {\n begin: /\\[/,\n end: /\\]/\n }\n ],\n contains: [ IDENT ]\n }\n ]\n };\n\n const LIST = {\n variants: [\n {\n begin: '\\\\(',\n end: '\\\\)'\n },\n {\n begin: '\\\\[',\n end: '\\\\]'\n }\n ],\n contains: [\n LAMBDA,\n NAME,\n BODY\n ]\n };\n\n BODY.contains = [\n LITERAL,\n NUMBER,\n STRING,\n IDENT,\n QUOTED_IDENT,\n QUOTED_LIST,\n LIST\n ].concat(COMMENT_MODES);\n\n return {\n name: 'Scheme',\n aliases: ['scm'],\n illegal: /\\S/,\n contains: [\n hljs.SHEBANG(),\n NUMBER,\n STRING,\n QUOTED_IDENT,\n QUOTED_LIST,\n LIST\n ].concat(COMMENT_MODES)\n };\n}\n\nmodule.exports = scheme;\n"],"names":["scheme","hljs","SCHEME_IDENT_RE","SCHEME_SIMPLE_NUMBER_RE","SCHEME_COMPLEX_NUMBER_RE","KEYWORDS","LITERAL","NUMBER","STRING","COMMENT_MODES","IDENT","QUOTED_IDENT","BODY","QUOTED_LIST","NAME","LIST","scheme_1"],"mappings":"4YAWA,SAASA,EAAOC,EAAM,CACpB,MAAMC,EAAkB,wCAClBC,EAA0B,0BAC1BC,EAA2BD,EAA0B,SAAWA,EAA0B,IAC1FE,EAAW,CACf,SAAUH,EACV,SACE,koEAiCN,EAEQI,EAAU,CACd,UAAW,UACX,MAAO,eAAiBJ,EAAkB,UAC9C,EAEQK,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAOJ,EACP,UAAW,CACZ,EACD,CACE,MAAOC,EACP,UAAW,CACZ,EACD,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,0BAA4B,CACtC,CACL,EAEQI,EAASP,EAAK,kBAEdQ,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,UAAW,CAAG,CACjB,EACDA,EAAK,QAAQ,OAAQ,MAAM,CAC/B,EAEQS,EAAQ,CACZ,MAAOR,EACP,UAAW,CACf,EAEQS,EAAe,CACnB,UAAW,SACX,MAAO,IAAOT,CAClB,EAEQU,EAAO,CACX,eAAgB,GAChB,UAAW,CACf,EAEQC,EAAc,CAClB,SAAU,CACR,CAAE,MAAO,GAAK,EACd,CAAE,MAAO,GAAK,CACf,EACD,SAAU,CACR,CACE,MAAO,MACP,IAAK,MACL,SAAU,CACR,OACAP,EACAE,EACAD,EACAG,EACAC,CACD,CACF,CACF,CACL,EAEQG,EAAO,CACX,UAAW,OACX,UAAW,EACX,MAAOZ,EACP,SAAUG,CACd,EAyBQU,EAAO,CACX,SAAU,CACR,CACE,MAAO,MACP,IAAK,KACN,EACD,CACE,MAAO,MACP,IAAK,KACN,CACF,EACD,SAAU,CAlCG,CACb,MAAO,SACP,eAAgB,GAChB,YAAa,GACb,SAAU,CACRD,EACA,CACE,WAAY,GACZ,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACN,EACD,CACE,MAAO,KACP,IAAK,IACN,CACF,EACD,SAAU,CAAEJ,CAAO,CACpB,CACF,CACL,EAeMI,EACAF,CACD,CACL,EAEE,OAAAA,EAAK,SAAW,CACdN,EACAC,EACAC,EACAE,EACAC,EACAE,EACAE,CACJ,EAAI,OAAON,CAAa,EAEf,CACL,KAAM,SACN,QAAS,CAAC,KAAK,EACf,QAAS,KACT,SAAU,CACRR,EAAK,QAAS,EACdM,EACAC,EACAG,EACAE,EACAE,CACN,EAAM,OAAON,CAAa,CAC1B,CACA,CAEA,IAAAO,EAAiBhB","x_google_ignoreList":[0]}