1{"version":3,"sources":["../../node_modules/codemirror/mode/rst/rst.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","config","options","rx_strong","rx_emphasis","rx_literal","rx_number","rx_positive","rx_negative","rx_uri_protocol","rx_uri_domain","rx_uri_path","rx_uri","RegExp","overlay","token","stream","match","next","mode","getMode","backdrop","overlayMode","format","string","args","Array","prototype","slice","call","arguments","replace","n","mode_python","mode_stex","SEPA","TAIL","rx_TAIL","NAME","rx_NAME","NAME_WWS","REF_NAME","TEXT1","TEXT2","rx_TEXT2","rx_section","rx_explicit","rx_link","rx_directive","rx_substitution","rx_footnote","rx_citation","rx_substitution_ref","rx_footnote_ref","rx_citation_ref","rx_link_ref1","rx_link_ref2","rx_role_pre","rx_role_suf","rx_role","rx_directive_name","rx_directive_tail","rx_substitution_text","rx_substitution_sepa","rx_substitution_name","rx_substitution_tail","rx_link_head","rx_link_name","rx_link_tail","rx_verbatim","rx_examples","to_normal","state","sol","change","to_mode","local","startState","to_explicit","phase","stage","context","current","tmp_stex","undefined","tmp","peek","to_verbatim","tmp_py","eatSpace","eol","skipToEnd","to_comment","as_block","ctx","tok","copyState","innerMode","defineMIME"],"mappings":"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","file":"rst.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"), require(\"../python/python\"), require(\"../stex/stex\"), require(\"../../addon/mode/overlay\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\", \"../python/python\", \"../stex/stex\", \"../../addon/mode/overlay\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('rst', function (config, options) {\n\n var rx_strong = /^\\*\\*[^\\*\\s](?:[^\\*]*[^\\*\\s])?\\*\\*/;\n var rx_emphasis = /^\\*[^\\*\\s](?:[^\\*]*[^\\*\\s])?\\*/;\n var rx_literal = /^``[^`\\s](?:[^`]*[^`\\s])``/;\n\n var rx_number = /^(?:[\\d]+(?:[\\.,]\\d+)*)/;\n var rx_positive = /^(?:\\s\\+[\\d]+(?:[\\.,]\\d+)*)/;\n var rx_negative = /^(?:\\s\\-[\\d]+(?:[\\.,]\\d+)*)/;\n\n var rx_uri_protocol = \"[Hh][Tt][Tt][Pp][Ss]?://\";\n var rx_uri_domain = \"(?:[\\\\d\\\\w.-]+)\\\\.(?:\\\\w{2,6})\";\n var rx_uri_path = \"(?:/[\\\\d\\\\w\\\\#\\\\%\\\\&\\\\-\\\\.\\\\,\\\\/\\\\:\\\\=\\\\?\\\\~]+)*\";\n var rx_uri = new RegExp(\"^\" + rx_uri_protocol + rx_uri_domain + rx_uri_path);\n\n var overlay = {\n token: function (stream) {\n\n if (stream.match(rx_strong) && stream.match (/\\W+|$/, false))\n return 'strong';\n if (stream.match(rx_emphasis) && stream.match (/\\W+|$/, false))\n return 'em';\n if (stream.match(rx_literal) && stream.match (/\\W+|$/, false))\n return 'string-2';\n if (stream.match(rx_number))\n return 'number';\n if (stream.match(rx_positive))\n return 'positive';\n if (stream.match(rx_negative))\n return 'negative';\n if (stream.match(rx_uri))\n return 'link';\n\n while (stream.next() != null) {\n if (stream.match(rx_strong, false)) break;\n if (stream.match(rx_emphasis, false)) break;\n if (stream.match(rx_literal, false)) break;\n if (stream.match(rx_number, false)) break;\n if (stream.match(rx_positive, false)) break;\n if (stream.match(rx_negative, false)) break;\n if (stream.match(rx_uri, false)) break;\n }\n\n return null;\n }\n };\n\n var mode = CodeMirror.getMode(\n config, options.backdrop || 'rst-base'\n );\n\n return CodeMirror.overlayMode(mode, overlay, true); // combine\n}, 'python', 'stex');\n\n///////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////\n\nCodeMirror.defineMode('rst-base', function (config) {\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function format(string) {\n var args = Array.prototype.slice.call(arguments, 1);\n return string.replace(/{(\\d+)}/g, function (match, n) {\n return typeof args[n] != 'undefined' ? args[n] : match;\n });\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n var mode_python = CodeMirror.getMode(config, 'python');\n var mode_stex = CodeMirror.getMode(config, 'stex');\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n var SEPA = \"\\\\s+\";\n var TAIL = \"(?:\\\\s*|\\\\W|$)\",\n rx_TAIL = new RegExp(format('^{0}', TAIL));\n\n var NAME =\n \"(?:[^\\\\W\\\\d_](?:[\\\\w!\\\"#$%&'()\\\\*\\\\+,\\\\-\\\\.\\/:;<=>\\\\?]*[^\\\\W_])?)\",\n rx_NAME = new RegExp(format('^{0}', NAME));\n var NAME_WWS =\n \"(?:[^\\\\W\\\\d_](?:[\\\\w\\\\s!\\\"#$%&'()\\\\*\\\\+,\\\\-\\\\.\\/:;<=>\\\\?]*[^\\\\W_])?)\";\n var REF_NAME = format('(?:{0}|`{1}`)', NAME, NAME_WWS);\n\n var TEXT1 = \"(?:[^\\\\s\\\\|](?:[^\\\\|]*[^\\\\s\\\\|])?)\";\n var TEXT2 = \"(?:[^\\\\`]+)\",\n rx_TEXT2 = new RegExp(format('^{0}', TEXT2));\n\n var rx_section = new RegExp(\n \"^([!'#$%&\\\"()*+,-./:;<=>?@\\\\[\\\\\\\\\\\\]^_`{|}~])\\\\1{3,}\\\\s*$\");\n var rx_explicit = new RegExp(\n format('^\\\\.\\\\.{0}', SEPA));\n var rx_link = new RegExp(\n format('^_{0}:{1}|^__:{1}', REF_NAME, TAIL));\n var rx_directive = new RegExp(\n format('^{0}::{1}', REF_NAME, TAIL));\n var rx_substitution = new RegExp(\n format('^\\\\|{0}\\\\|{1}{2}::{3}', TEXT1, SEPA, REF_NAME, TAIL));\n var rx_footnote = new RegExp(\n format('^\\\\[(?:\\\\d+|#{0}?|\\\\*)]{1}', REF_NAME, TAIL));\n var rx_citation = new RegExp(\n format('^\\\\[{0}\\\\]{1}', REF_NAME, TAIL));\n\n var rx_substitution_ref = new RegExp(\n format('^\\\\|{0}\\\\|', TEXT1));\n var rx_footnote_ref = new RegExp(\n format('^\\\\[(?:\\\\d+|#{0}?|\\\\*)]_', REF_NAME));\n var rx_citation_ref = new RegExp(\n format('^\\\\[{0}\\\\]_', REF_NAME));\n var rx_link_ref1 = new RegExp(\n format('^{0}__?', REF_NAME));\n var rx_link_ref2 = new RegExp(\n format('^`{0}`_', TEXT2));\n\n var rx_role_pre = new RegExp(\n format('^:{0}:`{1}`{2}', NAME, TEXT2, TAIL));\n var rx_role_suf = new RegExp(\n format('^`{1}`:{0}:{2}', NAME, TEXT2, TAIL));\n var rx_role = new RegExp(\n format('^:{0}:{1}', NAME, TAIL));\n\n var rx_directive_name = new RegExp(format('^{0}', REF_NAME));\n var rx_directive_tail = new RegExp(format('^::{0}', TAIL));\n var rx_substitution_text = new RegExp(format('^\\\\|{0}\\\\|', TEXT1));\n var rx_substitution_sepa = new RegExp(format('^{0}', SEPA));\n var rx_substitution_name = new RegExp(format('^{0}', REF_NAME));\n var rx_substitution_tail = new RegExp(format('^::{0}', TAIL));\n var rx_link_head = new RegExp(\"^_\");\n var rx_link_name = new RegExp(format('^{0}|_', REF_NAME));\n var rx_link_tail = new RegExp(format('^:{0}', TAIL));\n\n var rx_verbatim = new RegExp('^::\\\\s*$');\n var rx_examples = new RegExp('^\\\\s+(?:>>>|In \\\\[\\\\d+\\\\]:)\\\\s');\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function to_normal(stream, state) {\n var token = null;\n\n if (stream.sol() && stream.match(rx_examples, false)) {\n change(state, to_mode, {\n mode: mode_python, local: CodeMirror.startState(mode_python)\n });\n } else if (stream.sol() && stream.match(rx_explicit)) {\n change(state, to_explicit);\n token = 'meta';\n } else if (stream.sol() && stream.match(rx_section)) {\n change(state, to_normal);\n token = 'header';\n } else if (phase(state) == rx_role_pre ||\n stream.match(rx_role_pre, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_normal, context(rx_role_pre, 1));\n stream.match(/^:/);\n token = 'meta';\n break;\n case 1:\n change(state, to_normal, context(rx_role_pre, 2));\n stream.match(rx_NAME);\n token = 'keyword';\n\n if (stream.current().match(/^(?:math|latex)/)) {\n state.tmp_stex = true;\n }\n break;\n case 2:\n change(state, to_normal, context(rx_role_pre, 3));\n stream.match(/^:`/);\n token = 'meta';\n break;\n case 3:\n if (state.tmp_stex) {\n state.tmp_stex = undefined; state.tmp = {\n mode: mode_stex, local: CodeMirror.startState(mode_stex)\n };\n }\n\n if (state.tmp) {\n if (stream.peek() == '`') {\n change(state, to_normal, context(rx_role_pre, 4));\n state.tmp = undefined;\n break;\n }\n\n token = state.tmp.mode.token(stream, state.tmp.local);\n break;\n }\n\n change(state, to_normal, context(rx_role_pre, 4));\n stream.match(rx_TEXT2);\n token = 'string';\n break;\n case 4:\n change(state, to_normal, context(rx_role_pre, 5));\n stream.match(/^`/);\n token = 'meta';\n break;\n case 5:\n change(state, to_normal, context(rx_role_pre, 6));\n stream.match(rx_TAIL);\n break;\n default:\n change(state, to_normal);\n }\n } else if (phase(state) == rx_role_suf ||\n stream.match(rx_role_suf, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_normal, context(rx_role_suf, 1));\n stream.match(/^`/);\n token = 'meta';\n break;\n case 1:\n change(state, to_normal, context(rx_role_suf, 2));\n stream.match(rx_TEXT2);\n token = 'string';\n break;\n case 2:\n change(state, to_normal, context(rx_role_suf, 3));\n stream.match(/^`:/);\n token = 'meta';\n break;\n case 3:\n change(state, to_normal, context(rx_role_suf, 4));\n stream.match(rx_NAME);\n token = 'keyword';\n break;\n case 4:\n change(state, to_normal, context(rx_role_suf, 5));\n stream.match(/^:/);\n token = 'meta';\n break;\n case 5:\n change(state, to_normal, context(rx_role_suf, 6));\n stream.match(rx_TAIL);\n break;\n default:\n change(state, to_normal);\n }\n } else if (phase(state) == rx_role || stream.match(rx_role, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_normal, context(rx_role, 1));\n stream.match(/^:/);\n token = 'meta';\n break;\n case 1:\n change(state, to_normal, context(rx_role, 2));\n stream.match(rx_NAME);\n token = 'keyword';\n break;\n case 2:\n change(state, to_normal, context(rx_role, 3));\n stream.match(/^:/);\n token = 'meta';\n break;\n case 3:\n change(state, to_normal, context(rx_role, 4));\n stream.match(rx_TAIL);\n break;\n default:\n change(state, to_normal);\n }\n } else if (phase(state) == rx_substitution_ref ||\n stream.match(rx_substitution_ref, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_normal, context(rx_substitution_ref, 1));\n stream.match(rx_substitution_text);\n token = 'variable-2';\n break;\n case 1:\n change(state, to_normal, context(rx_substitution_ref, 2));\n if (stream.match(/^_?_?/)) token = 'link';\n break;\n default:\n change(state, to_normal);\n }\n } else if (stream.match(rx_footnote_ref)) {\n change(state, to_normal);\n token = 'quote';\n } else if (stream.match(rx_citation_ref)) {\n change(state, to_normal);\n token = 'quote';\n } else if (stream.match(rx_link_ref1)) {\n change(state, to_normal);\n if (!stream.peek() || stream.peek().match(/^\\W$/)) {\n token = 'link';\n }\n } else if (phase(state) == rx_link_ref2 ||\n stream.match(rx_link_ref2, false)) {\n\n switch (stage(state)) {\n case 0:\n if (!stream.peek() || stream.peek().match(/^\\W$/)) {\n change(state, to_normal, context(rx_link_ref2, 1));\n } else {\n stream.match(rx_link_ref2);\n }\n break;\n case 1:\n change(state, to_normal, context(rx_link_ref2, 2));\n stream.match(/^`/);\n token = 'link';\n break;\n case 2:\n change(state, to_normal, context(rx_link_ref2, 3));\n stream.match(rx_TEXT2);\n break;\n case 3:\n change(state, to_normal, context(rx_link_ref2, 4));\n stream.match(/^`_/);\n token = 'link';\n break;\n default:\n change(state, to_normal);\n }\n } else if (stream.match(rx_verbatim)) {\n change(state, to_verbatim);\n }\n\n else {\n if (stream.next()) change(state, to_normal);\n }\n\n return token;\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function to_explicit(stream, state) {\n var token = null;\n\n if (phase(state) == rx_substitution ||\n stream.match(rx_substitution, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_explicit, context(rx_substitution, 1));\n stream.match(rx_substitution_text);\n token = 'variable-2';\n break;\n case 1:\n change(state, to_explicit, context(rx_substitution, 2));\n stream.match(rx_substitution_sepa);\n break;\n case 2:\n change(state, to_explicit, context(rx_substitution, 3));\n stream.match(rx_substitution_name);\n token = 'keyword';\n break;\n case 3:\n change(state, to_explicit, context(rx_substitution, 4));\n stream.match(rx_substitution_tail);\n token = 'meta';\n break;\n default:\n change(state, to_normal);\n }\n } else if (phase(state) == rx_directive ||\n stream.match(rx_directive, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_explicit, context(rx_directive, 1));\n stream.match(rx_directive_name);\n token = 'keyword';\n\n if (stream.current().match(/^(?:math|latex)/))\n state.tmp_stex = true;\n else if (stream.current().match(/^python/))\n state.tmp_py = true;\n break;\n case 1:\n change(state, to_explicit, context(rx_directive, 2));\n stream.match(rx_directive_tail);\n token = 'meta';\n\n if (stream.match(/^latex\\s*$/) || state.tmp_stex) {\n state.tmp_stex = undefined; change(state, to_mode, {\n mode: mode_stex, local: CodeMirror.startState(mode_stex)\n });\n }\n break;\n case 2:\n change(state, to_explicit, context(rx_directive, 3));\n if (stream.match(/^python\\s*$/) || state.tmp_py) {\n state.tmp_py = undefined; change(state, to_mode, {\n mode: mode_python, local: CodeMirror.startState(mode_python)\n });\n }\n break;\n default:\n change(state, to_normal);\n }\n } else if (phase(state) == rx_link || stream.match(rx_link, false)) {\n\n switch (stage(state)) {\n case 0:\n change(state, to_explicit, context(rx_link, 1));\n stream.match(rx_link_head);\n stream.match(rx_link_name);\n token = 'link';\n break;\n case 1:\n change(state, to_explicit, context(rx_link, 2));\n stream.match(rx_link_tail);\n token = 'meta';\n break;\n default:\n change(state, to_normal);\n }\n } else if (stream.match(rx_footnote)) {\n change(state, to_normal);\n token = 'quote';\n } else if (stream.match(rx_citation)) {\n change(state, to_normal);\n token = 'quote';\n }\n\n else {\n stream.eatSpace();\n if (stream.eol()) {\n change(state, to_normal);\n } else {\n stream.skipToEnd();\n change(state, to_comment);\n token = 'comment';\n }\n }\n\n return token;\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function to_comment(stream, state) {\n return as_block(stream, state, 'comment');\n }\n\n function to_verbatim(stream, state) {\n return as_block(stream, state, 'meta');\n }\n\n function as_block(stream, state, token) {\n if (stream.eol() || stream.eatSpace()) {\n stream.skipToEnd();\n return token;\n } else {\n change(state, to_normal);\n return null;\n }\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function to_mode(stream, state) {\n\n if (state.ctx.mode && state.ctx.local) {\n\n if (stream.sol()) {\n if (!stream.eatSpace()) change(state, to_normal);\n return null;\n }\n\n return state.ctx.mode.token(stream, state.ctx.local);\n }\n\n change(state, to_normal);\n return null;\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n function context(phase, stage, mode, local) {\n return {phase: phase, stage: stage, mode: mode, local: local};\n }\n\n function change(state, tok, ctx) {\n state.tok = tok;\n state.ctx = ctx || {};\n }\n\n function stage(state) {\n return state.ctx.stage || 0;\n }\n\n function phase(state) {\n return state.ctx.phase;\n }\n\n ///////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////\n\n return {\n startState: function () {\n return {tok: to_normal, ctx: context(undefined, 0)};\n },\n\n copyState: function (state) {\n var ctx = state.ctx, tmp = state.tmp;\n if (ctx.local)\n ctx = {mode: ctx.mode, local: CodeMirror.copyState(ctx.mode, ctx.local)};\n if (tmp)\n tmp = {mode: tmp.mode, local: CodeMirror.copyState(tmp.mode, tmp.local)};\n return {tok: state.tok, ctx: ctx, tmp: tmp};\n },\n\n innerMode: function (state) {\n return state.tmp ? {state: state.tmp.local, mode: state.tmp.mode}\n : state.ctx.mode ? {state: state.ctx.local, mode: state.ctx.mode}\n : null;\n },\n\n token: function (stream, state) {\n return state.tok(stream, state);\n }\n };\n}, 'python', 'stex');\n\n///////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////\n\nCodeMirror.defineMIME('text/x-rst', 'rst');\n\n///////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////\n\n});\n"]}