corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 define("ace/mode/yaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2 "use strict";
3  
4 var oop = require("../lib/oop");
5 var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6  
7 var YamlHighlightRules = function() {
8 this.$rules = {
9 "start" : [
10 {
11 token : "comment",
12 regex : "#.*$"
13 }, {
14 token : "list.markup",
15 regex : /^(?:-{3}|\.{3})\s*(?=#|$)/
16 }, {
17 token : "list.markup",
18 regex : /^\s*[\-?](?:$|\s)/
19 }, {
20 token: "constant",
21 regex: "!![\\w//]+"
22 }, {
23 token: "constant.language",
24 regex: "[&\\*][a-zA-Z0-9-_]+"
25 }, {
26 token: ["meta.tag", "keyword"],
27 regex: /^(\s*\w.*?)(:(?:\s+|$))/
28 },{
29 token: ["meta.tag", "keyword"],
30 regex: /(\w+?)(\s*:(?:\s+|$))/
31 }, {
32 token : "keyword.operator",
33 regex : "<<\\w*:\\w*"
34 }, {
35 token : "keyword.operator",
36 regex : "-\\s*(?=[{])"
37 }, {
38 token : "string", // single line
39 regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
40 }, {
41 token : "string", // multi line string start
42 regex : '[|>][-+\\d\\s]*$',
43 next : "qqstring"
44 }, {
45 token : "string", // single quoted string
46 regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
47 }, {
48 token : "constant.numeric", // float
49 regex : /(\b|[+\-\.])[\d_]+(?:(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)/
50 }, {
51 token : "constant.numeric", // other number
52 regex : /[+\-]?\.inf\b|NaN\b|0x[\dA-Fa-f_]+|0b[10_]+/
53 }, {
54 token : "constant.language.boolean",
55 regex : "\\b(?:true|false|TRUE|FALSE|True|False|yes|no)\\b"
56 }, {
57 token : "paren.lparen",
58 regex : "[[({]"
59 }, {
60 token : "paren.rparen",
61 regex : "[\\])}]"
62 }
63 ],
64 "qqstring" : [
65 {
66 token : "string",
67 regex : '(?=(?:(?:\\\\.)|(?:[^:]))*?:)',
68 next : "start"
69 }, {
70 token : "string",
71 regex : '.+'
72 }
73 ]};
74  
75 };
76  
77 oop.inherits(YamlHighlightRules, TextHighlightRules);
78  
79 exports.YamlHighlightRules = YamlHighlightRules;
80 });
81  
82 define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
83 "use strict";
84  
85 var Range = require("../range").Range;
86  
87 var MatchingBraceOutdent = function() {};
88  
89 (function() {
90  
91 this.checkOutdent = function(line, input) {
92 if (! /^\s+$/.test(line))
93 return false;
94  
95 return /^\s*\}/.test(input);
96 };
97  
98 this.autoOutdent = function(doc, row) {
99 var line = doc.getLine(row);
100 var match = line.match(/^(\s*\})/);
101  
102 if (!match) return 0;
103  
104 var column = match[1].length;
105 var openBracePos = doc.findMatchingBracket({row: row, column: column});
106  
107 if (!openBracePos || openBracePos.row == row) return 0;
108  
109 var indent = this.$getIndent(doc.getLine(openBracePos.row));
110 doc.replace(new Range(row, 0, row, column-1), indent);
111 };
112  
113 this.$getIndent = function(line) {
114 return line.match(/^\s*/)[0];
115 };
116  
117 }).call(MatchingBraceOutdent.prototype);
118  
119 exports.MatchingBraceOutdent = MatchingBraceOutdent;
120 });
121  
122 define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
123 "use strict";
124  
125 var oop = require("../../lib/oop");
126 var BaseFoldMode = require("./fold_mode").FoldMode;
127 var Range = require("../../range").Range;
128  
129 var FoldMode = exports.FoldMode = function() {};
130 oop.inherits(FoldMode, BaseFoldMode);
131  
132 (function() {
133  
134 this.getFoldWidgetRange = function(session, foldStyle, row) {
135 var range = this.indentationBlock(session, row);
136 if (range)
137 return range;
138  
139 var re = /\S/;
140 var line = session.getLine(row);
141 var startLevel = line.search(re);
142 if (startLevel == -1 || line[startLevel] != "#")
143 return;
144  
145 var startColumn = line.length;
146 var maxRow = session.getLength();
147 var startRow = row;
148 var endRow = row;
149  
150 while (++row < maxRow) {
151 line = session.getLine(row);
152 var level = line.search(re);
153  
154 if (level == -1)
155 continue;
156  
157 if (line[level] != "#")
158 break;
159  
160 endRow = row;
161 }
162  
163 if (endRow > startRow) {
164 var endColumn = session.getLine(endRow).length;
165 return new Range(startRow, startColumn, endRow, endColumn);
166 }
167 };
168 this.getFoldWidget = function(session, foldStyle, row) {
169 var line = session.getLine(row);
170 var indent = line.search(/\S/);
171 var next = session.getLine(row + 1);
172 var prev = session.getLine(row - 1);
173 var prevIndent = prev.search(/\S/);
174 var nextIndent = next.search(/\S/);
175  
176 if (indent == -1) {
177 session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
178 return "";
179 }
180 if (prevIndent == -1) {
181 if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
182 session.foldWidgets[row - 1] = "";
183 session.foldWidgets[row + 1] = "";
184 return "start";
185 }
186 } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
187 if (session.getLine(row - 2).search(/\S/) == -1) {
188 session.foldWidgets[row - 1] = "start";
189 session.foldWidgets[row + 1] = "";
190 return "";
191 }
192 }
193  
194 if (prevIndent!= -1 && prevIndent < indent)
195 session.foldWidgets[row - 1] = "start";
196 else
197 session.foldWidgets[row - 1] = "";
198  
199 if (indent < nextIndent)
200 return "start";
201 else
202 return "";
203 };
204  
205 }).call(FoldMode.prototype);
206  
207 });
208  
209 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/coffee"], function(require, exports, module) {
210 "use strict";
211  
212 var oop = require("../lib/oop");
213 var TextMode = require("./text").Mode;
214 var YamlHighlightRules = require("./yaml_highlight_rules").YamlHighlightRules;
215 var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
216 var FoldMode = require("./folding/coffee").FoldMode;
217  
218 var Mode = function() {
219 this.HighlightRules = YamlHighlightRules;
220 this.$outdent = new MatchingBraceOutdent();
221 this.foldingRules = new FoldMode();
222 this.$behaviour = this.$defaultBehaviour;
223 };
224 oop.inherits(Mode, TextMode);
225  
226 (function() {
227  
228 this.lineCommentStart = "#";
229  
230 this.getNextLineIndent = function(state, line, tab) {
231 var indent = this.$getIndent(line);
232  
233 if (state == "start") {
234 var match = line.match(/^.*[\{\(\[]\s*$/);
235 if (match) {
236 indent += tab;
237 }
238 }
239  
240 return indent;
241 };
242  
243 this.checkOutdent = function(state, line, input) {
244 return this.$outdent.checkOutdent(line, input);
245 };
246  
247 this.autoOutdent = function(state, doc, row) {
248 this.$outdent.autoOutdent(doc, row);
249 };
250  
251  
252 this.$id = "ace/mode/yaml";
253 }).call(Mode.prototype);
254  
255 exports.Mode = Mode;
256  
257 });