UNPKG

5.44 kBJavaScriptView Raw
1ace.define("ace/mode/c9search_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),lang=require("../lib/lang"),TextHighlightRules=require("./text_highlight_rules").TextHighlightRules;var C9SearchHighlightRules=function(){this.$rules={start:[{tokenNames:["c9searchresults.constant.numeric","c9searchresults.text","c9searchresults.text","c9searchresults.keyword"],regex:/(^\s+[0-9]+)(:)(\d*\s?)([^\r\n]+)/,onMatch:function(val,state,stack){var values=this.splitRegex.exec(val),types=this.tokenNames,tokens=[{type:types[0],value:values[1]},{type:types[1],value:values[2]}];values[3]&&(" "==values[3]?tokens[1]={type:types[1],value:values[2]+" "}:tokens.push({type:types[1],value:values[3]}));var m,regex=stack[1],str=values[4],last=0;if(regex&&regex.exec)for(regex.lastIndex=0;m=regex.exec(str);){var skipped=str.substring(last,m.index);if(last=regex.lastIndex,skipped&&tokens.push({type:types[2],value:skipped}),m[0])tokens.push({type:types[3],value:m[0]});else if(!skipped)break}return last<str.length&&tokens.push({type:types[2],value:str.substr(last)}),tokens}},{regex:"^Searching for [^\\r\\n]*$",onMatch:function(val,state,stack){var options,search,parts=val.split("");if(parts.length<3)return"text";var i=0,tokens=[{value:parts[i++]+"'",type:"text"},{value:search=parts[i++],type:"text"},{value:"'"+parts[i++],type:"text"}];for(" in"!==parts[2]&&tokens.push({value:"'"+parts[i++]+"'",type:"text"},{value:parts[i++],type:"text"}),tokens.push({value:" "+parts[i++]+" ",type:"text"}),parts[i+1]?(options=parts[i+1],tokens.push({value:"("+parts[i+1]+")",type:"text"}),i+=1):i-=1;i++<parts.length;)parts[i]&&tokens.push({value:parts[i],type:"text"});search&&(/regex/.test(options)||(search=lang.escapeRegExp(search)),/whole/.test(options)&&(search="\\b"+search+"\\b"));var regex=search&&function(source,flag){try{return new RegExp(source,flag)}catch(e){}}("("+search+")",/ sensitive/.test(options)?"g":"ig");return regex&&(stack[0]=state,stack[1]=regex),tokens}},{regex:"^(?=Found \\d+ matches)",token:"text",next:"numbers"},{token:"string",regex:"^\\S:?[^:]+",next:"numbers"}],numbers:[{regex:"\\d+",token:"constant.numeric"},{regex:"$",token:"text",next:"start"}]},this.normalizeRules()};oop.inherits(C9SearchHighlightRules,TextHighlightRules),exports.C9SearchHighlightRules=C9SearchHighlightRules})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(require,exports,module){"use strict";var Range=require("../range").Range,MatchingBraceOutdent=function(){};(function(){this.checkOutdent=function(line,input){return!!/^\s+$/.test(line)&&/^\s*\}/.test(input)},this.autoOutdent=function(doc,row){var match=doc.getLine(row).match(/^(\s*\})/);if(!match)return 0;var column=match[1].length,openBracePos=doc.findMatchingBracket({row,column});if(!openBracePos||openBracePos.row==row)return 0;var indent=this.$getIndent(doc.getLine(openBracePos.row));doc.replace(new Range(row,0,row,column-1),indent)},this.$getIndent=function(line){return line.match(/^\s*/)[0]}}).call(MatchingBraceOutdent.prototype),exports.MatchingBraceOutdent=MatchingBraceOutdent})),ace.define("ace/mode/folding/c9search",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(require,exports,module){"use strict";var oop=require("../../lib/oop"),Range=require("../../range").Range,BaseFoldMode=require("./fold_mode").FoldMode,FoldMode=exports.FoldMode=function(){};oop.inherits(FoldMode,BaseFoldMode),function(){this.foldingStartMarker=/^(\S.*:|Searching for.*)$/,this.foldingStopMarker=/^(\s+|Found.*)$/,this.getFoldWidgetRange=function(session,foldStyle,row){var lines=session.doc.getAllLines(row),line=lines[row],level1=/^(Found.*|Searching for.*)$/,re=level1.test(line)?level1:/^(\S.*:|\s*)$/,startRow=row,endRow=row;if(this.foldingStartMarker.test(line)){for(var i=row+1,l=session.getLength();i<l&&!re.test(lines[i]);i++);endRow=i}else if(this.foldingStopMarker.test(line)){for(i=row-1;i>=0&&(line=lines[i],!re.test(line));i--);startRow=i}if(startRow!=endRow){var col=line.length;return re===level1&&(col=line.search(/\(Found[^)]+\)$|$/)),new Range(startRow,col,endRow,0)}}}.call(FoldMode.prototype)})),ace.define("ace/mode/c9search",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c9search_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/c9search"],(function(require,exports,module){"use strict";var oop=require("../lib/oop"),TextMode=require("./text").Mode,C9SearchHighlightRules=require("./c9search_highlight_rules").C9SearchHighlightRules,MatchingBraceOutdent=require("./matching_brace_outdent").MatchingBraceOutdent,C9StyleFoldMode=require("./folding/c9search").FoldMode,Mode=function(){this.HighlightRules=C9SearchHighlightRules,this.$outdent=new MatchingBraceOutdent,this.foldingRules=new C9StyleFoldMode};oop.inherits(Mode,TextMode),function(){this.getNextLineIndent=function(state,line,tab){return this.$getIndent(line)},this.checkOutdent=function(state,line,input){return this.$outdent.checkOutdent(line,input)},this.autoOutdent=function(state,doc,row){this.$outdent.autoOutdent(doc,row)},this.$id="ace/mode/c9search"}.call(Mode.prototype),exports.Mode=Mode})),ace.require(["ace/mode/c9search"],(function(m){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=m)}));
\No newline at end of file