?PNG
IHDR ? f ??C1 sRGB ?? gAMA ?a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/user1137782/www/china1.by/classwithtostring.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
PK ,[as s regexp.jsnu W+A /*EditArea.prototype.comment_or_quotes= function(v0, v1, v2, v3, v4,v5,v6,v7,v8,v9, v10){
new_class="quotes";
if(v6 && v6 != undefined && v6!="")
new_class="comments";
return "µ__"+ new_class +"__µ"+v0+"µ_END_µ";
};*/
/* EditArea.prototype.htmlTag= function(v0, v1, v2, v3, v4,v5,v6,v7,v8,v9, v10){
res=""+v2;
alert("v2: "+v2+" v3: "+v3);
tab=v3.split("=");
attributes="";
if(tab.length>1){
attributes=""+tab[0]+"=";
for(i=1; i"+tab[i].substr(0,cut)+"";
attributes+=""+tab[i].substr(cut)+"=";
}
attributes+=""+tab[tab.length-1]+"";
}
res+=attributes+v5+"";
return res;
};*/
// determine if the selected text if a comment or a quoted text
EditArea.prototype.comment_or_quote= function(){
var new_class="", close_tag="", sy, arg, i;
sy = parent.editAreaLoader.syntax[editArea.current_code_lang];
arg = EditArea.prototype.comment_or_quote.arguments[0];
for( i in sy["quotes"] ){
if(arg.indexOf(i)==0){
new_class="quotesmarks";
close_tag=sy["quotes"][i];
}
}
if(new_class.length==0)
{
for(var i in sy["comments"]){
if( arg.indexOf(i)==0 ){
new_class="comments";
close_tag=sy["comments"][i];
}
}
}
// for single line comment the \n must not be included in the span tags
if(close_tag=="\n"){
return "µ__"+ new_class +"__µ"+ arg.replace(/(\r?\n)?$/m, "µ_END_µ$1");
}else{
// the closing tag must be set only if the comment or quotes is closed
reg= new RegExp(parent.editAreaLoader.get_escaped_regexp(close_tag)+"$", "m");
if( arg.search(reg)!=-1 )
return "µ__"+ new_class +"__µ"+ arg +"µ_END_µ";
else
return "µ__"+ new_class +"__µ"+ arg;
}
};
/*
// apply special tags arround text to highlight
EditArea.prototype.custom_highlight= function(){
res= EditArea.prototype.custom_highlight.arguments[1]+"µ__"+ editArea.reg_exp_span_tag +"__µ" + EditArea.prototype.custom_highlight.arguments[2]+"µ_END_µ";
if(EditArea.prototype.custom_highlight.arguments.length>5)
res+= EditArea.prototype.custom_highlight.arguments[ EditArea.prototype.custom_highlight.arguments.length-3 ];
return res;
};
*/
// return identication that allow to know if revalidating only the text line won't make the syntax go mad
EditArea.prototype.get_syntax_trace= function(text){
if(this.settings["syntax"].length>0 && parent.editAreaLoader.syntax[this.settings["syntax"]]["syntax_trace_regexp"])
return text.replace(parent.editAreaLoader.syntax[this.settings["syntax"]]["syntax_trace_regexp"], "$3");
};
EditArea.prototype.colorize_text= function(text){
//text="
";
/*
if(this.isOpera){
// opera can't use pre element tabulation cause a tab=6 chars in the textarea and 8 chars in the pre
text= this.replace_tab(text);
}*/
text= " "+text; // for easier regExp
/*if(this.do_html_tags)
text= text.replace(/(<[a-z]+ [^>]*>)/gi, '[__htmlTag__]$1[_END_]');*/
if(this.settings["syntax"].length>0)
text= this.apply_syntax(text, this.settings["syntax"]);
// remove the first space added
return text.substr(1).replace(/&/g,"&").replace(//g,">").replace(/µ_END_µ/g,"").replace(/µ__([a-zA-Z0-9]+)__µ/g,"
");
};
EditArea.prototype.apply_syntax= function(text, lang){
var sy;
this.current_code_lang=lang;
if(!parent.editAreaLoader.syntax[lang])
return text;
sy = parent.editAreaLoader.syntax[lang];
if(sy["custom_regexp"]['before']){
for( var i in sy["custom_regexp"]['before']){
var convert="$1µ__"+ sy["custom_regexp"]['before'][i]['class'] +"__µ$2µ_END_µ$3";
text= text.replace(sy["custom_regexp"]['before'][i]['regexp'], convert);
}
}
if(sy["comment_or_quote_reg_exp"]){
//setTimeout("_$('debug_area').value=editArea.comment_or_quote_reg_exp;", 500);
text= text.replace(sy["comment_or_quote_reg_exp"], this.comment_or_quote);
}
if(sy["keywords_reg_exp"]){
for(var i in sy["keywords_reg_exp"]){
text= text.replace(sy["keywords_reg_exp"][i], 'µ__'+i+'__µ$2µ_END_µ');
}
}
if(sy["delimiters_reg_exp"]){
text= text.replace(sy["delimiters_reg_exp"], 'µ__delimiters__µ$1µ_END_µ');
}
if(sy["operators_reg_exp"]){
text= text.replace(sy["operators_reg_exp"], 'µ__operators__µ$1µ_END_µ');
}
if(sy["custom_regexp"]['after']){
for( var i in sy["custom_regexp"]['after']){
var convert="$1µ__"+ sy["custom_regexp"]['after'][i]['class'] +"__µ$2µ_END_µ$3";
text= text.replace(sy["custom_regexp"]['after'][i]['regexp'], convert);
}
}
return text;
};
PK ,[^% % elements_functions.jsnu W+A /****
* This page contains some general usefull functions for javascript
*
****/
// need to redefine this functiondue to IE problem
function getAttribute( elm, aName ) {
var aValue,taName,i;
try{
aValue = elm.getAttribute( aName );
}catch(exept){}
if( ! aValue ){
for( i = 0; i < elm.attributes.length; i ++ ) {
taName = elm.attributes[i] .name.toLowerCase();
if( taName == aName ) {
aValue = elm.attributes[i] .value;
return aValue;
}
}
}
return aValue;
};
// need to redefine this function due to IE problem
function setAttribute( elm, attr, val ) {
if(attr=="class"){
elm.setAttribute("className", val);
elm.setAttribute("class", val);
}else{
elm.setAttribute(attr, val);
}
};
/* return a child element
elem: element we are searching in
elem_type: type of the eleemnt we are searching (DIV, A, etc...)
elem_attribute: attribute of the searched element that must match
elem_attribute_match: value that elem_attribute must match
option: "all" if must return an array of all children, otherwise return the first match element
depth: depth of search (-1 or no set => unlimited)
*/
function getChildren(elem, elem_type, elem_attribute, elem_attribute_match, option, depth)
{
if(!option)
var option="single";
if(!depth)
var depth=-1;
if(elem){
var children= elem.childNodes;
var result=null;
var results= [];
for (var x=0;x0){
results= results.concat(result);
}
}else if(result!=null){
return result;
}
}
}
}
if(option=="all")
return results;
}
return null;
};
function isChildOf(elem, parent){
if(elem){
if(elem==parent)
return true;
while(elem.parentNode != 'undefined'){
return isChildOf(elem.parentNode, parent);
}
}
return false;
};
function getMouseX(e){
if(e!=null && typeof(e.pageX)!="undefined"){
return e.pageX;
}else{
return (e!=null?e.x:event.x)+ document.documentElement.scrollLeft;
}
};
function getMouseY(e){
if(e!=null && typeof(e.pageY)!="undefined"){
return e.pageY;
}else{
return (e!=null?e.y:event.y)+ document.documentElement.scrollTop;
}
};
function calculeOffsetLeft(r){
return calculeOffset(r,"offsetLeft")
};
function calculeOffsetTop(r){
return calculeOffset(r,"offsetTop")
};
function calculeOffset(element,attr){
var offset=0;
while(element){
offset+=element[attr];
element=element.offsetParent
}
return offset;
};
/** return the computed style
* @param: elem: the reference to the element
* @param: prop: the name of the css property
*/
function get_css_property(elem, prop)
{
if(document.defaultView)
{
return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop);
}
else if(elem.currentStyle)
{
var prop = prop.replace(/-\D/gi, function(sMatch)
{
return sMatch.charAt(sMatch.length - 1).toUpperCase();
});
return elem.currentStyle[prop];
}
else return null;
}
/****
* Moving an element
***/
var _mCE; // currently moving element
/* allow to move an element in a window
e: the event
id: the id of the element
frame: the frame of the element
ex of use:
in html:
or
in javascript: document.getElementById("my_div").onmousedown= start_move_element
*/
function start_move_element(e, id, frame){
var elem_id=(e.target || e.srcElement).id;
if(id)
elem_id=id;
if(!frame)
frame=window;
if(frame.event)
e=frame.event;
_mCE= frame.document.getElementById(elem_id);
_mCE.frame=frame;
frame.document.onmousemove= move_element;
frame.document.onmouseup= end_move_element;
/*_mCE.onmousemove= move_element;
_mCE.onmouseup= end_move_element;*/
//alert(_mCE.frame.document.body.offsetHeight);
mouse_x= getMouseX(e);
mouse_y= getMouseY(e);
//window.status=frame+ " elem: "+elem_id+" elem: "+ _mCE + " mouse_x: "+mouse_x;
_mCE.start_pos_x = mouse_x - (_mCE.style.left.replace("px","") || calculeOffsetLeft(_mCE));
_mCE.start_pos_y = mouse_y - (_mCE.style.top.replace("px","") || calculeOffsetTop(_mCE));
return false;
};
function end_move_element(e){
_mCE.frame.document.onmousemove= "";
_mCE.frame.document.onmouseup= "";
_mCE=null;
};
function move_element(e){
var newTop,newLeft,maxLeft;
if( _mCE.frame && _mCE.frame.event )
e=_mCE.frame.event;
newTop = getMouseY(e) - _mCE.start_pos_y;
newLeft = getMouseX(e) - _mCE.start_pos_x;
maxLeft = _mCE.frame.document.body.offsetWidth- _mCE.offsetWidth;
max_top = _mCE.frame.document.body.offsetHeight- _mCE.offsetHeight;
newTop = Math.min(Math.max(0, newTop), max_top);
newLeft = Math.min(Math.max(0, newLeft), maxLeft);
_mCE.style.top = newTop+"px";
_mCE.style.left = newLeft+"px";
return false;
};
/***
* Managing a textarea (this part need the navigator infos from editAreaLoader
***/
var nav= editAreaLoader.nav;
// allow to get infos on the selection: array(start, end)
function getSelectionRange(textarea){
return {"start": textarea.selectionStart, "end": textarea.selectionEnd};
};
// allow to set the selection
function setSelectionRange(t, start, end){
t.focus();
start = Math.max(0, Math.min(t.value.length, start));
end = Math.max(start, Math.min(t.value.length, end));
if( nav.isOpera && nav.isOpera < 9.6 ){ // Opera bug when moving selection start and selection end
t.selectionEnd = 1;
t.selectionStart = 0;
t.selectionEnd = 1;
t.selectionStart = 0;
}
t.selectionStart = start;
t.selectionEnd = end;
//textarea.setSelectionRange(start, end);
if(nav.isIE)
set_IE_selection(t);
};
// set IE position in Firefox mode (textarea.selectionStart and textarea.selectionEnd). should work as a repeated task
function get_IE_selection(t){
var d=document,div,range,stored_range,elem,scrollTop,relative_top,line_start,line_nb,range_start,range_end,tab;
if(t && t.focused)
{
if(!t.ea_line_height)
{ // calculate the lineHeight
div= d.createElement("div");
div.style.fontFamily= get_css_property(t, "font-family");
div.style.fontSize= get_css_property(t, "font-size");
div.style.visibility= "hidden";
div.innerHTML="0";
d.body.appendChild(div);
t.ea_line_height= div.offsetHeight;
d.body.removeChild(div);
}
//t.focus();
range = d.selection.createRange();
try
{
stored_range = range.duplicate();
stored_range.moveToElementText( t );
stored_range.setEndPoint( 'EndToEnd', range );
if(stored_range.parentElement() == t){
// the range don't take care of empty lines in the end of the selection
elem = t;
scrollTop = 0;
while(elem.parentNode){
scrollTop+= elem.scrollTop;
elem = elem.parentNode;
}
// var scrollTop= t.scrollTop + document.body.scrollTop;
// var relative_top= range.offsetTop - calculeOffsetTop(t) + scrollTop;
relative_top= range.offsetTop - calculeOffsetTop(t)+ scrollTop;
// alert("rangeoffset: "+ range.offsetTop +"\ncalcoffsetTop: "+ calculeOffsetTop(t) +"\nrelativeTop: "+ relative_top);
line_start = Math.round((relative_top / t.ea_line_height) +1);
line_nb = Math.round(range.boundingHeight / t.ea_line_height);
range_start = stored_range.text.length - range.text.length;
tab = t.value.substr(0, range_start).split("\n");
range_start += (line_start - tab.length)*2; // add missing empty lines to the selection
t.selectionStart = range_start;
range_end = t.selectionStart + range.text.length;
tab = t.value.substr(0, range_start + range.text.length).split("\n");
range_end += (line_start + line_nb - 1 - tab.length)*2;
t.selectionEnd = range_end;
}
}
catch(e){}
}
if( t && t.id )
{
setTimeout("get_IE_selection(document.getElementById('"+ t.id +"'));", 50);
}
};
function IE_textarea_focus(){
event.srcElement.focused= true;
}
function IE_textarea_blur(){
event.srcElement.focused= false;
}
// select the text for IE (take into account the \r difference)
function set_IE_selection( t ){
var nbLineStart,nbLineStart,nbLineEnd,range;
if(!window.closed){
nbLineStart=t.value.substr(0, t.selectionStart).split("\n").length - 1;
nbLineEnd=t.value.substr(0, t.selectionEnd).split("\n").length - 1;
try
{
range = document.selection.createRange();
range.moveToElementText( t );
range.setEndPoint( 'EndToStart', range );
range.moveStart('character', t.selectionStart - nbLineStart);
range.moveEnd('character', t.selectionEnd - nbLineEnd - (t.selectionStart - nbLineStart) );
range.select();
}
catch(e){}
}
};
editAreaLoader.waiting_loading["elements_functions.js"]= "loaded";
PK ,[J[0
0
reg_syntax/basic.jsnu W+A editAreaLoader.load_syntax["basic"] = {
'DISPLAY_NAME' : 'Basic'
,'COMMENT_SINGLE' : {1 : "'", 2 : 'rem'}
,'COMMENT_MULTI' : { }
,'QUOTEMARKS' : {1: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'if','then','for','wend','while',
'else','elseif','select','case','end select',
'until','next','step','to','end if', 'call'
]
,'keywords' : [
'sub', 'end sub', 'function', 'end function', 'exit',
'exit function', 'dim', 'redim', 'shared', 'const',
'is', 'absolute', 'access', 'any', 'append', 'as',
'base', 'beep', 'binary', 'bload', 'bsave', 'chain',
'chdir', 'circle', 'clear', 'close', 'cls', 'color',
'com', 'common', 'data', 'date', 'declare', 'def',
'defdbl', 'defint', 'deflng', 'defsng', 'defstr',
'double', 'draw', 'environ', 'erase', 'error', 'field',
'files', 'fn', 'get', 'gosub', 'goto', 'integer', 'key',
'kill', 'let', 'line', 'list', 'locate', 'lock', 'long',
'lprint', 'lset', 'mkdir', 'name', 'off', 'on', 'open',
'option', 'out', 'output', 'paint', 'palette', 'pcopy',
'poke', 'preset', 'print', 'pset', 'put', 'random',
'randomize', 'read', 'reset', 'restore', 'resume',
'return', 'rmdir', 'rset', 'run', 'screen', 'seg',
'shell', 'single', 'sleep', 'sound', 'static', 'stop',
'strig', 'string', 'swap', 'system', 'time', 'timer',
'troff', 'tron', 'type', 'unlock', 'using', 'view',
'wait', 'width', 'window', 'write'
]
,'functions' : [
'abs', 'asc', 'atn', 'cdbl', 'chr', 'cint', 'clng',
'cos', 'csng', 'csrlin', 'cvd', 'cvdmbf', 'cvi', 'cvl',
'cvs', 'cvsmbf', 'eof', 'erdev', 'erl', 'err', 'exp',
'fileattr', 'fix', 'fre', 'freefile', 'hex', 'inkey',
'inp', 'input', 'instr', 'int', 'ioctl', 'lbound',
'lcase', 'left', 'len', 'loc', 'lof', 'log', 'lpos',
'ltrim', 'mid', 'mkd', 'mkdmbf', 'mki', 'mkl', 'mks',
'mksmbf', 'oct', 'peek', 'pen', 'play', 'pmap', 'point',
'pos', 'right', 'rnd', 'rtrim', 'seek', 'sgn', 'sin',
'space', 'spc', 'sqr', 'stick', 'str', 'tab', 'tan',
'ubound', 'ucase', 'val', 'varptr', 'varseg'
]
,'operators' : [
'and', 'eqv', 'imp', 'mod', 'not', 'or', 'xor'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '!', '&'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'STYLES' : {
'COMMENTS': 'color: #99CC00;'
,'QUOTESMARKS': 'color: #333399;'
,'KEYWORDS' : {
'keywords' : 'color: #3366FF;'
,'functions' : 'color: #0000FF;'
,'statements' : 'color: #3366FF;'
,'operators' : 'color: #FF0000;'
}
,'OPERATORS' : 'color: #FF0000;'
,'DELIMITERS' : 'color: #0000FF;'
}
};
PK ,[K reg_syntax/vb.jsnu W+A editAreaLoader.load_syntax["vb"] = {
'DISPLAY_NAME' : 'Visual Basic'
,'COMMENT_SINGLE' : {1 : "'"}
,'COMMENT_MULTI' : { }
,'QUOTEMARKS' : {1: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'if','then','for','each','while','do','loop',
'else','elseif','select','case','end select',
'until','next','step','to','in','end if'
]
,'keywords' : [
'empty','isempty','nothing','null','isnull','true','false',
'set','call',
'sub','end sub','function','end function','exit','exit function',
'dim','Mod','In','private','public','shared','const'
]
,'functions' : [
'CDate','Date','DateAdd','DateDiff','DatePart','DateSerial','DateValue','Day','FormatDateTime',
'Hour','IsDate','Minute','Month',
'MonthName','Now','Second','Time','Timer','TimeSerial','TimeValue','Weekday','WeekdayName ','Year',
'Asc','CBool','CByte','CCur','CDate','CDbl','Chr','CInt','CLng','CSng','CStr','Hex','Oct','FormatCurrency',
'FormatDateTime','FormatNumber','FormatPercent','Abs','Atn','Cos','Exp','Hex','Int','Fix','Log','Oct',
'Rnd','Sgn','Sin','Sqr','Tan',
'Array','Filter','IsArray','Join','LBound','Split','UBound',
'InStr','InStrRev','LCase','Left','Len','LTrim','RTrim','Trim','Mid','Replace','Right','Space','StrComp',
'String','StrReverse','UCase',
'CreateObject','Eval','GetLocale','GetObject','GetRef','InputBox','IsEmpty','IsNull','IsNumeric',
'IsObject','LoadPicture','MsgBox','RGB','Round','ScriptEngine','ScriptEngineBuildVersion','ScriptEngineMajorVersion',
'ScriptEngineMinorVersion','SetLocale','TypeName','VarType'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '!', '&'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'STYLES' : {
'COMMENTS': 'color: #99CC00;'
,'QUOTESMARKS': 'color: #333399;'
,'KEYWORDS' : {
'keywords' : 'color: #3366FF;'
,'functions' : 'color: #0000FF;'
,'statements' : 'color: #3366FF;'
}
,'OPERATORS' : 'color: #FF0000;'
,'DELIMITERS' : 'color: #0000FF;'
}
};
PK ,[
1 1 reg_syntax/css.jsnu W+A editAreaLoader.load_syntax["css"] = {
'DISPLAY_NAME' : 'CSS'
,'COMMENT_SINGLE' : {1 : '@'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : ['"', "'"]
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'attributes' : [
'aqua', 'azimuth', 'background-attachment', 'background-color',
'background-image', 'background-position', 'background-repeat',
'background', 'border-bottom-color', 'border-bottom-style',
'border-bottom-width', 'border-left-color', 'border-left-style',
'border-left-width', 'border-right', 'border-right-color',
'border-right-style', 'border-right-width', 'border-top-color',
'border-top-style', 'border-top-width','border-bottom', 'border-collapse',
'border-left', 'border-width', 'border-color', 'border-spacing',
'border-style', 'border-top', 'border', 'caption-side',
'clear', 'clip', 'color', 'content', 'counter-increment', 'counter-reset',
'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
'font-weight', 'font', 'height', 'letter-spacing', 'line-height',
'list-style', 'list-style-image', 'list-style-position', 'list-style-type',
'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'margin',
'marker-offset', 'marks', 'max-height', 'max-width', 'min-height',
'min-width', 'opacity', 'orphans', 'outline', 'outline-color', 'outline-style',
'outline-width', 'overflow', 'padding-bottom', 'padding-left',
'padding-right', 'padding-top', 'padding', 'page', 'page-break-after',
'page-break-before', 'page-break-inside', 'pause-after', 'pause-before',
'pause', 'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
'richness', 'right', 'size', 'speak-header', 'speak-numeral', 'speak-punctuation',
'speak', 'speech-rate', 'stress', 'table-layout', 'text-align', 'text-decoration',
'text-indent', 'text-shadow', 'text-transform', 'top', 'unicode-bidi',
'vertical-align', 'visibility', 'voice-family', 'volume', 'white-space', 'widows',
'width', 'word-spacing', 'z-index', 'bottom', 'left'
]
,'values' : [
'above', 'absolute', 'always', 'armenian', 'aural', 'auto', 'avoid',
'baseline', 'behind', 'below', 'bidi-override', 'black', 'blue', 'blink', 'block', 'bold', 'bolder', 'both',
'capitalize', 'center-left', 'center-right', 'center', 'circle', 'cjk-ideographic',
'close-quote', 'collapse', 'condensed', 'continuous', 'crop', 'crosshair', 'cross', 'cursive',
'dashed', 'decimal-leading-zero', 'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
'e-resize', 'embed', 'extra-condensed', 'extra-expanded', 'expanded',
'fantasy', 'far-left', 'far-right', 'faster', 'fast', 'fixed', 'fuchsia',
'georgian', 'gray', 'green', 'groove', 'hebrew', 'help', 'hidden', 'hide', 'higher',
'high', 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table', 'inline',
'inset', 'inside', 'invert', 'italic', 'justify', 'katakana-iroha', 'katakana',
'landscape', 'larger', 'large', 'left-side', 'leftwards', 'level', 'lighter', 'lime', 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek', 'lower-roman', 'lowercase', 'ltr', 'lower', 'low',
'maroon', 'medium', 'message-box', 'middle', 'mix', 'monospace',
'n-resize', 'narrower', 'navy', 'ne-resize', 'no-close-quote', 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap', 'nw-resize',
'oblique', 'olive', 'once', 'open-quote', 'outset', 'outside', 'overline',
'pointer', 'portrait', 'purple', 'px',
'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb', 'ridge', 'right-side', 'rightwards',
's-resize', 'sans-serif', 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded', 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower', 'small-caps', 'small-caption', 'smaller', 'soft', 'solid', 'spell-out', 'square',
'static', 'status-bar', 'super', 'sw-resize',
'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom', 'text-top', 'thick', 'thin', 'transparent',
'ultra-condensed', 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin', 'upper-roman', 'uppercase', 'url',
'visible',
'w-resize', 'wait', 'white', 'wider',
'x-fast', 'x-high', 'x-large', 'x-loud', 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small',
'yellow', 'yes'
]
,'specials' : [
'important'
]
}
,'OPERATORS' :[
':', ';', '!', '.', '#'
]
,'DELIMITERS' :[
'{', '}'
]
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'attributes' : 'color: #48BDDF;'
,'values' : 'color: #2B60FF;'
,'specials' : 'color: #FF0000;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #60CA00;'
}
};
PK ,[a26 6 reg_syntax/php.jsnu W+A editAreaLoader.load_syntax["php"] = {
'DISPLAY_NAME' : 'Php'
,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'include', 'require', 'include_once', 'require_once',
'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
'endif', 'switch', 'case', 'endswitch',
'return', 'break', 'continue'
]
,'reserved' : [
'_GET', '_POST', '_SESSION', '_SERVER', '_FILES', '_ENV', '_COOKIE', '_REQUEST',
'null', '__LINE__', '__FILE__',
'false', '<?php', '?>', '<?',
'<script language', '</script>',
'true', 'var', 'default',
'function', 'class', 'new', '&new', 'this',
'__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
]
,'functions' : [
'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!', '&&', '||'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
// highlight all variables ($...)
'variables' : {
'search' : '()(\\$\\w+)()'
,'class' : 'variables'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #879EFA;'
,'KEYWORDS' : {
'reserved' : 'color: #48BDDF;'
,'functions' : 'color: #0040FD;'
,'statements' : 'color: #60CA00;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #2B60FF;'
,'REGEXPS' : {
'variables' : 'color: #E0BD54;'
}
}
,'AUTO_COMPLETION' : {
"default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
,"possible_words_letters": "[a-zA-Z0-9_\$]+"
,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
,"prefix_separator": "\\-\\>|\\:\\:"
}
,"CASE_SENSITIVE": true
,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
,"KEYWORDS": {
'': [ // the prefix of thoses items
/**
* 0 : the keyword the user is typing
* 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
* If empty the keyword will be displayed
* 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
*/
['$_POST']
,['$_GET']
,['$_SESSION']
,['$_SERVER']
,['$_FILES']
,['$_ENV']
,['$_COOKIE']
,['$_REQUEST']
// magic methods
,['__construct', '§( {@} )']
,['__destruct', '§( {@} )']
,['__sleep', '§( {@} )']
,['__wakeup', '§( {@} )']
,['__toString', '§( {@} )']
// include
,['include', '§ "{@}";']
,['include_once', '§ "{@}";']
,['require', '§ "{@}";']
,['require_once', '§ "{@}";']
// statements
,['for', '§( {@} )']
,['foreach', '§( {@} )']
,['if', '§( {@} )']
,['elseif', '§( {@} )']
,['while', '§( {@} )']
,['switch', '§( {@} )']
,['break']
,['case']
,['continue']
,['do']
,['else']
,['endif']
,['endswitch']
,['endwhile']
,['return']
// function
,['unset', '§( {@} )']
]
}
}
,"live": {
// class NAME: /class\W+([a-z]+)\W+/gi
// method: /^(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
// static: /^(public|private|protected)?\s+static\s+(public|private|protected)?\s*function\s+([a-z][a-z0-9\_]*)\s*(\([^\{]*\))/gmi
// attributes: /(\$this\-\>|(?:var|public|protected|private)\W+\$)([a-z0-9\_]+)(?!\()\b/gi
// v1 : /(\$this\-\>|var\W+|public\W+|protected\W+|private\W+)([a-z0-9\_]+)\W*(=|;)/gi
// var type: /(\$(this\-\>)?[a-z0-9\_]+)\s*\=\s*new\s+([a-z0-9\_])+/gi
"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
,"possible_words_letters": "[a-zA-Z0-9_\$]+"
,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
,"prefix_separator": "\\-\\>"
}
,"CASE_SENSITIVE": true
,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
,"KEYWORDS": {
'$this': [ // the prefix of thoses items
['test']
]
}
}
}
};
PK ,[Q/ f f reg_syntax/java.jsnu W+A editAreaLoader.load_syntax["java"] = {
'DISPLAY_NAME' : 'Java'
,'COMMENT_SINGLE': { 1: '//', 2: '@' }
, 'COMMENT_MULTI': { '/*': '*/' }
, 'QUOTEMARKS': { 1: "'", 2: '"' }
, 'KEYWORD_CASE_SENSITIVE': true
, 'KEYWORDS': {
'constants': [
'null', 'false', 'true'
]
, 'types': [
'String', 'int', 'short', 'long', 'char', 'double', 'byte',
'float', 'static', 'void', 'private', 'boolean', 'protected',
'public', 'const', 'class', 'final', 'abstract', 'volatile',
'enum', 'transient', 'interface'
]
, 'statements': [
'this', 'extends', 'if', 'do', 'while', 'try', 'catch', 'finally',
'throw', 'throws', 'else', 'for', 'switch', 'continue', 'implements',
'break', 'case', 'default', 'goto'
]
, 'keywords': [
'new', 'return', 'import', 'native', 'super', 'package', 'assert', 'synchronized',
'instanceof', 'strictfp'
]
}
, 'OPERATORS': [
'+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
]
, 'DELIMITERS': [
'(', ')', '[', ']', '{', '}'
]
, 'REGEXPS': {
'precompiler': {
'search': '()(#[^\r\n]*)()'
, 'class': 'precompiler'
, 'modifiers': 'g'
, 'execute': 'before'
}
}
, 'STYLES': {
'COMMENTS': 'color: #AAAAAA;'
, 'QUOTESMARKS': 'color: #6381F8;'
, 'KEYWORDS': {
'constants': 'color: #EE0000;'
, 'types': 'color: #0000EE;'
, 'statements': 'color: #60CA00;'
, 'keywords': 'color: #48BDDF;'
}
, 'OPERATORS': 'color: #FF00FF;'
, 'DELIMITERS': 'color: #0038E1;'
, 'REGEXPS': {
'precompiler': 'color: #009900;'
, 'precompilerstring': 'color: #994400;'
}
}
};
PK ,[m@e e reg_syntax/python.jsnu W+A /**
* Python syntax v 1.1
*
* v1.1 by Andre Roberge (2006/12/27)
*
**/
editAreaLoader.load_syntax["python"] = {
'DISPLAY_NAME' : 'Python'
,'COMMENT_SINGLE' : {1 : '#'}
,'COMMENT_MULTI' : {}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : true
,'KEYWORDS' : {
/*
** Set 1: reserved words
** http://python.org/doc/current/ref/keywords.html
** Note: 'as' and 'with' have been added starting with Python 2.5
*/
'reserved' : [
'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
'import', 'is', 'in', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
'return', 'try', 'while', 'with', 'yield'
//the following are *almost* reserved; we'll treat them as such
, 'False', 'True', 'None'
]
/*
** Set 2: builtins
** http://python.org/doc/current/lib/built-in-funcs.html
*/
,'builtins' : [
'__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
'vars', 'xrange', 'zip',
// Built-in constants: http://www.python.org/doc/2.4.1/lib/node35.html
//'False', 'True', 'None' have been included in 'reserved'
'NotImplemented', 'Ellipsis',
// Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
'RuntimeWarning', 'FutureWarning',
// we will include the string methods as well
// http://python.org/doc/current/lib/string-methods.html
'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
'find', 'index', 'isalnum', 'isaplpha', 'isdigit', 'islower', 'isspace', 'istitle',
'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill'
]
/*
** Set 3: standard library
** http://python.org/doc/current/lib/modindex.html
*/
,'stdlib' : [
'__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
'collections', 'colorsys', 'commands', 'compileall', 'compiler', 'compiler',
'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib'
]
/*
** Set 4: special methods
** http://python.org/doc/current/ref/specialnames.html
*/
,'special' : [
// Basic customization: http://python.org/doc/current/ref/customization.html
'__new__', '__init__', '__del__', '__repr__', '__str__',
'__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
'__hash__', '__nonzero__', '__unicode__', '__dict__',
// Attribute access: http://python.org/doc/current/ref/attribute-access.html
'__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
'__delete__', '__slots__',
// Class creation, callable objects
'__metaclass__', '__call__',
// Container types: http://python.org/doc/current/ref/sequence-types.html
'__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
'__getslice__', '__setslice__', '__delslice__',
// Numeric types: http://python.org/doc/current/ref/numeric-types.html
'__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
'__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
'__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
'__long__','__lshift__',
'__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
'__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
'__rshift__','__rsub__','__rmul__','__repr__','__rand__','__rxor__','__ror__',
'__sub__','__xor__'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #660066;'
,'KEYWORDS' : {
'reserved' : 'color: #0000FF;'
,'builtins' : 'color: #009900;'
,'stdlib' : 'color: #009900;'
,'special': 'color: #006666;'
}
,'OPERATORS' : 'color: #993300;'
,'DELIMITERS' : 'color: #993300;'
}
};
PK ,[ȵ K reg_syntax/js.jsnu W+A editAreaLoader.load_syntax["js"] = {
'DISPLAY_NAME' : 'Javascript'
,'COMMENT_SINGLE' : {1 : '//'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
'while', 'write', 'with'
]
,'keywords' : [
'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
'protected', 'public', 'super', 'true', 'use', 'var', 'window', 'document',
// the list below must be sorted and checked (if it is a keywords or a function and if it is not present twice
'Link ', 'outerHeight ', 'Anchor', 'FileUpload',
'location', 'outerWidth', 'Select', 'Area', 'find', 'Location', 'Packages', 'self',
'arguments', 'locationbar', 'pageXoffset', 'Form',
'Math', 'pageYoffset', 'setTimeout', 'assign', 'Frame', 'menubar', 'parent', 'status',
'blur', 'frames', 'MimeType', 'parseFloat', 'statusbar', 'Boolean', 'Function', 'moveBy',
'parseInt', 'stop', 'Button', 'getClass', 'moveTo', 'Password', 'String', 'callee', 'Hidden',
'name', 'personalbar', 'Submit', 'caller', 'history', 'NaN', 'Plugin', 'sun', 'captureEvents',
'History', 'navigate', 'print', 'taint', 'Checkbox', 'home', 'navigator', 'prompt', 'Text',
'Image', 'Navigator', 'prototype', 'Textarea', 'clearTimeout', 'Infinity',
'netscape', 'Radio', 'toolbar', 'close', 'innerHeight', 'Number', 'ref', 'top', 'closed',
'innerWidth', 'Object', 'RegExp', 'toString', 'confirm', 'isFinite', 'onBlur', 'releaseEvents',
'unescape', 'constructor', 'isNan', 'onError', 'Reset', 'untaint', 'Date', 'java', 'onFocus',
'resizeBy', 'unwatch', 'defaultStatus', 'JavaArray', 'onLoad', 'resizeTo', 'valueOf', 'document',
'JavaClass', 'onUnload', 'routeEvent', 'watch', 'Document', 'JavaObject', 'open', 'scroll', 'window',
'Element', 'JavaPackage', 'opener', 'scrollbars', 'Window', 'escape', 'length', 'Option', 'scrollBy'
]
,'functions' : [
// common functions for Window object
'alert', 'Array', 'back', 'blur', 'clearInterval', 'close', 'confirm', 'eval ', 'focus', 'forward', 'home',
'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'scrollTo', 'setInterval', 'status',
'stop'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'statements' : 'color: #60CA00;'
,'keywords' : 'color: #48BDDF;'
,'functions' : 'color: #2B60FF;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #0038E1;'
}
,'AUTO_COMPLETION' : {
"default": { // the name of this definition group. It's posisble to have different rules inside the same definition file
"REGEXP": { "before_word": "[^a-zA-Z0-9_]|^" // \\s|\\.|
,"possible_words_letters": "[a-zA-Z0-9_]+"
,"letter_after_word_must_match": "[^a-zA-Z0-9_]|$"
,"prefix_separator": "\\."
}
,"CASE_SENSITIVE": true
,"MAX_TEXT_LENGTH": 100 // the maximum length of the text being analyzed before the cursor position
,"KEYWORDS": {
'': [ // the prefix of thoses items
/**
* 0 : the keyword the user is typing
* 1 : (optionnal) the string inserted in code ("{@}" being the new position of the cursor, "§" beeing the equivalent to the value the typed string indicated if the previous )
* If empty the keyword will be displayed
* 2 : (optionnal) the text that appear in the suggestion box (if empty, the string to insert will be displayed)
*/
['Array', '§()', '']
,['alert', '§({@})', 'alert(String message)']
,['document']
,['window']
]
,'window' : [
['location']
,['document']
,['scrollTo', 'scrollTo({@})', 'scrollTo(Int x,Int y)']
]
,'location' : [
['href']
]
}
}
}
};
PK ,[|\ reg_syntax/robotstxt.jsnu W+A editAreaLoader.load_syntax["robotstxt"] = {
'DISPLAY_NAME' : 'Robots txt',
'COMMENT_SINGLE' : {1 : '#'},
'COMMENT_MULTI' : {},
'QUOTEMARKS' : [],
'KEYWORD_CASE_SENSITIVE' : false,
'KEYWORDS' : {
'attributes' : ['User-agent', 'Disallow', 'Allow', 'Crawl-delay'],
'values' : ['*'],
'specials' : ['*']
},
'OPERATORS' :[':'],
'DELIMITERS' :[],
'STYLES' : {
'COMMENTS': 'color: #AAAAAA;',
'QUOTESMARKS': 'color: #6381F8;',
'KEYWORDS' : {
'attributes' : 'color: #48BDDF;',
'values' : 'color: #2B60FF;',
'specials' : 'color: #FF0000;'
},
'OPERATORS' : 'color: #FF00FF;',
'DELIMITERS' : 'color: #60CA00;'
}
};
PK ,[y~ ~ reg_syntax/brainfuck.jsnu W+A editAreaLoader.load_syntax["brainfuck"] = {
'DISPLAY_NAME' : 'Brainfuck'
,'COMMENT_SINGLE' : {}
,'COMMENT_MULTI' : {}
,'QUOTEMARKS' : {}
,'KEYWORD_CASE_SENSITIVE' : true
,'OPERATORS' :[
'+', '-'
]
,'DELIMITERS' :[
'[', ']'
]
,'REGEXPS' : {
'bfispis' : {
'search' : '()(\\.)()'
,'class' : 'bfispis'
,'modifiers' : 'g'
,'execute' : 'before'
}
,'bfupis' : {
'search' : '()(\\,)()'
,'class' : 'bfupis'
,'modifiers' : 'g'
,'execute' : 'before'
}
,'bfmemory' : {
'search' : '()([<>])()'
,'class' : 'bfmemory'
,'modifiers' : 'g'
,'execute' : 'before'
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'OPERATORS' : 'color: #88AA00;'
,'DELIMITERS' : 'color: #00C138;'
,'REGEXPS' : {
'bfispis' : 'color: #EE0000;'
,'bfupis' : 'color: #4455ee;'
,'bfmemory' : 'color: #DD00DD;'
}
}
};
PK ,[=q reg_syntax/coldfusion.jsnu W+A editAreaLoader.load_syntax["coldfusion"] = {
'DISPLAY_NAME' : 'Coldfusion'
,'COMMENT_SINGLE' : {1 : '//', 2 : '#'}
,'COMMENT_MULTI' : {''}
,'COMMENT_MULTI2' : {''}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'include', 'require', 'include_once', 'require_once',
'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
'endif', 'switch', 'case', 'endswitch',
'return', 'break', 'continue'
]
,'reserved' : [
'AND', 'break', 'case', 'CONTAIN', 'CONTAINS', 'continue', 'default', 'do',
'DOES', 'else', 'EQ', 'EQUAL', 'EQUALTO', 'EQV', 'FALSE', 'for', 'GE',
'GREATER', 'GT', 'GTE', 'if', 'IMP', 'in', 'IS', 'LE', 'LESS', 'LT', 'LTE',
'MOD', 'NEQ', 'NOT', 'OR', 'return', 'switch', 'THAN', 'TO', 'TRUE', 'var',
'while', 'XOR'
]
,'functions' : [
'Abs', 'ACos', 'ArrayAppend', 'ArrayAvg', 'ArrayClear', 'ArrayDeleteAt', 'ArrayInsertAt',
'ArrayIsEmpty', 'ArrayLen', 'ArrayMax', 'ArrayMin', 'ArrayNew', 'ArrayPrepend', 'ArrayResize',
'ArraySet', 'ArraySort', 'ArraySum', 'ArraySwap', 'ArrayToList', 'Asc', 'ASin', 'Atn', 'AuthenticatedContext',
'AuthenticatedUser', 'BitAnd', 'BitMaskClear', 'BitMaskRead', 'BitMaskSet', 'BitNot', 'BitOr',
'BitSHLN', 'BitSHRN', 'BitXor', 'Ceiling', 'Chr', 'CJustify', 'Compare', 'CompareNoCase', 'Cos',
'CreateDate', 'CreateDateTime', 'CreateODBCDate', 'CreateODBCDateTime', 'CreateODBCTime',
'CreateTime', 'CreateTimeSpan', 'DateAdd', 'DateCompare', 'DateConvert', 'DateDiff',
'DateFormat', 'DatePart', 'Day', 'DayOfWeek', 'DayOfWeekAsString', 'DayOfYear', 'DaysInMonth',
'DaysInYear', 'DE', 'DecimalFormat', 'DecrementValue', 'Decrypt', 'DeleteClientVariable',
'DirectoryExists', 'DollarFormat', 'Duplicate', 'Encrypt', 'Evaluate', 'Exp', 'ExpandPath',
'FileExists', 'Find', 'FindNoCase', 'FindOneOf', 'FirstDayOfMonth', 'Fix', 'FormatBaseN',
'GetBaseTagData', 'GetBaseTagList', 'GetBaseTemplatePath', 'GetClientVariablesList',
'GetCurrentTemplatePath', 'GetDirectoryFromPath', 'GetException', 'GetFileFromPath',
'GetFunctionList', 'GetHttpTimeString', 'GetHttpRequestData', 'GetLocale', 'GetMetricData',
'GetProfileString', 'GetTempDirectory', 'GetTempFile', 'GetTemplatePath', 'GetTickCount',
'GetTimeZoneInfo', 'GetToken', 'Hash', 'Hour', 'HTMLCodeFormat', 'HTMLEditFormat', 'IIf',
'IncrementValue', 'InputBaseN', 'Insert', 'Int', 'IsArray', 'IsAuthenticated', 'IsAuthorized',
'IsBoolean', 'IsBinary', 'IsCustomFunction', 'IsDate', 'IsDebugMode', 'IsDefined', 'IsLeapYear',
'IsNumeric', 'IsNumericDate', 'IsProtected', 'IsQuery', 'IsSimpleValue', 'IsStruct', 'IsWDDX',
'JavaCast', 'JSStringFormat', 'LCase', 'Left', 'Len', 'ListAppend', 'ListChangeDelims',
'ListContains', 'ListContainsNoCase', 'ListDeleteAt', 'ListFind', 'ListFindNoCase', 'ListFirst',
'ListGetAt', 'ListInsertAt', 'ListLast', 'ListLen', 'ListPrepend', 'ListQualify', 'ListRest',
'ListSetAt', 'ListSort', 'ListToArray', 'ListValueCount', 'ListValueCountNoCase', 'LJustify',
'Log', 'Log10', 'LSCurrencyFormat', 'LSDateFormat', 'LSEuroCurrencyFormat', 'LSIsCurrency',
'LSIsDate', 'LSIsNumeric', 'LSNumberFormat', 'LSParseCurrency', 'LSParseDateTime', 'LSParseNumber',
'LSTimeFormat', 'LTrim', 'Max', 'Mid', 'Min', 'Minute', 'Month', 'MonthAsString', 'Now', 'NumberFormat',
'ParagraphFormat', 'ParameterExists', 'ParseDateTime', 'Pi', 'PreserveSingleQuotes', 'Quarter',
'QueryAddRow', 'QueryNew', 'QuerySetCell', 'QuotedValueList', 'Rand', 'Randomize', 'RandRange',
'REFind', 'REFindNoCase', 'RemoveChars', 'RepeatString', 'Replace', 'ReplaceList', 'ReplaceNoCase',
'REReplace', 'REReplaceNoCase', 'Reverse', 'Right', 'RJustify', 'Round', 'RTrim', 'Second', 'SetLocale',
'SetProfileString', 'SetVariable', 'Sgn', 'Sin', 'SpanExcluding', 'SpanIncluding', 'Sqr', 'StripCR',
'StructAppend', 'StructClear', 'StructCopy', 'StructCount', 'StructDelete', 'StructFind', 'StructFindKey',
'StructFindValue', 'StructGet', 'StructInsert', 'StructIsEmpty', 'StructKeyArray', 'StructKeyExists',
'StructKeyList', 'StructNew', 'StructSort', 'StructUpdate', 'Tan', 'TimeFormat', 'ToBase64', 'ToBinary',
'ToString', 'Trim', 'UCase', 'URLDecode', 'URLEncodedFormat', 'Val', 'ValueList', 'Week', 'WriteOutput',
'XMLFormat', 'Year', 'YesNoFormat'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '%', '!', '&&', '||'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
'doctype' : {
'search' : '()(]*>)()'
,'class' : 'doctype'
,'modifiers' : ''
,'execute' : 'before' // before or after
}
,'cftags' : {
'search' : '(<)(/cf[a-z][^ \r\n\t>]*)([^>]*>)'
,'class' : 'cftags'
,'modifiers' : 'gi'
,'execute' : 'before' // before or after
}
,'cftags2' : {
'search' : '(<)(cf[a-z][^ \r\n\t>]*)([^>]*>)'
,'class' : 'cftags2'
,'modifiers' : 'gi'
,'execute' : 'before' // before or after
}
,'tags' : {
'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
,'class' : 'tags'
,'modifiers' : 'gi'
,'execute' : 'before' // before or after
}
,'attributes' : {
'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
,'class' : 'attributes'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'reserved' : 'color: #48BDDF;'
,'functions' : 'color: #0000FF;'
,'statements' : 'color: #60CA00;'
}
,'OPERATORS' : 'color: #E775F0;'
,'DELIMITERS' : ''
,'REGEXPS' : {
'attributes': 'color: #990033;'
,'cftags': 'color: #990033;'
,'cftags2': 'color: #990033;'
,'tags': 'color: #000099;'
,'doctype': 'color: #8DCFB5;'
,'test': 'color: #00FF00;'
}
}
};
PK ,[ym reg_syntax/tsql.jsnu W+A editAreaLoader.load_syntax["tsql"] = {
'DISPLAY_NAME' : 'T-SQL'
,'COMMENT_SINGLE' : {1 : '--'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'" }
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements': [
'ADD', 'EXCEPT', 'PERCENT', 'EXEC', 'PLAN', 'ALTER', 'EXECUTE', 'PRECISION',
'PRIMARY', 'EXIT', 'PRINT', 'AS', 'FETCH', 'PROC', 'ASC',
'FILE', 'PROCEDURE', 'AUTHORIZATION', 'FILLFACTOR', 'PUBLIC', 'BACKUP', 'FOR', 'RAISERROR',
'BEGIN', 'FOREIGN', 'READ', 'FREETEXT', 'READTEXT', 'BREAK', 'FREETEXTTABLE',
'RECONFIGURE', 'BROWSE', 'FROM', 'REFERENCES', 'BULK', 'FULL', 'REPLICATION', 'BY',
'FUNCTION', 'RESTORE', 'CASCADE', 'GOTO', 'RESTRICT', 'CASE', 'GRANT', 'RETURN',
'CHECK', 'GROUP', 'REVOKE', 'CHECKPOINT', 'HAVING', 'RIGHT', 'CLOSE', 'HOLDLOCK', 'ROLLBACK',
'CLUSTERED', 'IDENTITY', 'ROWCOUNT', 'IDENTITY_INSERT', 'ROWGUIDCOL', 'COLLATE',
'IDENTITYCOL', 'RULE', 'COLUMN', 'IF', 'SAVE', 'COMMIT', 'SCHEMA', 'COMPUTE', 'INDEX',
'SELECT', 'CONSTRAINT', 'CONTAINS', 'INSERT', 'SET',
'CONTAINSTABLE', 'INTERSECT', 'SETUSER', 'CONTINUE', 'INTO', 'SHUTDOWN', 'SOME',
'CREATE', 'STATISTICS', 'KEY', 'CURRENT', 'KILL', 'TABLE',
'CURRENT_DATE', 'TEXTSIZE', 'CURRENT_TIME', 'THEN', 'LINENO',
'TO', 'LOAD', 'TOP', 'CURSOR', 'NATIONAL', 'TRAN', 'DATABASE', 'NOCHECK',
'TRANSACTION', 'DBCC', 'NONCLUSTERED', 'TRIGGER', 'DEALLOCATE', 'TRUNCATE',
'DECLARE', 'TSEQUAL', 'DEFAULT', 'UNION', 'DELETE', 'OF', 'UNIQUE',
'DENY', 'OFF', 'UPDATE', 'DESC', 'OFFSETS', 'UPDATETEXT', 'DISK', 'ON', 'USE', 'DISTINCT', 'OPEN',
'DISTRIBUTED', 'OPENDATASOURCE', 'VALUES', 'DOUBLE', 'OPENQUERY', 'VARYING', 'DROP',
'OPENROWSET', 'VIEW', 'DUMMY', 'OPENXML', 'WAITFOR', 'DUMP', 'OPTION', 'WHEN', 'ELSE', 'WHERE',
'END', 'ORDER', 'WHILE', 'ERRLVL', 'WITH', 'ESCAPE', 'OVER', 'WRITETEXT'
],
'functions': [
'COALESCE', 'SESSION_USER', 'CONVERT', 'SYSTEM_USER', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'NULLIF', 'USER',
'AVG', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP', 'MAX',
'@@DATEFIRST', '@@OPTIONS', '@@DBTS', '@@REMSERVER', '@@LANGID', '@@SERVERNAME', '@@LANGUAGE', '@@SERVICENAME', '@@LOCK_TIMEOUT',
'@@SPID', '@@MAX_CONNECTIONS', '@@TEXTSIZE', '@@MAX_PRECISION', '@@VERSION', '@@NESTLEVEL',
'@@CURSOR_ROWS', 'CURSOR_STATUS', '@@FETCH_STATUS',
'DATEADD', 'DATEDIFF', 'DATENAME', 'DATEPART', 'DAY', 'GETDATE', 'GETUTCDATE', 'MONTH', 'YEAR',
'ABS', 'DEGREES', 'RAND', 'ACOS', 'EXP', 'ROUND', 'ASIN', 'FLOOR', 'SIGN', 'ATAN', 'LOG', 'SIN', 'ATN2', 'LOG10', 'SQRT',
'CEILING', 'PI ', 'SQUARE', 'COS', 'POWER', 'TAN', 'COT', 'RADIANS',
'@@PROCID', 'COL_LENGTH', 'FULLTEXTCATALOGPROPERTY', 'COL_NAME', 'FULLTEXTSERVICEPROPERTY', 'COLUMNPROPERTY', 'INDEX_COL',
'DATABASEPROPERTY', 'INDEXKEY_PROPERTY', 'DATABASEPROPERTYEX', 'INDEXPROPERTY', 'DB_ID', 'OBJECT_ID', 'DB_NAME', 'OBJECT_NAME',
'FILE_ID', 'OBJECTPROPERTY', 'OBJECTPROPERTYEX', 'FILE_NAME', 'SQL_VARIANT_PROPERTY', 'FILEGROUP_ID', 'FILEGROUP_NAME',
'FILEGROUPPROPERTY', 'TYPEPROPERTY', 'FILEPROPERTY',
'CURRENT_USER', 'SUSER_ID', 'SUSER_SID', 'IS_MEMBER', 'SUSER_SNAME', 'IS_SRVROLEMEMBER', 'PERMISSIONS', 'SYSTEM_USER',
'SUSER_NAME', 'USER_ID', 'SESSION_USER', 'USER_NAME', 'ASCII', 'SOUNDEX', 'PATINDEX', 'SPACE', 'CHARINDEX', 'QUOTENAME',
'STR', 'DIFFERENCE', 'REPLACE', 'STUFF', 'REPLICATE', 'SUBSTRING', 'LEN', 'REVERSE', 'UNICODE', 'LOWER',
'UPPER', 'LTRIM', 'RTRIM', 'APP_NAME', 'CAST', 'CONVERT', 'COALESCE', 'COLLATIONPROPERTY', 'COLUMNS_UPDATED', 'CURRENT_TIMESTAMP',
'CURRENT_USER', 'DATALENGTH', '@@ERROR', 'FORMATMESSAGE', 'GETANSINULL', 'HOST_ID', 'HOST_NAME', 'IDENT_CURRENT', 'IDENT_INCR',
'IDENT_SEED', '@@IDENTITY', 'ISDATE', 'ISNULL', 'ISNUMERIC', 'NEWID', 'NULLIF', 'PARSENAME', '@@ROWCOUNT',
'SCOPE_IDENTITY', 'SERVERPROPERTY', 'SESSIONPROPERTY', 'SESSION_USER', 'STATS_DATE', 'SYSTEM_USER', '@@TRANCOUNT', 'USER_NAME',
'@@CONNECTIONS', '@@PACK_RECEIVED', '@@CPU_BUSY', '@@PACK_SENT', '@@TIMETICKS', '@@IDLE', '@@TOTAL_ERRORS', '@@IO_BUSY', '@@TOTAL_READ',
'@@PACKET_ERRORS', '@@TOTAL_WRITE', 'PATINDEX', 'TEXTVALID', 'TEXTPTR'
],
'reserved': [
'RIGHT', 'INNER', 'IS', 'JOIN', 'CROSS', 'LEFT', 'NULL', 'OUTER'
]
}
,'OPERATORS' :[
'+', '-', '*', '/', '%', '=', '&' ,'|', '^', '>', '<', '>=', '<=', '<>', '!=', '!<', '!>', 'ALL', 'AND', 'ANY', 'BETWEEN', 'EXISTS', 'IN', 'LIKE', 'NOT', 'OR', '~'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
// highlight all variables (@...)
'variables' : {
'search' : '()(\\@\\w+)()'
,'class' : 'variables'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #008000;'
,'QUOTESMARKS': 'color: #FF0000;'
,'KEYWORDS' : {
'reserved' : 'color: #808080;'
,'functions' : 'color: #FF00FF;'
,'statements' : 'color: #0000FF;'
}
,'OPERATORS' : 'color: #808080;'
,'DELIMITERS' : 'color: #FF8000;'
,'REGEXPS' : {
'variables' : 'color: #E0BD54;'
}
}
};
PK ,[ reg_syntax/xml.jsnu W+A /*
* last update: 2006-08-24
*/
editAreaLoader.load_syntax["xml"] = {
'DISPLAY_NAME' : 'XML'
,'COMMENT_SINGLE' : {}
,'COMMENT_MULTI' : {''}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
}
,'OPERATORS' :[
]
,'DELIMITERS' :[
]
,'REGEXPS' : {
'xml' : {
'search' : '()(<\\?[^>]*?\\?>)()'
,'class' : 'xml'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
,'cdatas' : {
'search' : '()()()'
,'class' : 'cdata'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
,'tags' : {
'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
,'class' : 'tags'
,'modifiers' : 'gi'
,'execute' : 'before' // before or after
}
,'attributes' : {
'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
,'class' : 'attributes'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
}
,'OPERATORS' : 'color: #E775F0;'
,'DELIMITERS' : ''
,'REGEXPS' : {
'attributes': 'color: #B1AC41;'
,'tags': 'color: #E62253;'
,'xml': 'color: #8DCFB5;'
,'cdata': 'color: #50B020;'
}
}
};
PK ,[b6
reg_syntax/sql.jsnu W+A editAreaLoader.load_syntax["sql"] = {
'DISPLAY_NAME' : 'SQL'
,'COMMENT_SINGLE' : {1 : '--'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'", 2: '"', 3: '`'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'statements' : [
'select', 'SELECT', 'where', 'order', 'by',
'insert', 'from', 'update', 'grant', 'left join', 'right join',
'union', 'group', 'having', 'limit', 'alter', 'LIKE','IN','CASE'
]
,'reserved' : [
'null', 'enum', 'int', 'boolean', 'add', 'varchar'
]
,'functions' : [
'ABS','ACOS','ADDDATE','ADDTIME','AES_DECRYPT','AES_ENCRYPT','ASCII','ASIN','ATAN2 ATAN','ATAN','AVG','BENCHMARK','DISTINCT','BIN','BIT_AND','BIT_COUNT','BIT_LENGTH','BIT_OR','BIT_XOR','CAST','CEILING CEIL','CHAR_LENGTH','CHAR',
'CHARACTER_LENGTH','CHARSET','COALESCE','COERCIBILITY','COLLATION','COMPRESS','CONCAT_WS','CONCAT','CONNECTION_ID','CONV','CONVERT_TZ','COS','COT','COUNT','CRC32','CURDATE','CURRENT_DATE','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER','CURTIME','DATABASE','DATE_ADD','DATE_FORMAT','DATE_SUB','DATE','DATEDIFF','DAY','DAYNAME','DAYOFMONTH',
'DAYOFWEEK','DAYOFYEAR','DECODE','DEFAULT','DEGREES','DES_DECRYPT','DES_ENCRYPT','ELT','ENCODE','ENCRYPT','EXP','EXPORT_SET','EXTRACT','FIELD','FIND_IN_SET','FLOOR','FORMAT','FOUND_ROWS','FROM_DAYS','FROM_UNIXTIME','GET_FORMAT','GET_LOCK','GREATEST','GROUP_CONCAT','HEX','HOUR','IF','IFNULL','INET_ATON','INET_NTOA',
'INSERT','INSTR','INTERVAL','IS_FREE_LOCK','IS_USED_LOCK','ISNULL','LAST_DAY','LAST_INSERT_ID','LCASE','LEAST','LEFT','LENGTH','LN','LOAD_FILE','LOCALTIME','LOCALTIMESTAMP','LOCATE','LOG10','LOG2','LOG','LOWER','LPAD','LTRIM','MAKE_SET','MAKEDATE','MAKETIME','MASTER_POS_WAIT','MAX','MD5','MICROSECOND',
'MID','MIN','MINUTE','MOD','MONTH','MONTHNAME','NOW','NULLIF','OCT','OCTET_LENGTH','OLD_PASSWORD','ORD','PASSWORD','PERIOD_ADD','PERIOD_DIFF','PI','POSITION','POW','POWER','PROCEDURE ANALYSE','QUARTER','QUOTE','RADIANS','RAND','RELEASE_LOCK','REPEAT','REPLACE','REVERSE','RIGHT','ROUND',
'RPAD','RTRIM','SEC_TO_TIME','SECOND','SESSION_USER','SHA1','SHA','SIGN','SIN','SOUNDEX','SOUNDS LIKE','SPACE','SQRT','STD','STDDEV','STR_TO_DATE','STRCMP','SUBDATE','SUBSTRING_INDEX','SUBSTRING','SUBSTR','SUBTIME','SUM','SYSDATE','SYSTEM_USER','TAN','TIME_FORMAT','TIME_TO_SEC','TIME','TIMEDIFF',
'TIMESTAMP','TO_DAYS','TRIM','TRUNCATE','UCASE','UNCOMPRESS','UNCOMPRESSED_LENGTH','UNHEX','UNIX_TIMESTAMP','UPPER','USER','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','UUID','VALUES','VARIANCE','WEEK','WEEKDAY','WEEKOFYEAR','YEAR','YEARWEEK'
]
}
,'OPERATORS' :[
'AND','&&','BETWEEN','BINARY','&','|','^','/','DIV','<=>','=','>=','>','<<','>>','IS','NULL','<=','<','-','%','!=','<>','!','||','OR','+','REGEXP','RLIKE','XOR','~','*'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
// highlight all variables (@...)
'variables' : {
'search' : '()(\\@\\w+)()'
,'class' : 'variables'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #879EFA;'
,'KEYWORDS' : {
'reserved' : 'color: #48BDDF;'
,'functions' : 'color: #0040FD;'
,'statements' : 'color: #60CA00;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #2B60FF;'
,'REGEXPS' : {
'variables' : 'color: #E0BD54;'
}
}
};
PK ,[2 reg_syntax/ruby.jsnu W+A /**
* Ruby syntax v 1.0
*
* v1.0 by Patrice De Saint Steban (2007/01/03)
*
**/
editAreaLoader.load_syntax["ruby"] = {
'DISPLAY_NAME' : 'Ruby'
,'COMMENT_SINGLE' : {1 : '#'}
,'COMMENT_MULTI' : {}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : true
,'KEYWORDS' : {
'reserved' : [
'alias', 'and', 'BEGIN', 'begin', 'break', 'case', 'class', 'def', 'defined', 'do', 'else',
'elsif', 'END', 'end', 'ensure', 'false', 'for', 'if',
'in', 'module', 'next', 'not', 'or', 'redo', 'rescue', 'retry',
'return', 'self', 'super', 'then', 'true', 'undef', 'unless', 'until', 'when', 'while', 'yield'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!', '&', ';', '?', '`', ':', ','
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
'constants' : {
'search' : '()([A-Z]\\w*)()'
,'class' : 'constants'
,'modifiers' : 'g'
,'execute' : 'before'
}
,'variables' : {
'search' : '()([\$\@\%]+\\w+)()'
,'class' : 'variables'
,'modifiers' : 'g'
,'execute' : 'before'
}
,'numbers' : {
'search' : '()(-?[0-9]+)()'
,'class' : 'numbers'
,'modifiers' : 'g'
,'execute' : 'before'
}
,'symbols' : {
'search' : '()(:\\w+)()'
,'class' : 'symbols'
,'modifiers' : 'g'
,'execute' : 'before'
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #660066;'
,'KEYWORDS' : {
'reserved' : 'font-weight: bold; color: #0000FF;'
}
,'OPERATORS' : 'color: #993300;'
,'DELIMITERS' : 'color: #993300;'
,'REGEXPS' : {
'variables' : 'color: #E0BD54;'
,'numbers' : 'color: green;'
,'constants' : 'color: #00AA00;'
,'symbols' : 'color: #879EFA;'
}
}
};
PK ,[jf>@ reg_syntax/perl.jsnu W+A /***************************************************************************
* (c) 2008 - file created by Christoph Pinkel, MTC Infomedia OHG.
*
* You may choose any license of the current release or any future release
* of editarea to use, modify and/or redistribute this file.
*
* This language specification file supports for syntax checking on
* a large subset of Perl 5.x.
* The basic common syntax of Perl is fully supported, but as for
* the highlighting of built-in operations, it's mainly designed
* to support for hightlighting Perl code in a Safe environment (compartment)
* as used by CoMaNet for evaluation of administrative scripts. This Safe
* compartment basically allows for all of Opcode's :default operations,
* but little others. See http://perldoc.perl.org/Opcode.html to learn
* more.
***************************************************************************/
editAreaLoader.load_syntax["perl"] = {
'DISPLAY_NAME' : 'Perl',
'COMMENT_SINGLE' : {1 : '#'},
'QUOTEMARKS' : {1: "'", 2: '"'},
'KEYWORD_CASE_SENSITIVE' : true,
'KEYWORDS' :
{
'core' :
[ "if", "else", "elsif", "while", "for", "each", "foreach",
"next", "last", "goto", "exists", "delete", "undef",
"my", "our", "local", "use", "require", "package", "keys", "values",
"sub", "bless", "ref", "return" ],
'functions' :
[
//from :base_core
"int", "hex", "oct", "abs", "substr", "vec", "study", "pos",
"length", "index", "rindex", "ord", "chr", "ucfirst", "lcfirst",
"uc", "lc", "quotemeta", "chop", "chomp", "split", "list", "splice",
"push", "pop", "shift", "unshift", "reverse", "and", "or", "dor",
"xor", "warn", "die", "prototype",
//from :base_mem
"concat", "repeat", "join", "range",
//none from :base_loop, as we'll see them as basic statements...
//from :base_orig
"sprintf", "crypt", "tie", "untie", "select", "localtime", "gmtime",
//others
"print", "open", "close"
]
},
'OPERATORS' :
[ '+', '-', '/', '*', '=', '<', '>', '!', '||', '.', '&&',
' eq ', ' ne ', '=~' ],
'DELIMITERS' :
[ '(', ')', '[', ']', '{', '}' ],
'REGEXPS' :
{
'packagedecl' : { 'search': '(package )([^ \r\n\t#;]*)()',
'class' : 'scopingnames',
'modifiers' : 'g', 'execute' : 'before' },
'subdecl' : { 'search': '(sub )([^ \r\n\t#]*)()',
'class' : 'scopingnames',
'modifiers' : 'g', 'execute' : 'before' },
'scalars' : { 'search': '()(\\\$[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
'arrays' : { 'search': '()(@[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
'hashs' : { 'search': '()(%[a-zA-Z0-9_:]*)()',
'class' : 'vars',
'modifiers' : 'g', 'execute' : 'after' },
},
'STYLES' :
{
'COMMENTS': 'color: #AAAAAA;',
'QUOTESMARKS': 'color: #DC0000;',
'KEYWORDS' :
{
'core' : 'color: #8aca00;',
'functions' : 'color: #2B60FF;'
},
'OPERATORS' : 'color: #8aca00;',
'DELIMITERS' : 'color: #0038E1;',
'REGEXPS':
{
'scopingnames' : 'color: #ff0000;',
'vars' : 'color: #00aaaa;',
}
} //'STYLES'
};
PK ,[ reg_syntax/cpp.jsnu W+A editAreaLoader.load_syntax["cpp"] = {
'DISPLAY_NAME' : 'CPP'
,'COMMENT_SINGLE' : {1 : '//'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : true
,'KEYWORDS' : {
'constants' : [
'NULL', 'false', 'std', 'stdin', 'stdout', 'stderr',
'true'
]
,'types' : [
'FILE', 'auto', 'char', 'class', 'const', 'double',
'extern', 'float', 'friend', 'inline', 'int',
'iterator', 'long', 'map', 'operator', 'queue',
'register', 'short', 'signed', 'size_t', 'stack',
'static', 'string', 'struct', 'time_t', 'typedef',
'union', 'unsigned', 'vector', 'void', 'volatile'
]
,'statements' : [
'catch', 'do', 'else', 'enum', 'for', 'goto', 'if',
'sizeof', 'switch', 'this', 'throw', 'try', 'while'
]
,'keywords' : [
'break', 'case', 'continue', 'default', 'delete',
'namespace', 'new', 'private', 'protected', 'public',
'return', 'using'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
'precompiler' : {
'search' : '()(#[^\r\n]*)()'
,'class' : 'precompiler'
,'modifiers' : 'g'
,'execute' : 'before'
}
/* ,'precompilerstring' : {
'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
,'class' : 'precompilerstring'
,'modifiers' : 'g'
,'execute' : 'before'
}*/
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'constants' : 'color: #EE0000;'
,'types' : 'color: #0000EE;'
,'statements' : 'color: #60CA00;'
,'keywords' : 'color: #48BDDF;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #0038E1;'
,'REGEXPS' : {
'precompiler' : 'color: #009900;'
,'precompilerstring' : 'color: #994400;'
}
}
};
PK ,[YI I reg_syntax/c.jsnu W+A editAreaLoader.load_syntax["c"] = {
'DISPLAY_NAME' : 'C'
,'COMMENT_SINGLE' : {1 : '//'}
,'COMMENT_MULTI' : {'/*' : '*/'}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : true
,'KEYWORDS' : {
'constants' : [
'NULL', 'false', 'stdin', 'stdout', 'stderr', 'true'
]
,'types' : [
'FILE', 'auto', 'char', 'const', 'double',
'extern', 'float', 'inline', 'int', 'long', 'register',
'short', 'signed', 'size_t', 'static', 'struct',
'time_t', 'typedef', 'union', 'unsigned', 'void',
'volatile'
]
,'statements' : [
'do', 'else', 'enum', 'for', 'goto', 'if', 'sizeof',
'switch', 'while'
]
,'keywords' : [
'break', 'case', 'continue', 'default', 'delete',
'return'
]
}
,'OPERATORS' :[
'+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
]
,'DELIMITERS' :[
'(', ')', '[', ']', '{', '}'
]
,'REGEXPS' : {
'precompiler' : {
'search' : '()(#[^\r\n]*)()'
,'class' : 'precompiler'
,'modifiers' : 'g'
,'execute' : 'before'
}
/* ,'precompilerstring' : {
'search' : '(#[\t ]*include[\t ]*)([^\r\n]*)([^\r\n]*[\r\n])'
,'class' : 'precompilerstring'
,'modifiers' : 'g'
,'execute' : 'before'
}*/
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'constants' : 'color: #EE0000;'
,'types' : 'color: #0000EE;'
,'statements' : 'color: #60CA00;'
,'keywords' : 'color: #48BDDF;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #0038E1;'
,'REGEXPS' : {
'precompiler' : 'color: #009900;'
,'precompilerstring' : 'color: #994400;'
}
}
};
PK ,[f-TD D reg_syntax/html.jsnu W+A /*
* last update: 2006-08-24
*/
editAreaLoader.load_syntax["html"] = {
'DISPLAY_NAME' : 'HTML'
,'COMMENT_SINGLE' : {}
,'COMMENT_MULTI' : {''}
,'QUOTEMARKS' : {1: "'", 2: '"'}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
}
,'OPERATORS' :[
]
,'DELIMITERS' :[
]
,'REGEXPS' : {
'doctype' : {
'search' : '()(]*>)()'
,'class' : 'doctype'
,'modifiers' : ''
,'execute' : 'before' // before or after
}
,'tags' : {
'search' : '(<)(/?[a-z][^ \r\n\t>]*)([^>]*>)'
,'class' : 'tags'
,'modifiers' : 'gi'
,'execute' : 'before' // before or after
}
,'attributes' : {
'search' : '( |\n|\r|\t)([^ \r\n\t=]+)(=)'
,'class' : 'attributes'
,'modifiers' : 'g'
,'execute' : 'before' // before or after
}
}
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
}
,'OPERATORS' : 'color: #E775F0;'
,'DELIMITERS' : ''
,'REGEXPS' : {
'attributes': 'color: #B1AC41;'
,'tags': 'color: #E62253;'
,'doctype': 'color: #8DCFB5;'
,'test': 'color: #00FF00;'
}
}
};
PK ,[8w reg_syntax/pas.jsnu W+A editAreaLoader.load_syntax["pas"] = {
'DISPLAY_NAME' : 'Pascal'
,'COMMENT_SINGLE' : {}
,'COMMENT_MULTI' : {'{' : '}', '(*':'*)'}
,'QUOTEMARKS' : {1: '"', 2: "'"}
,'KEYWORD_CASE_SENSITIVE' : false
,'KEYWORDS' : {
'constants' : [
'Blink', 'Black', 'Blue', 'Green', 'Cyan', 'Red',
'Magenta', 'Brown', 'LightGray', 'DarkGray',
'LightBlue', 'LightGreen', 'LightCyan', 'LightRed',
'LightMagenta', 'Yellow', 'White', 'MaxSIntValue',
'MaxUIntValue', 'maxint', 'maxLongint', 'maxSmallint',
'erroraddr', 'errorcode', 'LineEnding'
]
,'keywords' : [
'in', 'or', 'div', 'mod', 'and', 'shl', 'shr', 'xor',
'pow', 'is', 'not','Absolute', 'And_then', 'Array',
'Begin', 'Bindable', 'Case', 'Const', 'Do', 'Downto',
'Else', 'End', 'Export', 'File', 'For', 'Function',
'Goto', 'If', 'Import', 'Implementation', 'Inherited',
'Inline', 'Interface', 'Label', 'Module', 'Nil',
'Object', 'Of', 'Only', 'Operator', 'Or_else',
'Otherwise', 'Packed', 'Procedure', 'Program',
'Protected', 'Qualified', 'Record', 'Repeat',
'Restricted', 'Set', 'Then', 'To', 'Type', 'Unit',
'Until', 'Uses', 'Value', 'Var', 'Virtual', 'While',
'With'
]
,'functions' : [
'Abs', 'Addr', 'Append', 'Arctan', 'Assert', 'Assign',
'Assigned', 'BinStr', 'Blockread', 'Blockwrite',
'Break', 'Chdir', 'Chr', 'Close', 'CompareByte',
'CompareChar', 'CompareDWord', 'CompareWord', 'Concat',
'Continue', 'Copy', 'Cos', 'CSeg', 'Dec', 'Delete',
'Dispose', 'DSeg', 'Eof', 'Eoln', 'Erase', 'Exclude',
'Exit', 'Exp', 'Filepos', 'Filesize', 'FillByte',
'Fillchar', 'FillDWord', 'Fillword', 'Flush', 'Frac',
'Freemem', 'Getdir', 'Getmem', 'GetMemoryManager',
'Halt', 'HexStr', 'Hi', 'High', 'Inc', 'Include',
'IndexByte', 'IndexChar', 'IndexDWord', 'IndexWord',
'Insert', 'IsMemoryManagerSet', 'Int', 'IOresult',
'Length', 'Ln', 'Lo', 'LongJmp', 'Low', 'Lowercase',
'Mark', 'Maxavail', 'Memavail', 'Mkdir', 'Move',
'MoveChar0', 'New', 'Odd', 'OctStr', 'Ofs', 'Ord',
'Paramcount', 'Paramstr', 'Pi', 'Pos', 'Power', 'Pred',
'Ptr', 'Random', 'Randomize', 'Read', 'Readln',
'Real2Double', 'Release', 'Rename', 'Reset', 'Rewrite',
'Rmdir', 'Round', 'Runerror', 'Seek', 'SeekEof',
'SeekEoln', 'Seg', 'SetMemoryManager', 'SetJmp',
'SetLength', 'SetString', 'SetTextBuf', 'Sin', 'SizeOf',
'Sptr', 'Sqr', 'Sqrt', 'SSeg', 'Str', 'StringOfChar',
'Succ', 'Swap', 'Trunc', 'Truncate', 'Upcase', 'Val',
'Write', 'WriteLn'
]
,'types' : [
'Integer', 'Shortint', 'SmallInt', 'Longint',
'Longword', 'Int64', 'Byte', 'Word', 'Cardinal',
'QWord', 'Boolean', 'ByteBool', 'LongBool', 'Char',
'Real', 'Single', 'Double', 'Extended', 'Comp',
'String', 'ShortString', 'AnsiString', 'PChar'
]
}
,'OPERATORS' :[
'@', '*', '+', '-', '/', '^', ':=', '<', '=', '>'
]
,'DELIMITERS' :[
'(', ')', '[', ']'
]
,'STYLES' : {
'COMMENTS': 'color: #AAAAAA;'
,'QUOTESMARKS': 'color: #6381F8;'
,'KEYWORDS' : {
'specials' : 'color: #EE0000;'
,'constants' : 'color: #654321;'
,'keywords' : 'color: #48BDDF;'
,'functions' : 'color: #449922;'
,'types' : 'color: #2B60FF;'
}
,'OPERATORS' : 'color: #FF00FF;'
,'DELIMITERS' : 'color: #60CA00;'
}
};
PK ,[Hl; edit_area_functions.jsnu W+A //replace tabulation by the good number of white spaces
EditArea.prototype.replace_tab= function(text){
return text.replace(/((\n?)([^\t\n]*)\t)/gi, editArea.smartTab); // slower than simple replace...
};
// call by the replace_tab function
EditArea.prototype.smartTab= function(){
val=" ";
return EditArea.prototype.smartTab.arguments[2] + EditArea.prototype.smartTab.arguments[3] + val.substr(0, editArea.tab_nb_char - (EditArea.prototype.smartTab.arguments[3].length)%editArea.tab_nb_char);
};
EditArea.prototype.show_waiting_screen= function(){
width = this.editor_area.offsetWidth;
height = this.editor_area.offsetHeight;
if( !(this.isIE && this.isIE<6) )
{
width -= 2;
height -= 2;
}
this.processing_screen.style.display= "block";
this.processing_screen.style.width = width+"px";
this.processing_screen.style.height = height+"px";
this.waiting_screen_displayed = true;
};
EditArea.prototype.hide_waiting_screen= function(){
this.processing_screen.style.display="none";
this.waiting_screen_displayed= false;
};
EditArea.prototype.add_style= function(styles){
if(styles.length>0){
newcss = document.createElement("style");
newcss.type="text/css";
newcss.media="all";
if(newcss.styleSheet){ // IE
newcss.styleSheet.cssText = styles;
} else { // W3C
newcss.appendChild(document.createTextNode(styles));
}
document.getElementsByTagName("head")[0].appendChild(newcss);
}
};
EditArea.prototype.set_font= function(family, size){
var t=this, a=this.textarea, s=this.settings, elem_font, i, elem;
// list all elements concerned by font changes
var elems= ["textarea", "content_highlight", "cursor_pos", "end_bracket", "selection_field", "selection_field_text", "line_number"];
if(family && family!="")
s["font_family"]= family;
if(size && size>0)
s["font_size"] = size;
if( t.isOpera && t.isOpera < 9.6 ) // opera<9.6 can't manage non monospace font
s['font_family']="monospace";
// update the select tag
if( elem_font = _$("area_font_size") )
{
for( i = 0; i < elem_font.length; i++ )
{
if( elem_font.options[i].value && elem_font.options[i].value == s["font_size"] )
elem_font.options[i].selected=true;
}
}
/*
* somethimes firefox has rendering mistake with non-monospace font for text width in textarea vs in div for changing font size (eg: verdana change between 11pt to 12pt)
* => looks like a browser internal random bug as text width can change while content_highlight is updated
* we'll check if the font-size produce the same text width inside textarea and div and if not, we'll increment the font-size
*
* This is an ugly fix
*/
if( t.isFirefox )
{
var nbTry = 3;
do {
var div1 = document.createElement( 'div' ), text1 = document.createElement( 'textarea' );
var styles = {
width: '40px',
overflow: 'scroll',
zIndex: 50,
visibility: 'hidden',
fontFamily: s["font_family"],
fontSize: s["font_size"]+"pt",
lineHeight: t.lineHeight+"px",
padding: '0',
margin: '0',
border: 'none',
whiteSpace: 'nowrap'
};
var diff, changed = false;
for( i in styles )
{
div1.style[ i ] = styles[i];
text1.style[ i ] = styles[i];
}
// no wrap for this text
text1.wrap = 'off';
text1.setAttribute('wrap', 'off');
t.container.appendChild( div1 );
t.container.appendChild( text1 );
// try to make FF to bug
div1.innerHTML = text1.value = 'azertyuiopqsdfghjklm';
div1.innerHTML = text1.value = text1.value+'wxcvbn^p*ù$!:;,,';
diff = text1.scrollWidth - div1.scrollWidth;
// firefox return here a diff of 1 px between equals scrollWidth (can't explain)
if( Math.abs( diff ) >= 2 )
{
s["font_size"]++;
changed = true;
}
t.container.removeChild( div1 );
t.container.removeChild( text1 );
nbTry--;
}while( changed && nbTry > 0 );
}
// calc line height
elem = t.test_font_size;
elem.style.fontFamily = ""+s["font_family"];
elem.style.fontSize = s["font_size"]+"pt";
elem.innerHTML = "0";
t.lineHeight = elem.offsetHeight;
// update font for all concerned elements
for( i=0; i tags
t.add_style("pre{font-family:"+s["font_family"]+"}");
// old opera and IE>=8 doesn't update font changes to the textarea
if( ( t.isOpera && t.isOpera < 9.6 ) || t.isIE >= 8 )
{
var parNod = a.parentNode, nxtSib = a.nextSibling, start= a.selectionStart, end= a.selectionEnd;
parNod.removeChild(a);
parNod.insertBefore(a, nxtSib);
t.area_select(start, end-start);
}
// force update of selection field
this.focus();
this.update_size();
this.check_line_selection();
};
EditArea.prototype.change_font_size= function(){
var size=_$("area_font_size").value;
if(size>0)
this.set_font("", size);
};
EditArea.prototype.open_inline_popup= function(popup_id){
this.close_all_inline_popup();
var popup= _$(popup_id);
var editor= _$("editor");
// search matching icon
for(var i=0; i lines.length)
start= this.textarea.value.length;
else{
for(var i=0; i0){
//alert(miss_top);
zone.scrollTop= zone.scrollTop + miss_top;
}else if( zone.scrollTop > cursor_pos_top){
// when erase all the content -> does'nt scroll back to the top
//alert("else: "+cursor_pos_top);
zone.scrollTop= cursor_pos_top;
}
// manage left scroll
//var cursor_pos_left= parseInt(_$("cursor_pos").style.left.replace("px",""));
var cursor_pos_left= _$("cursor_pos").cursor_left;
var max_width_visible= zone.clientWidth + zone.scrollLeft;
var miss_left= cursor_pos_left + 10 - max_width_visible;
if(miss_left>0){
zone.scrollLeft= zone.scrollLeft + miss_left + 50;
}else if( zone.scrollLeft > cursor_pos_left){
zone.scrollLeft= cursor_pos_left ;
}else if( zone.scrollLeft == 45){
// show the line numbers if textarea align to it's left
zone.scrollLeft=0;
}
};
EditArea.prototype.check_undo= function(only_once){
if(!editAreas[this.id])
return false;
if(this.textareaFocused && editAreas[this.id]["displayed"]==true){
var text=this.textarea.value;
if(this.previous.length<=1)
this.switchClassSticky(_$("undo"), 'editAreaButtonDisabled', true);
if(!this.previous[this.previous.length-1] || this.previous[this.previous.length-1]["text"] != text){
this.previous.push({"text": text, "selStart": this.textarea.selectionStart, "selEnd": this.textarea.selectionEnd});
if(this.previous.length > this.settings["max_undo"]+1)
this.previous.shift();
}
if(this.previous.length >= 2)
this.switchClassSticky(_$("undo"), 'editAreaButtonNormal', false);
}
if(!only_once)
setTimeout("editArea.check_undo()", 3000);
};
EditArea.prototype.undo= function(){
//alert("undo"+this.previous.length);
if(this.previous.length > 0)
{
this.getIESelection();
// var pos_cursor=this.textarea.selectionStart;
this.next.push( { "text": this.textarea.value, "selStart": this.textarea.selectionStart, "selEnd": this.textarea.selectionEnd } );
var prev= this.previous.pop();
if( prev["text"] == this.textarea.value && this.previous.length > 0 )
prev =this.previous.pop();
this.textarea.value = prev["text"];
this.last_undo = prev["text"];
this.area_select(prev["selStart"], prev["selEnd"]-prev["selStart"]);
this.switchClassSticky(_$("redo"), 'editAreaButtonNormal', false);
this.resync_highlight(true);
//alert("undo"+this.previous.length);
this.check_file_changes();
}
};
EditArea.prototype.redo= function(){
if(this.next.length > 0)
{
/*this.getIESelection();*/
//var pos_cursor=this.textarea.selectionStart;
var next= this.next.pop();
this.previous.push(next);
this.textarea.value= next["text"];
this.last_undo= next["text"];
this.area_select(next["selStart"], next["selEnd"]-next["selStart"]);
this.switchClassSticky(_$("undo"), 'editAreaButtonNormal', false);
this.resync_highlight(true);
this.check_file_changes();
}
if( this.next.length == 0)
this.switchClassSticky(_$("redo"), 'editAreaButtonDisabled', true);
};
EditArea.prototype.check_redo= function(){
if(editArea.next.length == 0 || editArea.textarea.value!=editArea.last_undo){
editArea.next= []; // undo the ability to use "redo" button
editArea.switchClassSticky(_$("redo"), 'editAreaButtonDisabled', true);
}
else
{
this.switchClassSticky(_$("redo"), 'editAreaButtonNormal', false);
}
};
// functions that manage icons roll over, disabled, etc...
EditArea.prototype.switchClass = function(element, class_name, lock_state) {
var lockChanged = false;
if (typeof(lock_state) != "undefined" && element != null) {
element.classLock = lock_state;
lockChanged = true;
}
if (element != null && (lockChanged || !element.classLock)) {
element.oldClassName = element.className;
element.className = class_name;
}
};
EditArea.prototype.restoreAndSwitchClass = function(element, class_name) {
if (element != null && !element.classLock) {
this.restoreClass(element);
this.switchClass(element, class_name);
}
};
EditArea.prototype.restoreClass = function(element) {
if (element != null && element.oldClassName && !element.classLock) {
element.className = element.oldClassName;
element.oldClassName = null;
}
};
EditArea.prototype.setClassLock = function(element, lock_state) {
if (element != null)
element.classLock = lock_state;
};
EditArea.prototype.switchClassSticky = function(element, class_name, lock_state) {
var lockChanged = false;
if (typeof(lock_state) != "undefined" && element != null) {
element.classLock = lock_state;
lockChanged = true;
}
if (element != null && (lockChanged || !element.classLock)) {
element.className = class_name;
element.oldClassName = class_name;
}
};
//make the "page up" and "page down" buttons works correctly
EditArea.prototype.scroll_page= function(params){
var dir= params["dir"], shift_pressed= params["shift"];
var lines= this.textarea.value.split("\n");
var new_pos=0, length=0, char_left=0, line_nb=0, curLine=0;
var toScrollAmount = _$("result").clientHeight -30;
var nbLineToScroll = 0, diff= 0;
if(dir=="up"){
nbLineToScroll = Math.ceil( toScrollAmount / this.lineHeight );
// fix number of line to scroll
for( i = this.last_selection["line_start"]; i - diff > this.last_selection["line_start"] - nbLineToScroll ; i-- )
{
if( elem = _$('line_'+ i) )
{
diff += Math.floor( ( elem.offsetHeight - 1 ) / this.lineHeight );
}
}
nbLineToScroll -= diff;
if(this.last_selection["selec_direction"]=="up"){
for(line_nb=0; line_nb< Math.min(this.last_selection["line_start"]-nbLineToScroll, lines.length); line_nb++){
new_pos+= lines[line_nb].length + 1;
}
char_left=Math.min(lines[Math.min(lines.length-1, line_nb)].length, this.last_selection["curr_pos"]-1);
if(shift_pressed)
length=this.last_selection["selectionEnd"]-new_pos-char_left;
this.area_select(new_pos+char_left, length);
view="top";
}else{
view="bottom";
for(line_nb=0; line_nb< Math.min(this.last_selection["line_start"]+this.last_selection["line_nb"]-1-nbLineToScroll, lines.length); line_nb++){
new_pos+= lines[line_nb].length + 1;
}
char_left=Math.min(lines[Math.min(lines.length-1, line_nb)].length, this.last_selection["curr_pos"]-1);
if(shift_pressed){
//length=this.last_selection["selectionEnd"]-new_pos-char_left;
start= Math.min(this.last_selection["selectionStart"], new_pos+char_left);
length= Math.max(new_pos+char_left, this.last_selection["selectionStart"] )- start ;
if(new_pos+char_left < this.last_selection["selectionStart"])
view="top";
}else
start=new_pos+char_left;
this.area_select(start, length);
}
}
else
{
var nbLineToScroll= Math.floor( toScrollAmount / this.lineHeight );
// fix number of line to scroll
for( i = this.last_selection["line_start"]; i + diff < this.last_selection["line_start"] + nbLineToScroll ; i++ )
{
if( elem = _$('line_'+ i) )
{
diff += Math.floor( ( elem.offsetHeight - 1 ) / this.lineHeight );
}
}
nbLineToScroll -= diff;
if(this.last_selection["selec_direction"]=="down"){
view="bottom";
for(line_nb=0; line_nb< Math.min(this.last_selection["line_start"]+this.last_selection["line_nb"]-2+nbLineToScroll, lines.length); line_nb++){
if(line_nb==this.last_selection["line_start"]-1)
char_left= this.last_selection["selectionStart"] -new_pos;
new_pos+= lines[line_nb].length + 1;
}
if(shift_pressed){
length=Math.abs(this.last_selection["selectionStart"]-new_pos);
length+=Math.min(lines[Math.min(lines.length-1, line_nb)].length, this.last_selection["curr_pos"]);
//length+=Math.min(lines[Math.min(lines.length-1, line_nb)].length, char_left);
this.area_select(Math.min(this.last_selection["selectionStart"], new_pos), length);
}else{
this.area_select(new_pos+char_left, 0);
}
}else{
view="top";
for(line_nb=0; line_nb< Math.min(this.last_selection["line_start"]+nbLineToScroll-1, lines.length, lines.length); line_nb++){
if(line_nb==this.last_selection["line_start"]-1)
char_left= this.last_selection["selectionStart"] -new_pos;
new_pos+= lines[line_nb].length + 1;
}
if(shift_pressed){
length=Math.abs(this.last_selection["selectionEnd"]-new_pos-char_left);
length+=Math.min(lines[Math.min(lines.length-1, line_nb)].length, this.last_selection["curr_pos"])- char_left-1;
//length+=Math.min(lines[Math.min(lines.length-1, line_nb)].length, char_left);
this.area_select(Math.min(this.last_selection["selectionEnd"], new_pos+char_left), length);
if(new_pos+char_left > this.last_selection["selectionEnd"])
view="bottom";
}else{
this.area_select(new_pos+char_left, 0);
}
}
}
//console.log( new_pos, char_left, length, nbLineToScroll, toScrollAmount, _$("result").clientHeigh );
this.check_line_selection();
this.scroll_to_view(view);
};
EditArea.prototype.start_resize= function(e){
parent.editAreaLoader.resize["id"] = editArea.id;
parent.editAreaLoader.resize["start_x"] = (e)? e.pageX : event.x + document.body.scrollLeft;
parent.editAreaLoader.resize["start_y"] = (e)? e.pageY : event.y + document.body.scrollTop;
if(editArea.isIE)
{
editArea.textarea.focus();
editArea.getIESelection();
}
parent.editAreaLoader.resize["selectionStart"] = editArea.textarea.selectionStart;
parent.editAreaLoader.resize["selectionEnd"] = editArea.textarea.selectionEnd;
parent.editAreaLoader.start_resize_area();
};
EditArea.prototype.toggle_full_screen= function(to){
var t=this, p=parent, a=t.textarea, html, frame, selStart, selEnd, old, icon;
if(typeof(to)=="undefined")
to= !t.fullscreen['isFull'];
old = t.fullscreen['isFull'];
t.fullscreen['isFull']= to;
icon = _$("fullscreen");
selStart = t.textarea.selectionStart;
selEnd = t.textarea.selectionEnd;
html = p.document.getElementsByTagName("html")[0];
frame = p.document.getElementById("frame_"+t.id);
if(to && to!=old)
{ // toogle on fullscreen
t.fullscreen['old_overflow'] = p.get_css_property(html, "overflow");
t.fullscreen['old_height'] = p.get_css_property(html, "height");
t.fullscreen['old_width'] = p.get_css_property(html, "width");
t.fullscreen['old_scrollTop'] = html.scrollTop;
t.fullscreen['old_scrollLeft'] = html.scrollLeft;
t.fullscreen['old_zIndex'] = p.get_css_property(frame, "z-index");
if(t.isOpera){
html.style.height = "100%";
html.style.width = "100%";
}
html.style.overflow = "hidden";
html.scrollTop = 0;
html.scrollLeft = 0;
frame.style.position = "absolute";
frame.style.width = html.clientWidth+"px";
frame.style.height = html.clientHeight+"px";
frame.style.display = "block";
frame.style.zIndex = "999999";
frame.style.top = "0px";
frame.style.left = "0px";
// if the iframe was in a div with position absolute, the top and left are the one of the div,
// so I fix it by seeing at witch position the iframe start and correcting it
frame.style.top = "-"+p.calculeOffsetTop(frame)+"px";
frame.style.left = "-"+p.calculeOffsetLeft(frame)+"px";
// parent.editAreaLoader.execCommand(t.id, "update_size();");
// var body=parent.document.getElementsByTagName("body")[0];
// body.appendChild(frame);
t.switchClassSticky(icon, 'editAreaButtonSelected', false);
t.fullscreen['allow_resize']= t.resize_allowed;
t.allow_resize(false);
//t.area_select(selStart, selEnd-selStart);
// opera can't manage to do a direct size update
if(t.isFirefox){
p.editAreaLoader.execCommand(t.id, "update_size();");
t.area_select(selStart, selEnd-selStart);
t.scroll_to_view();
t.focus();
}else{
setTimeout("parent.editAreaLoader.execCommand('"+ t.id +"', 'update_size();');editArea.focus();", 10);
}
}
else if(to!=old)
{ // toogle off fullscreen
frame.style.position="static";
frame.style.zIndex= t.fullscreen['old_zIndex'];
if(t.isOpera)
{
html.style.height = "auto";
html.style.width = "auto";
html.style.overflow = "auto";
}
else if(t.isIE && p!=top)
{ // IE doesn't manage html overflow in frames like in normal page...
html.style.overflow = "auto";
}
else
{
html.style.overflow = t.fullscreen['old_overflow'];
}
html.scrollTop = t.fullscreen['old_scrollTop'];
html.scrollLeft = t.fullscreen['old_scrollLeft'];
p.editAreaLoader.hide(t.id);
p.editAreaLoader.show(t.id);
t.switchClassSticky(icon, 'editAreaButtonNormal', false);
if(t.fullscreen['allow_resize'])
t.allow_resize(t.fullscreen['allow_resize']);
if(t.isFirefox){
t.area_select(selStart, selEnd-selStart);
setTimeout("editArea.scroll_to_view();", 10);
}
//p.editAreaLoader.remove_event(p.window, "resize", editArea.update_size);
}
};
EditArea.prototype.allow_resize= function(allow){
var resize= _$("resize_area");
if(allow){
resize.style.visibility="visible";
parent.editAreaLoader.add_event(resize, "mouseup", editArea.start_resize);
}else{
resize.style.visibility="hidden";
parent.editAreaLoader.remove_event(resize, "mouseup", editArea.start_resize);
}
this.resize_allowed= allow;
};
EditArea.prototype.change_syntax= function(new_syntax, is_waiting){
// alert("cahnge to "+new_syntax);
// the syntax is the same
if(new_syntax==this.settings['syntax'])
return true;
// check that the syntax is one allowed
var founded= false;
for(var i=0; i";
elem.innerHTML= "*"+ this.files[id]['title'] + close +"";
_$('tab_browsing_list').appendChild(elem);
var elem= document.createElement('text');
this.update_size();
}
// open file callback (for plugin)
if(id!="")
this.execCommand('file_open', this.files[id]);
this.switch_to_file(id, true);
return true;
}
else
return false;
};
// close the given file
EditArea.prototype.close_file= function(id){
if(this.files[id])
{
this.save_file(id);
// close file callback
if(this.execCommand('file_close', this.files[id])!==false)
{
// remove the tab in the toolbar
var li= _$(this.files[id]['html_id']);
li.parentNode.removeChild(li);
// select a new file
if(id== this.curr_file)
{
var next_file= "";
var is_next= false;
for(var i in this.files)
{
if( is_next )
{
next_file = i;
break;
}
else if( i == id )
is_next = true;
else
next_file = i;
}
// display the next file
this.switch_to_file(next_file);
}
// clear datas
delete (this.files[id]);
this.update_size();
}
}
};
// backup current file datas
EditArea.prototype.save_file= function(id){
var t= this, save, a_links, a_selects, save_butt, img, i;
if(t.files[id])
{
var save= t.files[id];
save['last_selection'] = t.last_selection;
save['last_text_to_highlight'] = t.last_text_to_highlight;
save['last_hightlighted_text'] = t.last_hightlighted_text;
save['previous'] = t.previous;
save['next'] = t.next;
save['last_undo'] = t.last_undo;
save['smooth_selection'] = t.smooth_selection;
save['do_highlight'] = t.do_highlight;
save['syntax'] = t.settings['syntax'];
save['text'] = t.textarea.value;
save['scroll_top'] = t.result.scrollTop;
save['scroll_left'] = t.result.scrollLeft;
save['selection_start'] = t.last_selection["selectionStart"];
save['selection_end'] = t.last_selection["selectionEnd"];
save['font_size'] = t.settings["font_size"];
save['font_family'] = t.settings["font_family"];
save['word_wrap'] = t.settings["word_wrap"];
save['toolbar'] = {'links':{}, 'selects': {}};
// save toolbar buttons state for fileSpecific buttons
a_links= _$("toolbar_1").getElementsByTagName("a");
for( i=0; i