Current Directory: /home/astoriaah/www/old15/media/editors/codemirror/mode/rst
Viewing File: /home/astoriaah/www/old15/media/editors/codemirror/mode/rst/rst.min.js
!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("../python/python"),require("../stex/stex"),require("../../addon/mode/overlay")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../python/python","../stex/stex","../../addon/mode/overlay"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("rst",function(t,a){var c=/^\*\*[^\*\s](?:[^\*]*[^\*\s])?\*\*/,n=/^\*[^\*\s](?:[^\*]*[^\*\s])?\*/,r=/^``[^`\s](?:[^`]*[^`\s])``/,m=/^(?:[\d]+(?:[\.,]\d+)*)/,o=/^(?:\s\+[\d]+(?:[\.,]\d+)*)/,s=/^(?:\s\-[\d]+(?:[\.,]\d+)*)/,h="[Hh][Tt][Tt][Pp][Ss]?://",l="(?:[\\d\\w.-]+)\\.(?:\\w{2,6})",i="(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*",p=new RegExp("^"+h+l+i),d={token:function(e){if(e.match(c)&&e.match(/\W+|$/,!1))return"strong";if(e.match(n)&&e.match(/\W+|$/,!1))return"em";if(e.match(r)&&e.match(/\W+|$/,!1))return"string-2";if(e.match(m))return"number";if(e.match(o))return"positive";if(e.match(s))return"negative";if(e.match(p))return"link";for(;!(null==e.next()||e.match(c,!1)||e.match(n,!1)||e.match(r,!1)||e.match(m,!1)||e.match(o,!1)||e.match(s,!1)||e.match(p,!1)););return null}},u=e.getMode(t,a.backdrop||"rst-base");return e.overlayMode(u,d,!0)},"python","stex"),e.defineMode("rst-base",function(t){function a(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return"undefined"!=typeof t[a]?t[a]:e})}function c(t,a){var r=null;if(t.sol()&&t.match(V,!1))l(a,s,{mode:d,local:e.startState(d)});else if(t.sol()&&t.match($))l(a,n),r="meta";else if(t.sol()&&t.match(v))l(a,c),r="header";else if(p(a)==P||t.match(P,!1))switch(i(a)){case 0:l(a,c,h(P,1)),t.match(/^:/),r="meta";break;case 1:l(a,c,h(P,2)),t.match(b),r="keyword",t.current().match(/^(?:math|latex)/)&&(a.tmp_stex=!0);break;case 2:l(a,c,h(P,3)),t.match(/^:`/),r="meta";break;case 3:if(a.tmp_stex&&(a.tmp_stex=void 0,a.tmp={mode:u,local:e.startState(u)}),a.tmp){if("`"==t.peek()){l(a,c,h(P,4)),a.tmp=void 0;break}r=a.tmp.mode.token(t,a.tmp.local);break}l(a,c,h(P,4)),t.match(_),r="string";break;case 4:l(a,c,h(P,5)),t.match(/^`/),r="meta";break;case 5:l(a,c,h(P,6)),t.match(k);break;default:l(a,c)}else if(p(a)==z||t.match(z,!1))switch(i(a)){case 0:l(a,c,h(z,1)),t.match(/^`/),r="meta";break;case 1:l(a,c,h(z,2)),t.match(_),r="string";break;case 2:l(a,c,h(z,3)),t.match(/^`:/),r="meta";break;case 3:l(a,c,h(z,4)),t.match(b),r="keyword";break;case 4:l(a,c,h(z,5)),t.match(/^:/),r="meta";break;case 5:l(a,c,h(z,6)),t.match(k);break;default:l(a,c)}else if(p(a)==B||t.match(B,!1))switch(i(a)){case 0:l(a,c,h(B,1)),t.match(/^:/),r="meta";break;case 1:l(a,c,h(B,2)),t.match(b),r="keyword";break;case 2:l(a,c,h(B,3)),t.match(/^:/),r="meta";break;case 3:l(a,c,h(B,4)),t.match(k);break;default:l(a,c)}else if(p(a)==j||t.match(j,!1))switch(i(a)){case 0:l(a,c,h(j,1)),t.match(G),r="variable-2";break;case 1:l(a,c,h(j,2)),t.match(/^_?_?/)&&(r="link");break;default:l(a,c)}else if(t.match(I))l(a,c),r="quote";else if(t.match(A))l(a,c),r="quote";else if(t.match(C))l(a,c),(!t.peek()||t.peek().match(/^\W$/))&&(r="link");else if(p(a)==H||t.match(H,!1))switch(i(a)){case 0:!t.peek()||t.peek().match(/^\W$/)?l(a,c,h(H,1)):t.match(H);break;case 1:l(a,c,h(H,2)),t.match(/^`/),r="link";break;case 2:l(a,c,h(H,3)),t.match(_);break;case 3:l(a,c,h(H,4)),t.match(/^`_/),r="link";break;default:l(a,c)}else t.match(U)?l(a,m):t.next()&&l(a,c);return r}function n(t,a){var m=null;if(p(a)==W||t.match(W,!1))switch(i(a)){case 0:l(a,n,h(W,1)),t.match(G),m="variable-2";break;case 1:l(a,n,h(W,2)),t.match(J);break;case 2:l(a,n,h(W,3)),t.match(K),m="keyword";break;case 3:l(a,n,h(W,4)),t.match(L),m="meta";break;default:l(a,c)}else if(p(a)==M||t.match(M,!1))switch(i(a)){case 0:l(a,n,h(M,1)),t.match(D),m="keyword",t.current().match(/^(?:math|latex)/)?a.tmp_stex=!0:t.current().match(/^python/)&&(a.tmp_py=!0);break;case 1:l(a,n,h(M,2)),t.match(F),m="meta",(t.match(/^latex\s*$/)||a.tmp_stex)&&(a.tmp_stex=void 0,l(a,s,{mode:u,local:e.startState(u)}));break;case 2:l(a,n,h(M,3)),(t.match(/^python\s*$/)||a.tmp_py)&&(a.tmp_py=void 0,l(a,s,{mode:d,local:e.startState(d)}));break;default:l(a,c)}else if(p(a)==S||t.match(S,!1))switch(i(a)){case 0:l(a,n,h(S,1)),t.match(N),t.match(O),m="link";break;case 1:l(a,n,h(S,2)),t.match(Q),m="meta";break;default:l(a,c)}else t.match(q)?(l(a,c),m="quote"):t.match(T)?(l(a,c),m="quote"):(t.eatSpace(),t.eol()?l(a,c):(t.skipToEnd(),l(a,r),m="comment"));return m}function r(e,t){return o(e,t,"comment")}function m(e,t){return o(e,t,"meta")}function o(e,t,a){return e.eol()||e.eatSpace()?(e.skipToEnd(),a):(l(t,c),null)}function s(e,t){return t.ctx.mode&&t.ctx.local?e.sol()?(e.eatSpace()||l(t,c),null):t.ctx.mode.token(e,t.ctx.local):(l(t,c),null)}function h(e,t,a,c){return{phase:e,stage:t,mode:a,local:c}}function l(e,t,a){e.tok=t,e.ctx=a||{}}function i(e){return e.ctx.stage||0}function p(e){return e.ctx.phase}var d=e.getMode(t,"python"),u=e.getMode(t,"stex"),f="\\s+",x="(?:\\s*|\\W|$)",k=new RegExp(a("^{0}",x)),w="(?:[^\\W\\d_](?:[\\w!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)",b=new RegExp(a("^{0}",w)),g="(?:[^\\W\\d_](?:[\\w\\s!\"#$%&'()\\*\\+,\\-\\./:;<=>\\?]*[^\\W_])?)",E=a("(?:{0}|`{1}`)",w,g),R="(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)",y="(?:[^\\`]+)",_=new RegExp(a("^{0}",y)),v=new RegExp("^([!'#$%&\"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$"),$=new RegExp(a("^\\.\\.{0}",f)),S=new RegExp(a("^_{0}:{1}|^__:{1}",E,x)),M=new RegExp(a("^{0}::{1}",E,x)),W=new RegExp(a("^\\|{0}\\|{1}{2}::{3}",R,f,E,x)),q=new RegExp(a("^\\[(?:\\d+|#{0}?|\\*)]{1}",E,x)),T=new RegExp(a("^\\[{0}\\]{1}",E,x)),j=new RegExp(a("^\\|{0}\\|",R)),I=new RegExp(a("^\\[(?:\\d+|#{0}?|\\*)]_",E)),A=new RegExp(a("^\\[{0}\\]_",E)),C=new RegExp(a("^{0}__?",E)),H=new RegExp(a("^`{0}`_",y)),P=new RegExp(a("^:{0}:`{1}`{2}",w,y,x)),z=new RegExp(a("^`{1}`:{0}:{2}",w,y,x)),B=new RegExp(a("^:{0}:{1}",w,x)),D=new RegExp(a("^{0}",E)),F=new RegExp(a("^::{0}",x)),G=new RegExp(a("^\\|{0}\\|",R)),J=new RegExp(a("^{0}",f)),K=new RegExp(a("^{0}",E)),L=new RegExp(a("^::{0}",x)),N=new RegExp("^_"),O=new RegExp(a("^{0}|_",E)),Q=new RegExp(a("^:{0}",x)),U=new RegExp("^::\\s*$"),V=new RegExp("^\\s+(?:>>>|In \\[\\d+\\]:)\\s");return{startState:function(){return{tok:c,ctx:h(void 0,0)}},copyState:function(t){var a=t.ctx,c=t.tmp;return a.local&&(a={mode:a.mode,local:e.copyState(a.mode,a.local)}),c&&(c={mode:c.mode,local:e.copyState(c.mode,c.local)}),{tok:t.tok,ctx:a,tmp:c}},innerMode:function(e){return e.tmp?{state:e.tmp.local,mode:e.tmp.mode}:e.ctx.mode?{state:e.ctx.local,mode:e.ctx.mode}:null},token:function(e,t){return t.tok(e,t)}}},"python","stex"),e.defineMIME("text/x-rst","rst")});