corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
2 "use strict";
3  
4 var oop = require("../../lib/oop");
5 var BaseFoldMode = require("./fold_mode").FoldMode;
6 var Range = require("../../range").Range;
7  
8 var FoldMode = exports.FoldMode = function() {};
9 oop.inherits(FoldMode, BaseFoldMode);
10  
11 (function() {
12  
13 this.getFoldWidgetRange = function(session, foldStyle, row) {
14 var range = this.indentationBlock(session, row);
15 if (range)
16 return range;
17  
18 var re = /\S/;
19 var line = session.getLine(row);
20 var startLevel = line.search(re);
21 if (startLevel == -1 || line[startLevel] != "#")
22 return;
23  
24 var startColumn = line.length;
25 var maxRow = session.getLength();
26 var startRow = row;
27 var endRow = row;
28  
29 while (++row < maxRow) {
30 line = session.getLine(row);
31 var level = line.search(re);
32  
33 if (level == -1)
34 continue;
35  
36 if (line[level] != "#")
37 break;
38  
39 endRow = row;
40 }
41  
42 if (endRow > startRow) {
43 var endColumn = session.getLine(endRow).length;
44 return new Range(startRow, startColumn, endRow, endColumn);
45 }
46 };
47 this.getFoldWidget = function(session, foldStyle, row) {
48 var line = session.getLine(row);
49 var indent = line.search(/\S/);
50 var next = session.getLine(row + 1);
51 var prev = session.getLine(row - 1);
52 var prevIndent = prev.search(/\S/);
53 var nextIndent = next.search(/\S/);
54  
55 if (indent == -1) {
56 session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
57 return "";
58 }
59 if (prevIndent == -1) {
60 if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
61 session.foldWidgets[row - 1] = "";
62 session.foldWidgets[row + 1] = "";
63 return "start";
64 }
65 } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
66 if (session.getLine(row - 2).search(/\S/) == -1) {
67 session.foldWidgets[row - 1] = "start";
68 session.foldWidgets[row + 1] = "";
69 return "";
70 }
71 }
72  
73 if (prevIndent!= -1 && prevIndent < indent)
74 session.foldWidgets[row - 1] = "start";
75 else
76 session.foldWidgets[row - 1] = "";
77  
78 if (indent < nextIndent)
79 return "start";
80 else
81 return "";
82 };
83  
84 }).call(FoldMode.prototype);
85  
86 });
87  
88 ace.define("ace/mode/space_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
89 "use strict";
90  
91 var oop = require("../lib/oop");
92 var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
93  
94 var SpaceHighlightRules = function() {
95 this.$rules = {
96 "start" : [
97 {
98 token : "empty_line",
99 regex : / */,
100 next : "key"
101 },
102 {
103 token : "empty_line",
104 regex : /$/,
105 next : "key"
106 }
107 ],
108 "key" : [
109 {
110 token : "variable",
111 regex : /\S+/
112 },
113 {
114 token : "empty_line",
115 regex : /$/,
116 next : "start"
117 },{
118 token : "keyword.operator",
119 regex : / /,
120 next : "value"
121 }
122 ],
123 "value" : [
124 {
125 token : "keyword.operator",
126 regex : /$/,
127 next : "start"
128 },
129 {
130 token : "string",
131 regex : /[^$]/
132 }
133 ]
134 };
135  
136 };
137  
138 oop.inherits(SpaceHighlightRules, TextHighlightRules);
139  
140 exports.SpaceHighlightRules = SpaceHighlightRules;
141 });
142  
143 ace.define("ace/mode/space",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/folding/coffee","ace/mode/space_highlight_rules"], function(require, exports, module) {
144 "use strict";
145 var oop = require("../lib/oop");
146 var TextMode = require("./text").Mode;
147 var FoldMode = require("./folding/coffee").FoldMode;
148 var SpaceHighlightRules = require("./space_highlight_rules").SpaceHighlightRules;
149 var Mode = function() {
150 this.HighlightRules = SpaceHighlightRules;
151 this.foldingRules = new FoldMode();
152 this.$behaviour = this.$defaultBehaviour;
153 };
154 oop.inherits(Mode, TextMode);
155 (function() {
156  
157 this.$id = "ace/mode/space";
158 }).call(Mode.prototype);
159 exports.Mode = Mode;
160 });