vendor: 14,729 bytes, lines 1-395
1ace.define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict"; 2var oop = require("../lib/oop"); 3var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; 4var YamlHighlightRules = function () { 5 this.$rules = { 6 "start": [ 7 { 8 token: "comment", 9 regex: "#.*$" 10 }, { 11 token: "list.markup", 12 regex: /^(?:-{3}|\.{3})\s*(?=#|$)/ 13 }, { 14 token: "list.markup", 15 regex: /^\s*[\-?](?:$|\s)/ 16 }, { 17 token: "constant", 18 regex: "!![\\w//]+" 19 }, { 20 token: "constant.language", 21 regex: "[&\\*][a-zA-Z0-9-_]+" 22 }, { 23 token: ["meta.tag", "keyword"], 24 regex: /^(\s*\w[^\s:]*?)(:(?=\s|$))/ 25 }, { 26 token: ["meta.tag", "keyword"], 27 regex: /(\w[^\s:]*?)(\s*:(?=\s|$))/ 28 }, { 29 token: "keyword.operator", 30 regex: "<<\\w*:\\w*" 31 }, { 32 token: "keyword.operator", 33 regex: "-\\s*(?=[{])" 34 }, { 35 token: "string", // single line 36 regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' 37 }, { 38 token: "string", // multi line string start 39 regex: /[|>][-+\d]*(?:$|\s+(?:$|#))/, 40 onMatch: function (val, state, stack, line) { 41 line = line.replace(/ #.*/, ""); 42 var indent = /^ *((:\s*)?-(\s*[^|>])?)?/.exec(line)[0] 43 .replace(/\S\s*$/, "").length; 44 var indentationIndicator = parseInt(/\d+[\s+-]*$/.exec(line)); 45 if (indentationIndicator) { 46 indent += indentationIndicator - 1; 47 this.next = "mlString"; 48 } 49 else { 50 this.next = "mlStringPre"; 51 } 52 if (!stack.length) { 53 stack.push(this.next); 54 stack.push(indent); 55 } 56 else { 57 stack[0] = this.next; 58 stack[1] = indent; 59 } 60 return this.token; 61 }, 62 next: "mlString" 63 }, { 64 token: "string", // single quoted string 65 regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']" 66 }, { 67 token: "constant.numeric", // float 68 regex: /(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)(?=[^\d-\w]|$)$/ 69 }, { 70 token: "constant.numeric", // other number 71 regex: /[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/ 72 }, { 73 token: "constant.language.boolean", 74 regex: "\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\b" 75 }, { 76 token: "paren.lparen", 77 regex: "[[({]" 78 }, { 79 token: "paren.rparen", 80 regex: "[\\])}]" 81 }, { 82 token: "text", 83 regex: /[^\s,:\[\]\{\}]+/ 84 } 85 ], 86 "mlStringPre": [ 87 { 88 token: "indent", 89 regex: /^ *$/ 90 }, { 91 token: "indent", 92 regex: /^ */, 93 onMatch: function (val, state, stack) { 94 var curIndent = stack[1]; 95 if (curIndent >= val.length) { 96 this.next = "start"; 97 stack.shift(); 98 stack.shift(); 99 } 100 else { 101 stack[1] = val.length - 1; 102 this.next = stack[0] = "mlString"; 103 } 104 return this.token; 105 }, 106 next: "mlString" 107 }, { 108 defaultToken: "string" 109 } 110 ], 111 "mlString": [ 112 { 113 token: "indent", 114 regex: /^ *$/ 115 }, { 116 token: "indent", 117 regex: /^ */, 118 onMatch: function (val, state, stack) { 119 var curIndent = stack[1]; 120 if (curIndent >= val.length) { 121 this.next = "start"; 122 stack.splice(0); 123 } 124 else { 125 this.next = "mlString"; 126 } 127 return this.token; 128 }, 129 next: "mlString" 130 }, { 131 token: "string", 132 regex: '.+' 133 } 134 ] 135 }; 136 this.normalizeRules(); 137}; 138oop.inherits(YamlHighlightRules, TextHighlightRules); 139exports.YamlHighlightRules = YamlHighlightRules; 140 141}); 142 143ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module){"use strict"; 144var Range = require("../range").Range; 145var MatchingBraceOutdent = function () { }; 146(function () { 147 this.checkOutdent = function (line, input) { 148 if (!/^\s+$/.test(line)) 149 return false; 150 return /^\s*\}/.test(input); 151 }; 152 this.autoOutdent = function (doc, row) { 153 var line = doc.getLine(row); 154 var match = line.match(/^(\s*\})/); 155 if (!match) 156 return 0; 157 var column = match[1].length; 158 var openBracePos = doc.findMatchingBracket({ row: row, column: column }); 159 if (!openBracePos || openBracePos.row == row) 160 return 0; 161 var indent = this.$getIndent(doc.getLine(openBracePos.row)); 162 doc.replace(new Range(row, 0, row, column - 1), indent); 163 }; 164 this.$getIndent = function (line) { 165 return line.match(/^\s*/)[0]; 166 }; 167}).call(MatchingBraceOutdent.prototype); 168exports.MatchingBraceOutdent = MatchingBraceOutdent; 169 170}); 171 172ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module){"use strict"; 173var oop = require("../../lib/oop"); 174var BaseFoldMode = require("./fold_mode").FoldMode; 175var Range = require("../../range").Range; 176var FoldMode = exports.FoldMode = function () { }; 177oop.inherits(FoldMode, BaseFoldMode); 178(function () { 179 this.commentBlock = function (session, row) { 180 var re = /\S/; 181 var line = session.getLine(row); 182 var startLevel = line.search(re); 183 if (startLevel == -1 || line[startLevel] != "#") 184 return; 185 var startColumn = line.length; 186 var maxRow = session.getLength(); 187 var startRow = row; 188 var endRow = row; 189 while (++row < maxRow) { 190 line = session.getLine(row); 191 var level = line.search(re); 192 if (level == -1) 193 continue; 194 if (line[level] != "#") 195 break; 196 endRow = row; 197 } 198 if (endRow > startRow) { 199 var endColumn = session.getLine(endRow).length; 200 return new Range(startRow, startColumn, endRow, endColumn); 201 } 202 }; 203 this.getFoldWidgetRange = function (session, foldStyle, row) { 204 var range = this.indentationBlock(session, row); 205 if (range) 206 return range; 207 range = this.commentBlock(session, row); 208 if (range) 209 return range; 210 }; 211 this.getFoldWidget = function (session, foldStyle, row) { 212 var line = session.getLine(row); 213 var indent = line.search(/\S/); 214 var next = session.getLine(row + 1); 215 var prev = session.getLine(row - 1); 216 var prevIndent = prev.search(/\S/); 217 var nextIndent = next.search(/\S/); 218 if (indent == -1) { 219 session.foldWidgets[row - 1] = prevIndent != -1 && prevIndent < nextIndent ? "start" : ""; 220 return ""; 221 } 222 if (prevIndent == -1) { 223 if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") { 224 session.foldWidgets[row - 1] = ""; 225 session.foldWidgets[row + 1] = ""; 226 return "start"; 227 } 228 } 229 else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") { 230 if (session.getLine(row - 2).search(/\S/) == -1) { 231 session.foldWidgets[row - 1] = "start"; 232 session.foldWidgets[row + 1] = ""; 233 return ""; 234 } 235 } 236 if (prevIndent != -1 && prevIndent < indent) 237 session.foldWidgets[row - 1] = "start"; 238 else 239 session.foldWidgets[row - 1] = ""; 240 if (indent < nextIndent) 241 return "start"; 242 else 243 return ""; 244 }; 245}).call(FoldMode.prototype); 246 247}); 248 249ace.define("ace/mode/folding/yaml",["require","exports","module","ace/lib/oop","ace/mode/folding/coffee","ace/range"], function(require, exports, module){"use strict"; 250var oop = require("../../lib/oop"); 251var CoffeeFoldMode = require("./coffee").FoldMode; 252var Range = require("../../range").Range; 253var FoldMode = exports.FoldMode = function () { }; 254oop.inherits(FoldMode, CoffeeFoldMode); 255(function () { 256 this.getFoldWidgetRange = function (session, foldStyle, row) { 257 var re = /\S/; 258 var line = session.getLine(row); 259 var startLevel = line.search(re); 260 var isCommentFold = line[startLevel] === "#"; 261 var isDashFold = line[startLevel] === "-"; 262 if (startLevel == -1) 263 return; 264 var startColumn = line.length; 265 var maxRow = session.getLength(); 266 var startRow = row; 267 var endRow = row; 268 if (isCommentFold) { 269 var range = this.commentBlock(session, row); 270 if (range) 271 return range; 272 } 273 else if (isDashFold) { 274 var range = this.indentationBlock(session, row); 275 if (range) 276 return range; 277 } 278 else { 279 while (++row < maxRow) { 280 var line = session.getLine(row); 281 var level = line.search(re); 282 if (level == -1) 283 continue; 284 if (level <= startLevel && line[startLevel] !== '-') { 285 var token = session.getTokenAt(row, 0); 286 if (!token || token.type !== "string") 287 break; 288 } 289 endRow = row; 290 } 291 } 292 if (endRow > startRow) { 293 var endColumn = session.getLine(endRow).length; 294 return new Range(startRow, startColumn, endRow, endColumn); 295 } 296 }; 297 this.getFoldWidget = function (session, foldStyle, row) { 298 var line = session.getLine(row); 299 var indent = line.search(/\S/); 300 var next = session.getLine(row + 1); 301 var prev = session.getLine(row - 1); 302 var prevIndent = prev.search(/\S/); 303 var nextIndent = next.search(/\S/); 304 var lineStartsWithDash = line[indent] === '-'; 305 if (indent == -1) { 306 session.foldWidgets[row - 1] = prevIndent != -1 && prevIndent < nextIndent ? "start" : ""; 307 return ""; 308 } 309 if (prevIndent == -1) { 310 if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") { 311 session.foldWidgets[row - 1] = ""; 312 session.foldWidgets[row + 1] = ""; 313 return "start"; 314 } 315 } 316 else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") { 317 if (session.getLine(row - 2).search(/\S/) == -1) { 318 session.foldWidgets[row - 1] = "start"; 319 session.foldWidgets[row + 1] = ""; 320 return ""; 321 } 322 } 323 if (prevIndent != -1 && prevIndent < indent) { 324 session.foldWidgets[row - 1] = "start"; 325 } 326 else if (prevIndent != -1 && (prevIndent == indent && lineStartsWithDash)) { 327 session.foldWidgets[row - 1] = "start"; 328 } 329 else { 330 session.foldWidgets[row - 1] = ""; 331 } 332 if (indent < nextIndent) 333 return "start"; 334 else 335 return ""; 336 }; 337}).call(FoldMode.prototype); 338 339}); 340 341ace.define("ace/mode/yaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/yaml_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/yaml","ace/worker/worker_client"], function(require, exports, module){"use strict"; 342var oop = require("../lib/oop"); 343var TextMode = require("./text").Mode; 344var YamlHighlightRules = require("./yaml_highlight_rules").YamlHighlightRules; 345var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; 346var FoldMode = require("./folding/yaml").FoldMode; 347var WorkerClient = require("../worker/worker_client").WorkerClient; 348var Mode = function () { 349 this.HighlightRules = YamlHighlightRules; 350 this.$outdent = new MatchingBraceOutdent(); 351 this.foldingRules = new FoldMode(); 352 this.$behaviour = this.$defaultBehaviour; 353}; 354oop.inherits(Mode, TextMode); 355(function () { 356 this.lineCommentStart = ["#"]; 357 this.getNextLineIndent = function (state, line, tab) { 358 var indent = this.$getIndent(line); 359 if (state == "start") { 360 var match = line.match(/^.*[\{\(\[]\s*$/); 361 if (match) { 362 indent += tab; 363 } 364 } 365 return indent; 366 }; 367 this.checkOutdent = function (state, line, input) { 368 return this.$outdent.checkOutdent(line, input); 369 }; 370 this.autoOutdent = function (state, doc, row) { 371 this.$outdent.autoOutdent(doc, row); 372 }; 373 this.createWorker = function (session) { 374 var worker = new WorkerClient(["ace"], "ace/mode/yaml_worker", "YamlWorker"); 375 worker.attachToDocument(session.getDocument()); 376 worker.on("annotate", function (results) { 377 session.setAnnotations(results.data); 378 }); 379 worker.on("terminate", function () { 380 session.clearAnnotations(); 381 }); 382 return worker; 383 }; 384 this.$id = "ace/mode/yaml"; 385}).call(Mode.prototype); 386exports.Mode = Mode; 387 388}); (function() { 389 ace.require(["ace/mode/yaml"], function(m) { 390 if (typeof module == "object" && typeof exports == "object" && module) { 391 module.exports = m; 392 } 393 }); 394 })(); 395
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.