X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e8fe7696e2fc6334ef96495ea6d9d71354c53b6d..65048f64d018c105be3921ca4bcb9f5183e2382e:/project/static/js/reg_syntax.js diff --git a/project/static/js/reg_syntax.js b/project/static/js/reg_syntax.js deleted file mode 100755 index 11518cc1..00000000 --- a/project/static/js/reg_syntax.js +++ /dev/null @@ -1,166 +0,0 @@ - EditAreaLoader.prototype.get_regexp= function(text_array){ - //res="( |=|\\n|\\r|\\[|\\(|µ|)("; - res="(\\b)("; - for(i=0; i0) - 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)*\*/)|())/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";