Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/mode/vhdl/vhdl.min.js
(function(c){typeof exports=="object"&&typeof module=="object"?c(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],c):c(CodeMirror)})(function(c){"use strict";function b(a){for(var u={},l=a.split(","),f=0;f<l.length;++f){var s=l[f].toUpperCase(),h=l[f].charAt(0).toUpperCase()+l[f].slice(1);u[l[f]]=!0,u[s]=!0,u[h]=!0}return u}function g(a){return a.eatWhile(/[\w\$_]/),"meta"}c.defineMode("vhdl",function(a,u){var l=a.indentUnit,f=u.atoms||b("null"),s=u.hooks||{"`":g,$:g},h=u.multiLineStrings,m=b("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),w=b("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),v=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/,o;function y(e,n){var t=e.next();if(s[t]){var r=s[t](e,n);if(r!==!1)return r}if(t=='"')return n.tokenize=C(t),n.tokenize(e,n);if(t=="'")return n.tokenize=z(t),n.tokenize(e,n);if(/[\[\]{}\(\),;\:\.]/.test(t))return o=t,null;if(/[\d']/.test(t))return e.eatWhile(/[\w\.']/),"number";if(t=="-"&&e.eat("-"))return e.skipToEnd(),"comment";if(v.test(t))return e.eatWhile(v),"operator";e.eatWhile(/[\w\$_]/);var i=e.current();return m.propertyIsEnumerable(i.toLowerCase())?(w.propertyIsEnumerable(i)&&(o="newstatement"),"keyword"):f.propertyIsEnumerable(i)?"atom":"variable"}function z(e){return function(n,t){for(var r=!1,i,p=!1;(i=n.next())!=null;){if(i==e&&!r){p=!0;break}r=!r&&i=="--"}return(p||!(r||h))&&(t.tokenize=y),"string"}}function C(e){return function(n,t){for(var r=!1,i,p=!1;(i=n.next())!=null;){if(i==e&&!r){p=!0;break}r=!r&&i=="--"}return(p||!(r||h))&&(t.tokenize=y),"string-2"}}function x(e,n,t,r,i){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=i}function k(e,n,t){return e.context=new x(e.indented,n,t,null,e.context)}function d(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new x((e||0)-l,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;o=null;var r=(n.tokenize||y)(e,n);if(r=="comment"||r=="meta")return r;if(t.align==null&&(t.align=!0),(o==";"||o==":")&&t.type=="statement")d(n);else if(o=="{")k(n,e.column(),"}");else if(o=="[")k(n,e.column(),"]");else if(o=="(")k(n,e.column(),")");else if(o=="}"){for(;t.type=="statement";)t=d(n);for(t.type=="}"&&(t=d(n));t.type=="statement";)t=d(n)}else o==t.type?d(n):(t.type=="}"||t.type=="top"||t.type=="statement"&&o=="newstatement")&&k(n,e.column(),"statement");return n.startOfLine=!1,r},indent:function(e,n){if(e.tokenize!=y&&e.tokenize!=null)return 0;var t=n&&n.charAt(0),r=e.context,i=t==r.type;return r.type=="statement"?r.indented+(t=="{"?0:l):r.align?r.column+(i?0:1):r.indented+(i?0:l)},electricChars:"{}"}}),c.defineMIME("text/x-vhdl","vhdl")});
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!