Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/mode/fcl/fcl.min.js |
(function(u){typeof exports=="object"&&typeof module=="object"?u(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],u):u(CodeMirror)})(function(u){"use strict";u.defineMode("fcl",function(b){var l=b.indentUnit,k={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},c={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},o={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},x={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},d=/[+\-*&^%:=<>!|\/]/;function f(e,t){var n=e.next();if(/[\d\.]/.test(n))return n=="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):n=="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(n=="/"||n=="("){if(e.eat("*"))return t.tokenize=a,a(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(d.test(n))return e.eatWhile(d),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var r=e.current().toLowerCase();return k.propertyIsEnumerable(r)||c.propertyIsEnumerable(r)||o.propertyIsEnumerable(r)?"keyword":x.propertyIsEnumerable(r)?"atom":"variable"}function a(e,t){for(var n=!1,r;r=e.next();){if((r=="/"||r==")")&&n){t.tokenize=f;break}n=r=="*"}return"comment"}function p(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function m(e,t,n){return e.context=new p(e.indented,t,n,null,e.context)}function v(e){if(e.context.prev){var t=e.context.type;return t=="end_block"&&(e.indented=e.context.indented),e.context=e.context.prev}}return{startState:function(e){return{tokenize:null,context:new p((e||0)-l,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(n.align==null&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;var r=(t.tokenize||f)(e,t);if(r=="comment")return r;n.align==null&&(n.align=!0);var i=e.current().toLowerCase();return c.propertyIsEnumerable(i)?m(t,e.column(),"end_block"):o.propertyIsEnumerable(i)&&v(t),t.startOfLine=!1,r},indent:function(e,t){if(e.tokenize!=f&&e.tokenize!=null)return 0;var n=e.context,r=o.propertyIsEnumerable(t);return n.align?n.column+(r?0:1):n.indented+(r?0:l)},electricChars:"ryk",fold:"brace",blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:"//"}}),u.defineMIME("text/x-fcl","fcl")});