openrat-cms

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

pascal.min.js (1664B)


      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('pascal',function(){function i(e){var t={},n=e.split(' ');for(var r=0;r<n.length;++r)t[n[r]]=!0;return t};var t=i('and array begin case const div do downto else end file for forward integer boolean char function goto if in label mod nil not of or packed procedure program record repeat set string then to type until var while with'),n={'null':!0};var e=/[+\-*&%=<>!?|\/]/;function o(i,o){var u=i.next();if(u=='#'&&o.startOfLine){i.skipToEnd();return'meta'};if(u=='"'||u=='\''){o.tokenize=a(u);return o.tokenize(i,o)};if(u=='('&&i.eat('*')){o.tokenize=r;return r(i,o)};if(/[\[\]{}\(\),;\:\.]/.test(u)){return null};if(/\d/.test(u)){i.eatWhile(/[\w\.]/);return'number'};if(u=='/'){if(i.eat('/')){i.skipToEnd();return'comment'}};if(e.test(u)){i.eatWhile(e);return'operator'};i.eatWhile(/[\w\$_]/);var f=i.current();if(t.propertyIsEnumerable(f))return'keyword';if(n.propertyIsEnumerable(f))return'atom';return'variable'};function a(e){return function(r,t){var n=!1,i,o=!1;while((i=r.next())!=null){if(i==e&&!n){o=!0;break};n=!n&&i=='\\'};if(o||!n)t.tokenize=null;return'string'}};function r(e,r){var n=!1,t;while(t=e.next()){if(t==')'&&n){r.tokenize=null;break};n=(t=='*')};return'comment'};return{startState:function(){return{tokenize:null}},token:function(e,r){if(e.eatSpace())return null;var t=(r.tokenize||o)(e,r);if(t=='comment'||t=='meta')return t;return t},electricChars:'{}'}});e.defineMIME('text/x-pascal','pascal')});