corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 ace.define("ace/mode/rst_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
2 "use strict";
3  
4 var oop = require("../lib/oop");
5 var lang = require("../lib/lang");
6 var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
7  
8 var RSTHighlightRules = function() {
9  
10 var tokens = {
11 title: "markup.heading",
12 list: "markup.heading",
13 table: "constant",
14 directive: "keyword.operator",
15 entity: "string",
16 link: "markup.underline.list",
17 bold: "markup.bold",
18 italic: "markup.italic",
19 literal: "support.function",
20 comment: "comment"
21 };
22  
23 var startStringPrefix = "(^|\\s|[\"'(<\\[{\\-/:])";
24 var endStringSuffix = "(?:$|(?=\\s|[\\\\.,;!?\\-/:\"')>\\]}]))";
25  
26 this.$rules = {
27 "start": [
28 {
29 token : tokens.title,
30 regex : "(^)([\\=\\-`:\\.'\"~\\^_\\*\\+#])(\\2{2,}\\s*$)"
31 },
32 {
33 token : ["text", tokens.directive, tokens.literal],
34 regex : "(^\\s*\\.\\. )([^: ]+::)(.*$)",
35 next : "codeblock"
36 },
37 {
38 token : tokens.directive,
39 regex : "::$",
40 next : "codeblock"
41 },
42 {
43 token : [tokens.entity, tokens.link],
44 regex : "(^\\.\\. _[^:]+:)(.*$)"
45 },
46 {
47 token : [tokens.entity, tokens.link],
48 regex : "(^__ )(https?://.*$)"
49 },
50 {
51 token : tokens.entity,
52 regex : "^\\.\\. \\[[^\\]]+\\] "
53 },
54 {
55 token : tokens.comment,
56 regex : "^\\.\\. .*$",
57 next : "comment"
58 },
59 {
60 token : tokens.list,
61 regex : "^\\s*[\\*\\+-] "
62 },
63 {
64 token : tokens.list,
65 regex : "^\\s*(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\. "
66 },
67 {
68 token : tokens.list,
69 regex : "^\\s*\\(?(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\) "
70 },
71 {
72 token : tokens.table,
73 regex : "^={2,}(?: +={2,})+$"
74 },
75 {
76 token : tokens.table,
77 regex : "^\\+-{2,}(?:\\+-{2,})+\\+$"
78 },
79 {
80 token : tokens.table,
81 regex : "^\\+={2,}(?:\\+={2,})+\\+$"
82 },
83 {
84 token : ["text", tokens.literal],
85 regex : startStringPrefix + "(``)(?=\\S)",
86 next : "code"
87 },
88 {
89 token : ["text", tokens.bold],
90 regex : startStringPrefix + "(\\*\\*)(?=\\S)",
91 next : "bold"
92 },
93 {
94 token : ["text", tokens.italic],
95 regex : startStringPrefix + "(\\*)(?=\\S)",
96 next : "italic"
97 },
98 {
99 token : tokens.entity,
100 regex : "\\|[\\w\\-]+?\\|"
101 },
102 {
103 token : tokens.entity,
104 regex : ":[\\w-:]+:`\\S",
105 next : "entity"
106 },
107 {
108 token : ["text", tokens.entity],
109 regex : startStringPrefix + "(_`)(?=\\S)",
110 next : "entity"
111 },
112 {
113 token : tokens.entity,
114 regex : "_[A-Za-z0-9\\-]+?"
115 },
116 {
117 token : ["text", tokens.link],
118 regex : startStringPrefix + "(`)(?=\\S)",
119 next : "link"
120 },
121 {
122 token : tokens.link,
123 regex : "[A-Za-z0-9\\-]+?__?"
124 },
125 {
126 token : tokens.link,
127 regex : "\\[[^\\]]+?\\]_"
128 },
129 {
130 token : tokens.link,
131 regex : "https?://\\S+"
132 },
133 {
134 token : tokens.table,
135 regex : "\\|"
136 }
137 ],
138 "codeblock": [
139 {
140 token : tokens.literal,
141 regex : "^ +.+$",
142 next : "codeblock"
143 },
144 {
145 token : tokens.literal,
146 regex : '^$',
147 next: "codeblock"
148 },
149 {
150 token : "empty",
151 regex : "",
152 next : "start"
153 }
154 ],
155 "code": [
156 {
157 token : tokens.literal,
158 regex : "\\S``" + endStringSuffix,
159 next : "start"
160 },
161 {
162 defaultToken: tokens.literal
163 }
164 ],
165 "bold": [
166 {
167 token : tokens.bold,
168 regex : "\\S\\*\\*" + endStringSuffix,
169 next : "start"
170 },
171 {
172 defaultToken: tokens.bold
173 }
174 ],
175 "italic": [
176 {
177 token : tokens.italic,
178 regex : "\\S\\*" + endStringSuffix,
179 next : "start"
180 },
181 {
182 defaultToken: tokens.italic
183 }
184 ],
185 "entity": [
186 {
187 token : tokens.entity,
188 regex : "\\S`" + endStringSuffix,
189 next : "start"
190 },
191 {
192 defaultToken: tokens.entity
193 }
194 ],
195 "link": [
196 {
197 token : tokens.link,
198 regex : "\\S`__?" + endStringSuffix,
199 next : "start"
200 },
201 {
202 defaultToken: tokens.link
203 }
204 ],
205 "comment": [
206 {
207 token : tokens.comment,
208 regex : "^ +.+$",
209 next : "comment"
210 },
211 {
212 token : tokens.comment,
213 regex : '^$',
214 next: "comment"
215 },
216 {
217 token : "empty",
218 regex : "",
219 next : "start"
220 }
221 ]
222 };
223 };
224 oop.inherits(RSTHighlightRules, TextHighlightRules);
225  
226 exports.RSTHighlightRules = RSTHighlightRules;
227 });
228  
229 ace.define("ace/mode/rst",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rst_highlight_rules"], function(require, exports, module) {
230 "use strict";
231  
232 var oop = require("../lib/oop");
233 var TextMode = require("./text").Mode;
234 var RSTHighlightRules = require("./rst_highlight_rules").RSTHighlightRules;
235  
236 var Mode = function() {
237 this.HighlightRules = RSTHighlightRules;
238 };
239 oop.inherits(Mode, TextMode);
240  
241 (function() {
242 this.type = "text";
243  
244 this.$id = "ace/mode/rst";
245 }).call(Mode.prototype);
246  
247 exports.Mode = Mode;
248  
249 });