openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

rst.min.js (6918B)


      1 (function(e){if(typeof exports=='object'&&typeof module=='object')e(require('../../lib/codemirror'),require('../python/python'),require('../stex/stex'),require('../../addon/mode/overlay'));else if(typeof define=='function'&&define.amd)define(['../../lib/codemirror','../python/python','../stex/stex','../../addon/mode/overlay'],e);else 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+)*)/,f='[Hh][Tt][Tt][Pp][Ss]?://',h='(?:[\\d\\w.-]+)\\.(?:\\w{2,6})',p='(?:/[\\d\\w\\#\\%\\&\\-\\.\\,\\/\\:\\=\\?\\~]+)*',i=new RegExp('^'+f+h+p),u={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(i))return'link';while(e.next()!=null){if(e.match(c,!1))break;if(e.match(n,!1))break;if(e.match(r,!1))break;if(e.match(m,!1))break;if(e.match(o,!1))break;if(e.match(s,!1))break;if(e.match(i,!1))break};return null}};var l=e.getMode(t,a.backdrop||'rst-base');return e.overlayMode(l,u,!0)},'python','stex');e.defineMode('rst-base',function(r){function n(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return typeof t[a]!='undefined'?t[a]:e})};var b=e.getMode(r,'python'),w=e.getMode(r,'stex'),y='\\s+',m='(?:\\s*|\\W|$)',v=new RegExp(n('^{0}',m)),k='(?:[^\\W\\d_](?:[\\w!"#$%&\'()\\*\\+,\\-\\.\/:;<=>\\?]*[^\\W_])?)',S=new RegExp(n('^{0}',k)),j='(?:[^\\W\\d_](?:[\\w\\s!"#$%&\'()\\*\\+,\\-\\.\/:;<=>\\?]*[^\\W_])?)',o=n('(?:{0}|`{1}`)',k,j),M='(?:[^\\s\\|](?:[^\\|]*[^\\s\\|])?)',g='(?:[^\\`]+)',W=new RegExp(n('^{0}',g)),A=new RegExp('^([!\'#$%&"()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~])\\1{3,}\\s*$'),C=new RegExp(n('^\\.\\.{0}',y)),E=new RegExp(n('^_{0}:{1}|^__:{1}',o,m)),x=new RegExp(n('^{0}::{1}',o,m)),u=new RegExp(n('^\\|{0}\\|{1}{2}::{3}',M,y,o,m)),H=new RegExp(n('^\\[(?:\\d+|#{0}?|\\*)]{1}',o,m)),P=new RegExp(n('^\\[{0}\\]{1}',o,m)),R=new RegExp(n('^\\|{0}\\|',M)),ee=new RegExp(n('^\\[(?:\\d+|#{0}?|\\*)]_',o)),te=new RegExp(n('^\\[{0}\\]_',o)),ae=new RegExp(n('^{0}__?',o)),p=new RegExp(n('^`{0}`_',g)),i=new RegExp(n('^:{0}:`{1}`{2}',k,g,m)),l=new RegExp(n('^`{1}`:{0}:{2}',k,g,m)),d=new RegExp(n('^:{0}:{1}',k,m)),ce=new RegExp(n('^{0}',o)),ne=new RegExp(n('^::{0}',m)),T=new RegExp(n('^\\|{0}\\|',M)),re=new RegExp(n('^{0}',y)),me=new RegExp(n('^{0}',o)),oe=new RegExp(n('^::{0}',m)),se=new RegExp('^_'),ie=new RegExp(n('^{0}|_',o)),le=new RegExp(n('^:{0}',m)),fe=new RegExp('^::\\s*$'),he=new RegExp('^\\s+(?:>>>|In \\[\\d+\\]:)\\s');function a(n,r){var m=null;if(n.sol()&&n.match(he,!1)){t(r,q,{mode:b,local:e.startState(b)})}
      2 else if(n.sol()&&n.match(C)){t(r,s);m='meta'}
      3 else if(n.sol()&&n.match(A)){t(r,a);m='header'}
      4 else if(h(r)==i||n.match(i,!1)){switch(f(r)){case 0:t(r,a,c(i,1));n.match(/^:/);m='meta';break;case 1:t(r,a,c(i,2));n.match(S);m='keyword';if(n.current().match(/^(?:math|latex)/)){r.tmp_stex=!0};break;case 2:t(r,a,c(i,3));n.match(/^:`/);m='meta';break;case 3:if(r.tmp_stex){r.tmp_stex=undefined;r.tmp={mode:w,local:e.startState(w)}};if(r.tmp){if(n.peek()=='`'){t(r,a,c(i,4));r.tmp=undefined;break};m=r.tmp.mode.token(n,r.tmp.local);break};t(r,a,c(i,4));n.match(W);m='string';break;case 4:t(r,a,c(i,5));n.match(/^`/);m='meta';break;case 5:t(r,a,c(i,6));n.match(v);break;default:t(r,a)}}
      5 else if(h(r)==l||n.match(l,!1)){switch(f(r)){case 0:t(r,a,c(l,1));n.match(/^`/);m='meta';break;case 1:t(r,a,c(l,2));n.match(W);m='string';break;case 2:t(r,a,c(l,3));n.match(/^`:/);m='meta';break;case 3:t(r,a,c(l,4));n.match(S);m='keyword';break;case 4:t(r,a,c(l,5));n.match(/^:/);m='meta';break;case 5:t(r,a,c(l,6));n.match(v);break;default:t(r,a)}}
      6 else if(h(r)==d||n.match(d,!1)){switch(f(r)){case 0:t(r,a,c(d,1));n.match(/^:/);m='meta';break;case 1:t(r,a,c(d,2));n.match(S);m='keyword';break;case 2:t(r,a,c(d,3));n.match(/^:/);m='meta';break;case 3:t(r,a,c(d,4));n.match(v);break;default:t(r,a)}}
      7 else if(h(r)==R||n.match(R,!1)){switch(f(r)){case 0:t(r,a,c(R,1));n.match(T);m='variable-2';break;case 1:t(r,a,c(R,2));if(n.match(/^_?_?/))m='link';break;default:t(r,a)}}
      8 else if(n.match(ee)){t(r,a);m='quote'}
      9 else if(n.match(te)){t(r,a);m='quote'}
     10 else if(n.match(ae)){t(r,a);if(!n.peek()||n.peek().match(/^\W$/)){m='link'}}
     11 else if(h(r)==p||n.match(p,!1)){switch(f(r)){case 0:if(!n.peek()||n.peek().match(/^\W$/)){t(r,a,c(p,1))}
     12 else{n.match(p)};break;case 1:t(r,a,c(p,2));n.match(/^`/);m='link';break;case 2:t(r,a,c(p,3));n.match(W);break;case 3:t(r,a,c(p,4));n.match(/^`_/);m='link';break;default:t(r,a)}}
     13 else if(n.match(fe)){t(r,ue)}
     14 else{if(n.next())t(r,a)};return m};function s(n,r){var m=null;if(h(r)==u||n.match(u,!1)){switch(f(r)){case 0:t(r,s,c(u,1));n.match(T);m='variable-2';break;case 1:t(r,s,c(u,2));n.match(re);break;case 2:t(r,s,c(u,3));n.match(me);m='keyword';break;case 3:t(r,s,c(u,4));n.match(oe);m='meta';break;default:t(r,a)}}
     15 else if(h(r)==x||n.match(x,!1)){switch(f(r)){case 0:t(r,s,c(x,1));n.match(ce);m='keyword';if(n.current().match(/^(?:math|latex)/))r.tmp_stex=!0;else if(n.current().match(/^python/))r.tmp_py=!0;break;case 1:t(r,s,c(x,2));n.match(ne);m='meta';if(n.match(/^latex\s*$/)||r.tmp_stex){r.tmp_stex=undefined;t(r,q,{mode:w,local:e.startState(w)})};break;case 2:t(r,s,c(x,3));if(n.match(/^python\s*$/)||r.tmp_py){r.tmp_py=undefined;t(r,q,{mode:b,local:e.startState(b)})};break;default:t(r,a)}}
     16 else if(h(r)==E||n.match(E,!1)){switch(f(r)){case 0:t(r,s,c(E,1));n.match(se);n.match(ie);m='link';break;case 1:t(r,s,c(E,2));n.match(le);m='meta';break;default:t(r,a)}}
     17 else if(n.match(H)){t(r,a);m='quote'}
     18 else if(n.match(P)){t(r,a);m='quote'}
     19 else{n.eatSpace();if(n.eol()){t(r,a)}
     20 else{n.skipToEnd();t(r,pe);m='comment'}};return m};function pe(e,t){return I(e,t,'comment')};function ue(e,t){return I(e,t,'meta')};function I(e,c,n){if(e.eol()||e.eatSpace()){e.skipToEnd();return n}
     21 else{t(c,a);return null}};function q(e,c){if(c.ctx.mode&&c.ctx.local){if(e.sol()){if(!e.eatSpace())t(c,a);return null};return c.ctx.mode.token(e,c.ctx.local)};t(c,a);return null};function c(e,t,a,c){return{phase:e,stage:t,mode:a,local:c}};function t(e,t,a){e.tok=t;e.ctx=a||{}};function f(e){return e.ctx.stage||0};function h(e){return e.ctx.phase};return{startState:function(){return{tok:a,ctx:c(undefined,0)}},copyState:function(t){var a=t.ctx,c=t.tmp;if(a.local)a={mode:a.mode,local:e.copyState(a.mode,a.local)};if(c)c={mode:c.mode,local:e.copyState(c.mode,c.local)};return{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')});