stex.min.js (3166B)
1 (function(t){if(typeof exports=='object'&&typeof module=='object')t(require('../../lib/codemirror'));else if(typeof define=='function'&&define.amd)define(['../../lib/codemirror'],t);else t(CodeMirror)})(function(t){'use strict';t.defineMode('stex',function(){'use strict';function a(t,e){t.cmdState.push(e)};function u(t){if(t.cmdState.length>0){return t.cmdState[t.cmdState.length-1]} 2 else{return null}};function o(t){var e=t.cmdState.pop();if(e){e.closeBracket()}};function f(t){var r=t.cmdState;for(var e=r.length-1;e>=0;e--){var n=r[e];if(n.name=='DEFAULT'){continue};return n};return{styleIdentifier:function(){return null}}};function r(t,e,n){return function(){this.name=t;this.bracketNo=0;this.style=e;this.styles=n;this.argument=null;this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null};this.openBracket=function(){this.bracketNo++;return'bracket'};this.closeBracket=function(){}}};var t={};t['importmodule']=r('importmodule','tag',['string','builtin']);t['documentclass']=r('documentclass','tag',['','atom']);t['usepackage']=r('usepackage','tag',['atom']);t['begin']=r('begin','tag',['atom']);t['end']=r('end','tag',['atom']);t['DEFAULT']=function(){this.name='DEFAULT';this.style='tag';this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function e(t,e){t.f=e};function n(n,r){var o;if(n.match(/^\\[a-zA-Z@]+/)){var l=n.current().slice(1);o=t[l]||t['DEFAULT'];o=new o();a(r,o);e(r,c);return o.style};if(n.match(/^\\[$&%#{}_]/)){return'tag'};if(n.match(/^\\[,;!\/\\]/)){return'tag'};if(n.match('\\[')){e(r,function(t,e){return i(t,e,'\\]')});return'keyword'};if(n.match('$$')){e(r,function(t,e){return i(t,e,'$$')});return'keyword'};if(n.match('$')){e(r,function(t,e){return i(t,e,'$')});return'keyword'};var s=n.next();if(s=='%'){n.skipToEnd();return'comment'} 3 else if(s=='}'||s==']'){o=u(r);if(o){o.closeBracket(s);e(r,c)} 4 else{return'error'};return'bracket'} 5 else if(s=='{'||s=='['){o=t['DEFAULT'];o=new o();a(r,o);return'bracket'} 6 else if(/\d/.test(s)){n.eatWhile(/[\w.%]/);return'atom'} 7 else{n.eatWhile(/[\w\-_]/);o=f(r);if(o.name=='begin'){o.argument=n.current()};return o.styleIdentifier()}};function i(t,r,a){if(t.eatSpace()){return null};if(t.match(a)){e(r,n);return'keyword'};if(t.match(/^\\[a-zA-Z@]+/)){return'tag'};if(t.match(/^[a-zA-Z]+/)){return'variable-2'};if(t.match(/^\\[$&%#{}_]/)){return'tag'};if(t.match(/^\\[,;!\/]/)){return'tag'};if(t.match(/^[\^_&]/)){return'tag'};if(t.match(/^[+\-<>|=,\/@!*:;'"`~#?]/)){return null};if(t.match(/^(\d+\.\d*|\d*\.\d+|\d+)/)){return'number'};var i=t.next();if(i=='{'||i=='}'||i=='['||i==']'||i=='('||i==')'){return'bracket'};if(i=='%'){t.skipToEnd();return'comment'};return'error'};function c(t,r){var i=t.peek(),a;if(i=='{'||i=='['){a=u(r);a.openBracket(i);t.eat(i);e(r,n);return'bracket'};if(/[ \t\r]/.test(i)){t.eat(i);return null};e(r,n);o(r);return n(t,r)};return{startState:function(){return{cmdState:[],f:n}},copyState:function(t){return{cmdState:t.cmdState.slice(),f:t.f}},token:function(t,e){return e.f(t,e)},blankLine:function(t){t.f=n;t.cmdState.length=0},lineComment:'%'}});t.defineMIME('text/x-stex','stex');t.defineMIME('text/x-latex','stex')});