{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/scheme.js"],"names":["module","exports","hljs","SCHEME_IDENT_RE","KEYWORDS","$pattern","LITERAL","className","begin","NUMBER","variants","relevance","SCHEME_SIMPLE_NUMBER_RE","STRING","QUOTE_STRING_MODE","COMMENT_MODES","COMMENT","IDENT","QUOTED_IDENT","BODY","endsWithParent","QUOTED_LIST","contains","end","NAME","keywords","LIST","returnBegin","endsParent","concat","name","illegal","SHEBANG"],"mappings":"8EAoGAA,EAAOC,QA1FP,SAAgBC,GACd,IAAIC,EAAkB,wCAGlBC,EAAW,CACbC,SAAUF,EACV,eAAgB,ooEAEdG,EAAU,CACZC,UAAW,UACXC,MAAO,eAAiBL,EAAkB,YAExCM,EAAS,CACXF,UAAW,SACXG,SAAU,CAAC,CACTF,MAb0B,4BAc1BG,UAAW,GACV,CACDH,MAf2BI,4DAgB3BD,UAAW,GACV,CACDH,MAAO,sBACN,CACDA,MAAO,sBACN,CACDA,MAAO,8BAGPK,EAASX,EAAKY,kBACdC,EAAgB,CAACb,EAAKc,QAAQ,IAAK,IAAK,CAC1CL,UAAW,IACTT,EAAKc,QAAQ,OAAQ,SACrBC,EAAQ,CACVT,MAAOL,EACPQ,UAAW,GAETO,EAAe,CACjBX,UAAW,SACXC,MAAO,IAAOL,GAEZgB,EAAO,CACTC,gBAAgB,EAChBT,UAAW,GAETU,EAAc,CAChBX,SAAU,CAAC,CACTF,MAAO,KACN,CACDA,MAAO,MAETc,SAAU,CAAC,CACTd,MAAO,MACPe,IAAK,MACLD,SAAU,CAAC,OAAQhB,EAASO,EAAQJ,EAAQQ,EAAOC,MAGnDM,EAAO,CACTjB,UAAW,OACXC,MAAOL,EACPsB,SAAUrB,GAaRsB,EAAO,CACThB,SAAU,CAAC,CACTF,MAAO,MACPe,IAAK,OACJ,CACDf,MAAO,MACPe,IAAK,QAEPD,SAAU,CAnBC,CACXd,MAAO,SACPY,gBAAgB,EAChBO,aAAa,EACbL,SAAU,CAACE,EAAM,CACfhB,MAAO,KACPe,IAAK,KACLK,YAAY,EACZN,SAAU,CAACL,MAWMO,EAAML,IAG3B,OADAA,EAAKG,SAAW,CAAChB,EAASG,EAAQI,EAAQI,EAAOC,EAAcG,EAAaK,GAAMG,OAAOd,GAClF,CACLe,KAAM,SACNC,QAAS,KACTT,SAAU,CAACpB,EAAK8B,UAAWvB,EAAQI,EAAQK,EAAcG,EAAaK,GAAMG,OAAOd","file":"react-syntax-highlighter_languages_highlight_scheme-3186c53d562276066823.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 <me@jverkamp.com>\nContributors: Ivan Sagalaev <maniac@softwaremaniacs.org>\nOrigin: clojure.js\nWebsite: http://community.schemewiki.org/?what-is-scheme\nCategory: lisp\n*/\nfunction scheme(hljs) {\n  var SCHEME_IDENT_RE = '[^\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\",\\'`;#|\\\\\\\\\\\\s]+';\n  var SCHEME_SIMPLE_NUMBER_RE = '(\\\\-|\\\\+)?\\\\d+([./]\\\\d+)?';\n  var SCHEME_COMPLEX_NUMBER_RE = SCHEME_SIMPLE_NUMBER_RE + '[+\\\\-]' + SCHEME_SIMPLE_NUMBER_RE + 'i';\n  var KEYWORDS = {\n    $pattern: SCHEME_IDENT_RE,\n    'builtin-name': 'case-lambda call/cc class define-class exit-handler field import ' + 'inherit init-field interface let*-values let-values let/ec mixin ' + 'opt-lambda override protect provide public rename require ' + 'require-for-syntax syntax syntax-case syntax-error unit/sig unless ' + 'when with-syntax and begin call-with-current-continuation ' + 'call-with-input-file call-with-output-file case cond define ' + 'define-syntax delay do dynamic-wind else for-each if lambda let let* ' + 'let-syntax letrec letrec-syntax map or syntax-rules \\' * + , ,@ - ... / ' + '; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan ' + 'boolean? caar cadr call-with-input-file call-with-output-file ' + 'call-with-values car cdddar cddddr cdr ceiling char->integer ' + 'char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? ' + 'char-downcase char-lower-case? char-numeric? char-ready? char-upcase ' + 'char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? ' + 'char? close-input-port close-output-port complex? cons cos ' + 'current-input-port current-output-port denominator display eof-object? ' + 'eq? equal? eqv? eval even? exact->inexact exact? exp expt floor ' + 'force gcd imag-part inexact->exact inexact? input-port? integer->char ' + 'integer? interaction-environment lcm length list list->string ' + 'list->vector list-ref list-tail list? load log magnitude make-polar ' + 'make-rectangular make-string make-vector max member memq memv min ' + 'modulo negative? newline not null-environment null? number->string ' + 'number? numerator odd? open-input-file open-output-file output-port? ' + 'pair? peek-char port? positive? procedure? quasiquote quote quotient ' + 'rational? rationalize read read-char real-part real? remainder reverse ' + 'round scheme-report-environment set! set-car! set-cdr! sin sqrt string ' + 'string->list string->number string->symbol string-append string-ci<=? ' + 'string-ci<? string-ci=? string-ci>=? string-ci>? string-copy ' + 'string-fill! string-length string-ref string-set! string<=? string<? ' + 'string=? string>=? string>? string? substring symbol->string symbol? ' + 'tan transcript-off transcript-on truncate values vector ' + 'vector->list vector-fill! vector-length vector-ref vector-set! ' + 'with-input-from-file with-output-to-file write write-char zero?'\n  };\n  var LITERAL = {\n    className: 'literal',\n    begin: '(#t|#f|#\\\\\\\\' + SCHEME_IDENT_RE + '|#\\\\\\\\.)'\n  };\n  var NUMBER = {\n    className: 'number',\n    variants: [{\n      begin: SCHEME_SIMPLE_NUMBER_RE,\n      relevance: 0\n    }, {\n      begin: SCHEME_COMPLEX_NUMBER_RE,\n      relevance: 0\n    }, {\n      begin: '#b[0-1]+(/[0-1]+)?'\n    }, {\n      begin: '#o[0-7]+(/[0-7]+)?'\n    }, {\n      begin: '#x[0-9a-f]+(/[0-9a-f]+)?'\n    }]\n  };\n  var STRING = hljs.QUOTE_STRING_MODE;\n  var COMMENT_MODES = [hljs.COMMENT(';', '$', {\n    relevance: 0\n  }), hljs.COMMENT('#\\\\|', '\\\\|#')];\n  var IDENT = {\n    begin: SCHEME_IDENT_RE,\n    relevance: 0\n  };\n  var QUOTED_IDENT = {\n    className: 'symbol',\n    begin: '\\'' + SCHEME_IDENT_RE\n  };\n  var BODY = {\n    endsWithParent: true,\n    relevance: 0\n  };\n  var QUOTED_LIST = {\n    variants: [{\n      begin: /'/\n    }, {\n      begin: '`'\n    }],\n    contains: [{\n      begin: '\\\\(',\n      end: '\\\\)',\n      contains: ['self', LITERAL, STRING, NUMBER, IDENT, QUOTED_IDENT]\n    }]\n  };\n  var NAME = {\n    className: 'name',\n    begin: SCHEME_IDENT_RE,\n    keywords: KEYWORDS\n  };\n  var LAMBDA = {\n    begin: /lambda/,\n    endsWithParent: true,\n    returnBegin: true,\n    contains: [NAME, {\n      begin: /\\(/,\n      end: /\\)/,\n      endsParent: true,\n      contains: [IDENT]\n    }]\n  };\n  var LIST = {\n    variants: [{\n      begin: '\\\\(',\n      end: '\\\\)'\n    }, {\n      begin: '\\\\[',\n      end: '\\\\]'\n    }],\n    contains: [LAMBDA, NAME, BODY]\n  };\n  BODY.contains = [LITERAL, NUMBER, STRING, IDENT, QUOTED_IDENT, QUOTED_LIST, LIST].concat(COMMENT_MODES);\n  return {\n    name: 'Scheme',\n    illegal: /\\S/,\n    contains: [hljs.SHEBANG(), NUMBER, STRING, QUOTED_IDENT, QUOTED_LIST, LIST].concat(COMMENT_MODES)\n  };\n}\n\nmodule.exports = scheme;"],"sourceRoot":""}