openrat-cms

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

commonlisp.min.js (2777B)


      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('commonlisp',function(t){var o=/^(block|let*|return-from|catch|load-time-value|setq|eval-when|locally|symbol-macrolet|flet|macrolet|tagbody|function|multiple-value-call|the|go|multiple-value-prog1|throw|if|progn|unwind-protect|labels|progv|let|quote)$/,i=/^with|^def|^do|^prog|case$|^cond$|bind$|when$|unless$/,l=/^(?:[+\-]?(?:\d+|\d*\.\d+)(?:[efd][+\-]?\d+)?|[+\-]?\d+(?:\/[+\-]?\d+)?|#b[+\-]?[01]+|#o[+\-]?[0-7]+|#x[+\-]?[\da-f]+)/,u=/[^\s'`,@()\[\]";]/,e;function n(e){var t;while(t=e.next()){if(t=='\\')e.next();else if(!u.test(t)){e.backUp(1);break}};return e.current()};function r(t,u){if(t.eatSpace()){e='ws';return null};if(t.match(l))return'number';var r=t.next();if(r=='\\')r=t.next();if(r=='"')return(u.tokenize=c)(t,u);else if(r=='('){e='open';return'bracket'}
      2 else if(r==')'||r==']'){e='close';return'bracket'}
      3 else if(r==';'){t.skipToEnd();e='ws';return'comment'}
      4 else if(/['`,@]/.test(r))return null;else if(r=='|'){if(t.skipTo('|')){t.next();return'symbol'}
      5 else{t.skipToEnd();return'error'}}
      6 else if(r=='#'){var r=t.next();if(r=='('){e='open';return'bracket'}
      7 else if(/[+\-=\.']/.test(r))return null;else if(/\d/.test(r)&&t.match(/^\d*#/))return null;else if(r=='|')return(u.tokenize=s)(t,u);else if(r==':'){n(t);return'meta'}
      8 else if(r=='\\'){t.next();n(t);return'string-2'}
      9 else return'error'}
     10 else{var f=n(t);if(f=='.')return null;e='symbol';if(f=='nil'||f=='t'||f.charAt(0)==':')return'atom';if(u.lastType=='open'&&(o.test(f)||i.test(f)))return'keyword';if(f.charAt(0)=='&')return'variable-2';return'variable'}};function c(e,t){var n=!1,i;while(i=e.next()){if(i=='"'&&!n){t.tokenize=r;break};n=!n&&i=='\\'};return'string'};function s(t,n){var i,o;while(i=t.next()){if(i=='#'&&o=='|'){n.tokenize=r;break};o=i};e='ws';return'comment'};return{startState:function(){return{ctx:{prev:null,start:0,indentTo:0},lastType:null,tokenize:r}},token:function(r,n){if(r.sol()&&typeof n.ctx.indentTo!='number')n.ctx.indentTo=n.ctx.start+1;e=null;var o=n.tokenize(r,n);if(e!='ws'){if(n.ctx.indentTo==null){if(e=='symbol'&&i.test(r.current()))n.ctx.indentTo=n.ctx.start+t.indentUnit;else n.ctx.indentTo='next'}
     11 else if(n.ctx.indentTo=='next'){n.ctx.indentTo=r.column()};n.lastType=e};if(e=='open')n.ctx={prev:n.ctx,start:r.column(),indentTo:null};else if(e=='close')n.ctx=n.ctx.prev||n.ctx;return o},indent:function(e,t){var n=e.ctx.indentTo;return typeof n=='number'?n:e.ctx.start+1},closeBrackets:{pairs:'()[]{}""'},lineComment:';;',blockCommentStart:'#|',blockCommentEnd:'|#'}});e.defineMIME('text/x-common-lisp','commonlisp')});