aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LocalFilesEditor/editarea/reg_syntax.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LocalFilesEditor/editarea/reg_syntax.js')
-rw-r--r--plugins/LocalFilesEditor/editarea/reg_syntax.js166
1 files changed, 0 insertions, 166 deletions
diff --git a/plugins/LocalFilesEditor/editarea/reg_syntax.js b/plugins/LocalFilesEditor/editarea/reg_syntax.js
deleted file mode 100644
index 11518cc13..000000000
--- a/plugins/LocalFilesEditor/editarea/reg_syntax.js
+++ /dev/null
@@ -1,166 +0,0 @@
- EditAreaLoader.prototype.get_regexp= function(text_array){
- //res="( |=|\\n|\\r|\\[|\\(|ยต|)(";
- res="(\\b)(";
- for(i=0; i<text_array.length; i++){
- if(i>0)
- res+="|";
- //res+="("+ tab_text[i] +")";
- //res+=tab_text[i].replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\{|\})/g, "\\$1");
- res+=this.get_escaped_regexp(text_array[i]);
- }
- //res+=")( |\\.|:|\\{|\\(|\\)|\\[|\\]|\'|\"|\\r|\\n|\\t|$)";
- res+=")(\\b)";
- reg= new RegExp(res);
-
- return res;
- };
-
-
- EditAreaLoader.prototype.get_escaped_regexp= function(str){
- return str.toString().replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\}|\{|\$|\^|\|)/g, "\\$1");
- };
-
- EditAreaLoader.prototype.init_syntax_regexp= function(){
- var lang_style= {};
- for(var lang in this.load_syntax){
- if(!this.syntax[lang]) // init the regexp if not already initialized
- {
- this.syntax[lang]= {};
- this.syntax[lang]["keywords_reg_exp"]= {};
- this.keywords_reg_exp_nb=0;
-
- if(this.load_syntax[lang]['KEYWORDS']){
- param="g";
- if(this.load_syntax[lang]['KEYWORD_CASE_SENSITIVE']===false)
- param+="i";
- for(var i in this.load_syntax[lang]['KEYWORDS']){
- if(typeof(this.load_syntax[lang]['KEYWORDS'][i])=="function") continue;
- this.syntax[lang]["keywords_reg_exp"][i]= new RegExp(this.get_regexp( this.load_syntax[lang]['KEYWORDS'][i] ), param);
- this.keywords_reg_exp_nb++;
- }
- }
-
- if(this.load_syntax[lang]['OPERATORS']){
- var str="";
- var nb=0;
- for(var i in this.load_syntax[lang]['OPERATORS']){
- if(typeof(this.load_syntax[lang]['OPERATORS'][i])=="function") continue;
- if(nb>0)
- str+="|";
- str+=this.get_escaped_regexp(this.load_syntax[lang]['OPERATORS'][i]);
- nb++;
- }
- if(str.length>0)
- this.syntax[lang]["operators_reg_exp"]= new RegExp("("+str+")","g");
- }
-
- if(this.load_syntax[lang]['DELIMITERS']){
- var str="";
- var nb=0;
- for(var i in this.load_syntax[lang]['DELIMITERS']){
- if(typeof(this.load_syntax[lang]['DELIMITERS'][i])=="function") continue;
- if(nb>0)
- str+="|";
- str+=this.get_escaped_regexp(this.load_syntax[lang]['DELIMITERS'][i]);
- nb++;
- }
- if(str.length>0)
- this.syntax[lang]["delimiters_reg_exp"]= new RegExp("("+str+")","g");
- }
-
-
- // /(("(\\"|[^"])*"?)|('(\\'|[^'])*'?)|(//(.|\r|\t)*\n)|(/\*(.|\n|\r|\t)*\*/)|(<!--(.|\n|\r|\t)*-->))/gi
- var syntax_trace=[];
-
- // /("(?:[^"\\]*(\\\\)*(\\"?)?)*("|$))/g
-
- this.syntax[lang]["quotes"]={};
- var quote_tab= [];
- if(this.load_syntax[lang]['QUOTEMARKS']){
- for(var i in this.load_syntax[lang]['QUOTEMARKS']){
- if(typeof(this.load_syntax[lang]['QUOTEMARKS'][i])=="function") continue;
- var x=this.get_escaped_regexp(this.load_syntax[lang]['QUOTEMARKS'][i]);
- this.syntax[lang]["quotes"][x]=x;
- //quote_tab[quote_tab.length]="("+x+"(?:\\\\"+x+"|[^"+x+"])*("+x+"|$))";
- //previous working : quote_tab[quote_tab.length]="("+x+"(?:[^"+x+"\\\\]*(\\\\\\\\)*(\\\\"+x+"?)?)*("+x+"|$))";
- quote_tab[quote_tab.length]="("+ x +"(\\\\.|[^"+ x +"])*(?:"+ x +"|$))";
-
- syntax_trace.push(x);
- }
- }
-
- this.syntax[lang]["comments"]={};
- if(this.load_syntax[lang]['COMMENT_SINGLE']){
- for(var i in this.load_syntax[lang]['COMMENT_SINGLE']){
- if(typeof(this.load_syntax[lang]['COMMENT_SINGLE'][i])=="function") continue;
- var x=this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_SINGLE'][i]);
- quote_tab[quote_tab.length]="("+x+"(.|\\r|\\t)*(\\n|$))";
- syntax_trace.push(x);
- this.syntax[lang]["comments"][x]="\n";
- }
- }
- // (/\*(.|[\r\n])*?\*/)
- if(this.load_syntax[lang]['COMMENT_MULTI']){
- for(var i in this.load_syntax[lang]['COMMENT_MULTI']){
- if(typeof(this.load_syntax[lang]['COMMENT_MULTI'][i])=="function") continue;
- var start=this.get_escaped_regexp(i);
- var end=this.get_escaped_regexp(this.load_syntax[lang]['COMMENT_MULTI'][i]);
- quote_tab[quote_tab.length]="("+start+"(.|\\n|\\r)*?("+end+"|$))";
- syntax_trace.push(start);
- syntax_trace.push(end);
- this.syntax[lang]["comments"][i]=this.load_syntax[lang]['COMMENT_MULTI'][i];
- }
- }
- if(quote_tab.length>0)
- this.syntax[lang]["comment_or_quote_reg_exp"]= new RegExp("("+quote_tab.join("|")+")","gi");
-
- if(syntax_trace.length>0) // /((.|\n)*?)(\\*("|'|\/\*|\*\/|\/\/|$))/g
- this.syntax[lang]["syntax_trace_regexp"]= new RegExp("((.|\n)*?)(\\\\*("+ syntax_trace.join("|") +"|$))", "gmi");
-
- if(this.load_syntax[lang]['SCRIPT_DELIMITERS']){
- this.syntax[lang]["script_delimiters"]= {};
- for(var i in this.load_syntax[lang]['SCRIPT_DELIMITERS']){
- if(typeof(this.load_syntax[lang]['SCRIPT_DELIMITERS'][i])=="function") continue;
- this.syntax[lang]["script_delimiters"][i]= this.load_syntax[lang]['SCRIPT_DELIMITERS'];
- }
- }
-
- this.syntax[lang]["custom_regexp"]= {};
- if(this.load_syntax[lang]['REGEXPS']){
- for(var i in this.load_syntax[lang]['REGEXPS']){
- if(typeof(this.load_syntax[lang]['REGEXPS'][i])=="function") continue;
- var val= this.load_syntax[lang]['REGEXPS'][i];
- if(!this.syntax[lang]["custom_regexp"][val['execute']])
- this.syntax[lang]["custom_regexp"][val['execute']]= {};
- this.syntax[lang]["custom_regexp"][val['execute']][i]={'regexp' : new RegExp(val['search'], val['modifiers'])
- , 'class' : val['class']};
- }
- }
-
- if(this.load_syntax[lang]['STYLES']){
- lang_style[lang]= {};
- for(var i in this.load_syntax[lang]['STYLES']){
- if(typeof(this.load_syntax[lang]['STYLES'][i])=="function") continue;
- if(typeof(this.load_syntax[lang]['STYLES'][i]) != "string"){
- for(var j in this.load_syntax[lang]['STYLES'][i]){
- lang_style[lang][j]= this.load_syntax[lang]['STYLES'][i][j];
- }
- }else{
- lang_style[lang][i]= this.load_syntax[lang]['STYLES'][i];
- }
- }
- }
- // build style string
- var style="";
- for(var i in lang_style[lang]){
- if(lang_style[lang][i].length>0){
- style+= "."+ lang +" ."+ i.toLowerCase() +" span{"+lang_style[lang][i]+"}\n";
- style+= "."+ lang +" ."+ i.toLowerCase() +"{"+lang_style[lang][i]+"}\n";
- }
- }
- this.syntax[lang]["styles"]=style;
- }
- }
- };
-
- editAreaLoader.waiting_loading["reg_syntax.js"]= "loaded";