openrat-cms

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

dtd.min.js (2530B)


      1 (function(e){if(typeof exports=='object'&&typeof module=='object')e(require('../../lib/codemirror'));else if(typeof define=='function'&&define.amd)define(['../../lib/codemirror'],e);else e(CodeMirror)})(function(e){'use strict';e.defineMode('dtd',function(t){var l=t.indentUnit,e;function n(t,n){e=n;return t};function r(e,r){var t=e.next();if(t=='<'&&e.eat('!')){if(e.eatWhile(/[\-]/)){r.tokenize=i;return i(e,r)}
      2 else if(e.eatWhile(/[\w]/))return n('keyword','doindent')}
      3 else if(t=='<'&&e.eat('?')){r.tokenize=s('meta','?>');return n('meta',t)}
      4 else if(t=='#'&&e.eatWhile(/[\w]/))return n('atom','tag');else if(t=='|')return n('keyword','seperator');else if(t.match(/[\(\)\[\]\-\.,\+\?>]/))return n(null,t);else if(t.match(/[\[\]]/))return n('rule',t);else if(t=='"'||t=='\''){r.tokenize=u(t);return r.tokenize(e,r)}
      5 else if(e.eatWhile(/[a-zA-Z\?\+\d]/)){var l=e.current();if(l.substr(l.length-1,l.length).match(/\?|\+/)!==null)e.backUp(1);return n('tag','tag')}
      6 else if(t=='%'||t=='*')return n('number','number');else{e.eatWhile(/[\w\\\-_%.{,]/);return n(null,null)}};function i(e,t){var i=0,l;while((l=e.next())!=null){if(i>=2&&l=='>'){t.tokenize=r;break};i=(l=='-')?i+1:0};return n('comment','comment')};function u(e){return function(t,i){var l=!1,u;while((u=t.next())!=null){if(u==e&&!l){i.tokenize=r;break};l=!l&&u=='\\'};return n('string','tag')}};function s(e,t){return function(n,i){while(!n.eol()){if(n.match(t)){i.tokenize=r;break};n.next()};return e}};return{startState:function(e){return{tokenize:r,baseIndent:e||0,stack:[]}},token:function(t,n){if(t.eatSpace())return null;var r=n.tokenize(t,n),i=n.stack[n.stack.length-1];if(t.current()=='['||e==='doindent'||e=='[')n.stack.push('rule');else if(e==='endtag')n.stack[n.stack.length-1]='endtag';else if(t.current()==']'||e==']'||(e=='>'&&i=='rule'))n.stack.pop();else if(e=='[')n.stack.push('[');return r},indent:function(t,n){var r=t.stack.length;if(n.match(/\]\s+|\]/))r=r-1;else if(n.substr(n.length-1,n.length)==='>'){if(n.substr(0,1)==='<'){}
      7 else if(e=='doindent'&&n.length>1){}
      8 else if(e=='doindent')r--;else if(e=='>'&&n.length>1){}
      9 else if(e=='tag'&&n!=='>'){}
     10 else if(e=='tag'&&t.stack[t.stack.length-1]=='rule')r--;else if(e=='tag')r++;else if(n==='>'&&t.stack[t.stack.length-1]=='rule'&&e==='>')r--;else if(n==='>'&&t.stack[t.stack.length-1]=='rule'){}
     11 else if(n.substr(0,1)!=='<'&&n.substr(0,1)==='>')r=r-1;else if(n==='>'){}
     12 else r=r-1;if(e==null||e==']')r--};return t.baseIndent+r*l},electricChars:']>'}});e.defineMIME('application/xml-dtd','dtd')});