rubybuntu-gedit 11.09.19 → 11.09.29
Sign up to get free protection for your applications and to get access to all the features.
- data/data/language-specs/README.rdoc +4 -5
- data/data/language-specs/erb.lang +8 -1
- data/data/language-specs/ruby.lang +371 -268
- data/data/language-specs/ruby.lang-extras/brackets.rb +60 -0
- data/data/language-specs/ruby.lang-extras/examples.rb +15 -10
- data/data/language-specs/ruby.lang-extras/important-constants.rb +1 -1
- data/data/language-specs/ruby.lang-extras/important-methods.rb +25 -3
- data/data/language-specs/ruby.lang-extras/known-bugs.rb +9 -0
- metadata +5 -4
@@ -48,16 +48,15 @@ You should also use up-to-date {mime types}[https://github.com/janlelis/rubybunt
|
|
48
48
|
* See `git log` for full details
|
49
49
|
* Based on https://github.com/gmate/gmate/blob/master/lang-specs/ruby_on_rails.lang
|
50
50
|
|
51
|
-
==
|
52
|
-
=== ruby.lang - Advanced TODOs [or: build a "real" parser, not (easily) possible with gtksourceview]
|
51
|
+
== ruby.lang - Advanced TODOs [not (easily) possible with gtksourceview]
|
53
52
|
* Improve heredocs (e.g. nested ones)
|
54
|
-
* Different colorizations for "end"s (e.g. def/begin, class/module, while/until, if/case, block), needs to detect modifier statements correctly
|
53
|
+
* Different colorizations for "end"s (e.g. def/begin, class/module, while/until, if/case, block), needs to detect modifier statements correctly :/
|
55
54
|
* Detect (multi-line) yard doc tag values
|
56
55
|
* Add escapable char for generic string delimiters
|
57
56
|
* Advanced regex highlighting + multi-line regexes
|
58
57
|
* ruby.lang-extras/known-bugs.rb
|
59
58
|
|
60
|
-
|
59
|
+
== Languages to add/import/update
|
61
60
|
* SASS / SCSS / CSS
|
62
61
|
* COFFEE
|
63
62
|
* HAML
|
@@ -67,7 +66,7 @@ You should also use up-to-date {mime types}[https://github.com/janlelis/rubybunt
|
|
67
66
|
|
68
67
|
Meanwhile, you can, for example, use the ones found in gmate[https://github.com/gmate/gmate/tree/master/lang-specs]
|
69
68
|
|
70
|
-
|
69
|
+
== MAYBE
|
71
70
|
* RDOC markup support (and cross-referencing in ruby)
|
72
71
|
|
73
72
|
== J-_-L
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<include>
|
27
27
|
<context where="start" sub-pattern="0" style-ref="output"/>
|
28
28
|
<context where="end" sub-pattern="0" style-ref="output"/>
|
29
|
-
<context ref="ruby
|
29
|
+
<context ref="ruby-code"/>
|
30
30
|
</include>
|
31
31
|
</context>
|
32
32
|
|
@@ -36,6 +36,13 @@
|
|
36
36
|
<include>
|
37
37
|
<context where="start" sub-pattern="0" style-ref="tag"/>
|
38
38
|
<context where="end" sub-pattern="0" style-ref="tag"/>
|
39
|
+
<context ref="ruby-code"/>
|
40
|
+
</include>
|
41
|
+
</context>
|
42
|
+
|
43
|
+
<context id="ruby-code" extend-parent="false"><!-- extend false -->
|
44
|
+
<start></start><end>$^</end><!-- everything -->
|
45
|
+
<include>
|
39
46
|
<context ref="ruby:ruby"/>
|
40
47
|
</include>
|
41
48
|
</context>
|
@@ -114,11 +114,13 @@
|
|
114
114
|
<match case-sensitive="false">\s*#.*coding.*</match>
|
115
115
|
</context>
|
116
116
|
|
117
|
+
<define-regex id="alnum">[^&><!?"'`@$%/()=\\{\[\]}*+~#|;,:.\-\^\s]</define-regex>
|
117
118
|
<define-regex id="no_method_prefix">(?<![\w\.\:])</define-regex>
|
119
|
+
<define-regex id="no_method_suffix">(?!(\%{alnum}|[?!]))</define-regex>
|
118
120
|
|
119
121
|
<context id="keywords" style-ref="keyword">
|
120
|
-
<!-- do not highlight methods like .class -->
|
121
122
|
<prefix>\%{no_method_prefix}</prefix>
|
123
|
+
<suffix>\%{no_method_suffix}</suffix>
|
122
124
|
<!-- only put here if not already used at another place -->
|
123
125
|
<keyword>BEGIN</keyword>
|
124
126
|
<keyword>END</keyword>
|
@@ -151,260 +153,295 @@
|
|
151
153
|
<keyword>yield</keyword>
|
152
154
|
</context>
|
153
155
|
|
154
|
-
<context id="important-methods" style-ref="important-method"
|
155
|
-
<
|
156
|
-
<keyword>
|
157
|
-
<keyword>Float(?=\()</keyword>
|
158
|
-
<keyword>Integer(?=\()</keyword>
|
159
|
-
<keyword>Rational(?=\()</keyword>
|
160
|
-
<keyword>String(?=\()</keyword>
|
161
|
-
<keyword>__callee__</keyword>
|
162
|
-
<keyword>__id__</keyword>
|
163
|
-
<keyword>__method__</keyword>
|
164
|
-
<keyword>__send__</keyword>
|
165
|
-
<keyword>abort</keyword>
|
166
|
-
<keyword>allocate</keyword>
|
167
|
-
<keyword>ancestors</keyword>
|
168
|
-
<keyword>at_exit</keyword>
|
169
|
-
<keyword>autoload</keyword>
|
170
|
-
<keyword>autoload\?</keyword>
|
171
|
-
<keyword>binding</keyword>
|
172
|
-
<keyword>block_given\?</keyword>
|
173
|
-
<keyword>caller</keyword>
|
174
|
-
<keyword>catch</keyword>
|
175
|
-
<keyword>class</keyword>
|
176
|
-
<keyword>class_eval</keyword>
|
177
|
-
<keyword>class_exec</keyword>
|
178
|
-
<keyword>class_variable_defined\?</keyword>
|
179
|
-
<keyword>class_variable_get</keyword>
|
180
|
-
<keyword>class_variable_set</keyword>
|
181
|
-
<keyword>class_variables</keyword>
|
182
|
-
<keyword>clone</keyword>
|
183
|
-
<keyword>const_defined\?</keyword>
|
184
|
-
<keyword>const_get</keyword>
|
185
|
-
<keyword>const_missing</keyword>
|
186
|
-
<keyword>const_set</keyword>
|
187
|
-
<keyword>constants</keyword>
|
188
|
-
<keyword>define_singleton_method</keyword>
|
189
|
-
<keyword>display</keyword>
|
190
|
-
<keyword>dup</keyword>
|
191
|
-
<keyword>enum_for</keyword>
|
192
|
-
<keyword>eql\?</keyword>
|
193
|
-
<keyword>equal\?</keyword>
|
194
|
-
<keyword>eval</keyword>
|
195
|
-
<keyword>exec</keyword>
|
196
|
-
<keyword>exit!</keyword>
|
197
|
-
<keyword>exit</keyword>
|
198
|
-
<keyword>extend</keyword>
|
199
|
-
<keyword>fail</keyword>
|
200
|
-
<keyword>fork</keyword>
|
201
|
-
<keyword>format</keyword>
|
202
|
-
<keyword>freeze</keyword>
|
203
|
-
<keyword>frozen\?</keyword>
|
204
|
-
<keyword>gets</keyword>
|
205
|
-
<keyword>global_variables</keyword>
|
206
|
-
<keyword>hash</keyword>
|
207
|
-
<keyword>include\?</keyword>
|
208
|
-
<keyword>included_modules</keyword>
|
209
|
-
<keyword>initialize_clone</keyword>
|
210
|
-
<keyword>initialize_dup</keyword>
|
211
|
-
<keyword>inspect</keyword>
|
212
|
-
<keyword>instance_eval</keyword>
|
213
|
-
<keyword>instance_exec</keyword>
|
214
|
-
<keyword>instance_method</keyword>
|
215
|
-
<keyword>instance_methods</keyword>
|
216
|
-
<keyword>instance_of\?</keyword>
|
217
|
-
<keyword>instance_variable_defined\?</keyword>
|
218
|
-
<keyword>instance_variable_get</keyword>
|
219
|
-
<keyword>instance_variable_set</keyword>
|
220
|
-
<keyword>instance_variables</keyword>
|
221
|
-
<keyword>is_a\?</keyword>
|
222
|
-
<keyword>iterator\?</keyword>
|
223
|
-
<keyword>kind_of\?</keyword>
|
224
|
-
<keyword>lambda</keyword>
|
225
|
-
<keyword>load</keyword>
|
226
|
-
<keyword>local_variables</keyword>
|
227
|
-
<keyword>loop</keyword>
|
228
|
-
<keyword>method</keyword>
|
229
|
-
<keyword>method_defined\?</keyword>
|
230
|
-
<keyword>methods</keyword>
|
231
|
-
<keyword>module_eval</keyword>
|
232
|
-
<keyword>module_exec</keyword>
|
233
|
-
<keyword>name</keyword>
|
234
|
-
<keyword>nesting</keyword>
|
235
|
-
<keyword>new</keyword>
|
236
|
-
<keyword>nil\?</keyword>
|
237
|
-
<keyword>object_id</keyword>
|
238
|
-
<keyword>open</keyword>
|
239
|
-
<keyword>p</keyword>
|
240
|
-
<keyword>print</keyword>
|
241
|
-
<keyword>printf</keyword>
|
242
|
-
<keyword>private_class_method</keyword>
|
243
|
-
<keyword>private_instance_methods</keyword>
|
244
|
-
<keyword>private_method_defined\?</keyword>
|
245
|
-
<keyword>private_methods</keyword>
|
246
|
-
<keyword>proc</keyword>
|
247
|
-
<keyword>protected_instance_methods</keyword>
|
248
|
-
<keyword>protected_method_defined\?</keyword>
|
249
|
-
<keyword>protected_methods</keyword>
|
250
|
-
<keyword>public_class_method</keyword>
|
251
|
-
<keyword>public_instance_method</keyword>
|
252
|
-
<keyword>public_instance_methods</keyword>
|
253
|
-
<keyword>public_method</keyword>
|
254
|
-
<keyword>public_method_defined\?</keyword>
|
255
|
-
<keyword>public_methods</keyword>
|
256
|
-
<keyword>public_send</keyword>
|
257
|
-
<keyword>putc</keyword>
|
258
|
-
<keyword>puts</keyword>
|
259
|
-
<keyword>raise</keyword>
|
260
|
-
<keyword>rand</keyword>
|
261
|
-
<keyword>readline</keyword>
|
262
|
-
<keyword>readlines</keyword>
|
263
|
-
<keyword>remove_class_variable</keyword>
|
264
|
-
<keyword>require</keyword>
|
265
|
-
<keyword>require_relative</keyword>
|
266
|
-
<keyword>respond_to\?</keyword>
|
267
|
-
<keyword>respond_to_missing\?</keyword>
|
268
|
-
<keyword>select</keyword>
|
269
|
-
<keyword>send</keyword>
|
270
|
-
<keyword>set_trace_func</keyword>
|
271
|
-
<keyword>singleton_class</keyword>
|
272
|
-
<keyword>singleton_methods</keyword>
|
273
|
-
<keyword>sleep</keyword>
|
274
|
-
<keyword>spawn</keyword>
|
275
|
-
<keyword>sprintf</keyword>
|
276
|
-
<keyword>srand</keyword>
|
277
|
-
<keyword>superclass</keyword>
|
278
|
-
<keyword>syscall</keyword>
|
279
|
-
<keyword>system</keyword>
|
280
|
-
<keyword>taint</keyword>
|
281
|
-
<keyword>tainted\?</keyword>
|
282
|
-
<keyword>tap</keyword>
|
283
|
-
<keyword>test</keyword>
|
284
|
-
<keyword>throw</keyword>
|
285
|
-
<keyword>to_enum</keyword>
|
286
|
-
<keyword>to_s</keyword>
|
287
|
-
<keyword>trace_var</keyword>
|
288
|
-
<keyword>trap</keyword>
|
289
|
-
<keyword>trust</keyword>
|
290
|
-
<keyword>untaint</keyword>
|
291
|
-
<keyword>untrace_var</keyword>
|
292
|
-
<keyword>untrust</keyword>
|
156
|
+
<context id="important-methods" style-ref="important-method">
|
157
|
+
<suffix></suffix>
|
158
|
+
<keyword>warn\%{no_method_suffix}</keyword>
|
293
159
|
<keyword>untrusted\?</keyword>
|
294
|
-
<keyword>
|
160
|
+
<keyword>untrust\%{no_method_suffix}</keyword>
|
161
|
+
<keyword>untrace_var\%{no_method_suffix}</keyword>
|
162
|
+
<keyword>untaint\%{no_method_suffix}</keyword>
|
163
|
+
<keyword>undef_method\%{no_method_suffix}</keyword>
|
164
|
+
<keyword>trust\%{no_method_suffix}</keyword>
|
165
|
+
<keyword>trap\%{no_method_suffix}</keyword>
|
166
|
+
<keyword>trace_var\%{no_method_suffix}</keyword>
|
167
|
+
<keyword>to_s\%{no_method_suffix}</keyword>
|
168
|
+
<keyword>to_enum\%{no_method_suffix}</keyword>
|
169
|
+
<keyword>throw\%{no_method_suffix}</keyword>
|
170
|
+
<keyword>test\%{no_method_suffix}</keyword>
|
171
|
+
<keyword>tap\%{no_method_suffix}</keyword>
|
172
|
+
<keyword>tainted\?</keyword>
|
173
|
+
<keyword>taint\%{no_method_suffix}</keyword>
|
174
|
+
<keyword>system\%{no_method_suffix}</keyword>
|
175
|
+
<keyword>syscall\%{no_method_suffix}</keyword>
|
176
|
+
<keyword>superclass\%{no_method_suffix}</keyword>
|
177
|
+
<keyword>srand\%{no_method_suffix}</keyword>
|
178
|
+
<keyword>sprintf\%{no_method_suffix}</keyword>
|
179
|
+
<keyword>spawn\%{no_method_suffix}</keyword>
|
180
|
+
<keyword>sleep\%{no_method_suffix}</keyword>
|
181
|
+
<keyword>singleton_methods\%{no_method_suffix}</keyword>
|
182
|
+
<keyword>singleton_method_undefined\%{no_method_suffix}</keyword>
|
183
|
+
<keyword>singleton_method_removed\%{no_method_suffix}</keyword>
|
184
|
+
<keyword>singleton_method_added\%{no_method_suffix}</keyword>
|
185
|
+
<keyword>singleton_class\%{no_method_suffix}</keyword>
|
186
|
+
<keyword>set_trace_func\%{no_method_suffix}</keyword>
|
187
|
+
<keyword>send\%{no_method_suffix}</keyword>
|
188
|
+
<keyword>select\%{no_method_suffix}</keyword>
|
189
|
+
<keyword>respond_to_missing\?</keyword>
|
190
|
+
<keyword>respond_to\?</keyword>
|
191
|
+
<keyword>require_relative\%{no_method_suffix}</keyword>
|
192
|
+
<keyword>require\%{no_method_suffix}</keyword>
|
193
|
+
<keyword>remove_method\%{no_method_suffix}</keyword>
|
194
|
+
<keyword>remove_instance_variable\%{no_method_suffix}</keyword>
|
195
|
+
<keyword>remove_const\%{no_method_suffix}</keyword>
|
196
|
+
<keyword>remove_class_variable\%{no_method_suffix}</keyword>
|
197
|
+
<keyword>readlines\%{no_method_suffix}</keyword>
|
198
|
+
<keyword>readline\%{no_method_suffix}</keyword>
|
199
|
+
<keyword>rand\%{no_method_suffix}</keyword>
|
200
|
+
<keyword>raise\%{no_method_suffix}</keyword>
|
201
|
+
<keyword>puts\%{no_method_suffix}</keyword>
|
202
|
+
<keyword>putc\%{no_method_suffix}</keyword>
|
203
|
+
<keyword>public_send\%{no_method_suffix}</keyword>
|
204
|
+
<keyword>public_methods\%{no_method_suffix}</keyword>
|
205
|
+
<keyword>public_method_defined\?</keyword>
|
206
|
+
<keyword>public_method\%{no_method_suffix}</keyword>
|
207
|
+
<keyword>public_instance_methods\%{no_method_suffix}</keyword>
|
208
|
+
<keyword>public_instance_method\%{no_method_suffix}</keyword>
|
209
|
+
<keyword>public_constant\%{no_method_suffix}</keyword>
|
210
|
+
<keyword>public_class_method\%{no_method_suffix}</keyword>
|
211
|
+
<keyword>public\%{no_method_suffix}</keyword>
|
212
|
+
<keyword>protected_methods\%{no_method_suffix}</keyword>
|
213
|
+
<keyword>protected_method_defined\?</keyword>
|
214
|
+
<keyword>protected_instance_methods\%{no_method_suffix}</keyword>
|
215
|
+
<keyword>protected\%{no_method_suffix}</keyword>
|
216
|
+
<keyword>proc\%{no_method_suffix}</keyword>
|
217
|
+
<keyword>private_methods\%{no_method_suffix}</keyword>
|
218
|
+
<keyword>private_method_defined\?</keyword>
|
219
|
+
<keyword>private_instance_methods\%{no_method_suffix}</keyword>
|
220
|
+
<keyword>private_constant\%{no_method_suffix}</keyword>
|
221
|
+
<keyword>private_class_method\%{no_method_suffix}</keyword>
|
222
|
+
<keyword>private\%{no_method_suffix}</keyword>
|
223
|
+
<keyword>printf\%{no_method_suffix}</keyword>
|
224
|
+
<keyword>print\%{no_method_suffix}</keyword>
|
225
|
+
<keyword>p\%{no_method_suffix}</keyword>
|
226
|
+
<keyword>open\%{no_method_suffix}</keyword>
|
227
|
+
<keyword>object_id\%{no_method_suffix}</keyword>
|
228
|
+
<keyword>nil\?</keyword>
|
229
|
+
<keyword>new\%{no_method_suffix}</keyword>
|
230
|
+
<keyword>nesting\%{no_method_suffix}</keyword>
|
231
|
+
<keyword>name\%{no_method_suffix}</keyword>
|
232
|
+
<keyword>module_function\%{no_method_suffix}</keyword>
|
233
|
+
<keyword>module_exec\%{no_method_suffix}</keyword>
|
234
|
+
<keyword>module_eval\%{no_method_suffix}</keyword>
|
235
|
+
<keyword>methods\%{no_method_suffix}</keyword>
|
236
|
+
<keyword>method_undefined\%{no_method_suffix}</keyword>
|
237
|
+
<keyword>method_removed\%{no_method_suffix}</keyword>
|
238
|
+
<keyword>method_missing\%{no_method_suffix}</keyword>
|
239
|
+
<keyword>method_defined\?</keyword>
|
240
|
+
<keyword>method_added\%{no_method_suffix}</keyword>
|
241
|
+
<keyword>method\%{no_method_suffix}</keyword>
|
242
|
+
<keyword>loop\%{no_method_suffix}</keyword>
|
243
|
+
<keyword>local_variables\%{no_method_suffix}</keyword>
|
244
|
+
<keyword>load\%{no_method_suffix}</keyword>
|
245
|
+
<keyword>lambda\%{no_method_suffix}</keyword>
|
246
|
+
<keyword>kind_of\?</keyword>
|
247
|
+
<keyword>iterator\?</keyword>
|
248
|
+
<keyword>is_a\?</keyword>
|
249
|
+
<keyword>instance_variables\%{no_method_suffix}</keyword>
|
250
|
+
<keyword>instance_variable_set\%{no_method_suffix}</keyword>
|
251
|
+
<keyword>instance_variable_get\%{no_method_suffix}</keyword>
|
252
|
+
<keyword>instance_variable_defined\?</keyword>
|
253
|
+
<keyword>instance_of\?</keyword>
|
254
|
+
<keyword>instance_methods\%{no_method_suffix}</keyword>
|
255
|
+
<keyword>instance_method\%{no_method_suffix}</keyword>
|
256
|
+
<keyword>instance_exec\%{no_method_suffix}</keyword>
|
257
|
+
<keyword>instance_eval\%{no_method_suffix}</keyword>
|
258
|
+
<keyword>inspect\%{no_method_suffix}</keyword>
|
259
|
+
<keyword>initialize_dup\%{no_method_suffix}</keyword>
|
260
|
+
<keyword>initialize_copy\%{no_method_suffix}</keyword>
|
261
|
+
<keyword>initialize_clone\%{no_method_suffix}</keyword>
|
262
|
+
<keyword>initialize\%{no_method_suffix}</keyword>
|
263
|
+
<keyword>included_modules\%{no_method_suffix}</keyword>
|
264
|
+
<keyword>included\%{no_method_suffix}</keyword>
|
265
|
+
<keyword>include\?</keyword>
|
266
|
+
<keyword>include\%{no_method_suffix}</keyword>
|
267
|
+
<keyword>hash\%{no_method_suffix}</keyword>
|
268
|
+
<keyword>global_variables\%{no_method_suffix}</keyword>
|
269
|
+
<keyword>gets\%{no_method_suffix}</keyword>
|
270
|
+
<keyword>gem_original_require\%{no_method_suffix}</keyword>
|
271
|
+
<keyword>gem\%{no_method_suffix}</keyword>
|
272
|
+
<keyword>frozen\?</keyword>
|
273
|
+
<keyword>freeze\%{no_method_suffix}</keyword>
|
274
|
+
<keyword>format\%{no_method_suffix}</keyword>
|
275
|
+
<keyword>fork\%{no_method_suffix}</keyword>
|
276
|
+
<keyword>fail\%{no_method_suffix}</keyword>
|
277
|
+
<keyword>extended\%{no_method_suffix}</keyword>
|
278
|
+
<keyword>extend_object\%{no_method_suffix}</keyword>
|
279
|
+
<keyword>extend\%{no_method_suffix}</keyword>
|
280
|
+
<keyword>exit\%{no_method_suffix}</keyword>
|
281
|
+
<keyword>exit!</keyword>
|
282
|
+
<keyword>exec\%{no_method_suffix}</keyword>
|
283
|
+
<keyword>eval\%{no_method_suffix}</keyword>
|
284
|
+
<keyword>equal\?</keyword>
|
285
|
+
<keyword>eql\?</keyword>
|
286
|
+
<keyword>enum_for\%{no_method_suffix}</keyword>
|
287
|
+
<keyword>dup\%{no_method_suffix}</keyword>
|
288
|
+
<keyword>display\%{no_method_suffix}</keyword>
|
289
|
+
<keyword>define_singleton_method\%{no_method_suffix}</keyword>
|
290
|
+
<keyword>define_method\%{no_method_suffix}</keyword>
|
291
|
+
<keyword>constants\%{no_method_suffix}</keyword>
|
292
|
+
<keyword>const_set\%{no_method_suffix}</keyword>
|
293
|
+
<keyword>const_missing\%{no_method_suffix}</keyword>
|
294
|
+
<keyword>const_get\%{no_method_suffix}</keyword>
|
295
|
+
<keyword>const_defined\?</keyword>
|
296
|
+
<keyword>clone\%{no_method_suffix}</keyword>
|
297
|
+
<keyword>class_variables\%{no_method_suffix}</keyword>
|
298
|
+
<keyword>class_variable_set\%{no_method_suffix}</keyword>
|
299
|
+
<keyword>class_variable_get\%{no_method_suffix}</keyword>
|
300
|
+
<keyword>class_variable_defined\?</keyword>
|
301
|
+
<keyword>class_exec\%{no_method_suffix}</keyword>
|
302
|
+
<keyword>class_eval\%{no_method_suffix}</keyword>
|
303
|
+
<keyword>class\%{no_method_suffix}</keyword>
|
304
|
+
<keyword>catch\%{no_method_suffix}</keyword>
|
305
|
+
<keyword>caller\%{no_method_suffix}</keyword>
|
306
|
+
<keyword>block_given\?</keyword>
|
307
|
+
<keyword>binding\%{no_method_suffix}</keyword>
|
308
|
+
<keyword>autoload\?</keyword>
|
309
|
+
<keyword>autoload\%{no_method_suffix}</keyword>
|
310
|
+
<keyword>attr_writer\%{no_method_suffix}</keyword>
|
311
|
+
<keyword>attr_reader\%{no_method_suffix}</keyword>
|
312
|
+
<keyword>attr_accessor\%{no_method_suffix}</keyword>
|
313
|
+
<keyword>attr\%{no_method_suffix}</keyword>
|
314
|
+
<keyword>at_exit\%{no_method_suffix}</keyword>
|
315
|
+
<keyword>append_features\%{no_method_suffix}</keyword>
|
316
|
+
<keyword>ancestors\%{no_method_suffix}</keyword>
|
317
|
+
<keyword>allocate\%{no_method_suffix}</keyword>
|
318
|
+
<keyword>alias_method\%{no_method_suffix}</keyword>
|
319
|
+
<keyword>abort\%{no_method_suffix}</keyword>
|
320
|
+
<keyword>__send__\%{no_method_suffix}</keyword>
|
321
|
+
<keyword>__method__\%{no_method_suffix}</keyword>
|
322
|
+
<keyword>__id__\%{no_method_suffix}</keyword>
|
323
|
+
<keyword>__callee__\%{no_method_suffix}</keyword>
|
324
|
+
<keyword>String(?=\()</keyword>
|
325
|
+
<keyword>Rational(?=\()</keyword>
|
326
|
+
<keyword>Integer(?=\()</keyword>
|
327
|
+
<keyword>Float(?=\()</keyword>
|
328
|
+
<keyword>Complex(?=\()</keyword>
|
329
|
+
<keyword>Array(?=\()</keyword>
|
295
330
|
</context>
|
296
331
|
|
297
332
|
<context id="important-constants" style-ref="important-constant" extend-parent="false">
|
298
|
-
<
|
299
|
-
<keyword>
|
300
|
-
<keyword>
|
301
|
-
<keyword>
|
302
|
-
<keyword>NilClass</keyword>
|
303
|
-
<keyword>NIL</keyword>
|
304
|
-
<keyword>Data</keyword>
|
333
|
+
<prefix>(?<!\%{alnum}::)</prefix><!-- fails on spaces or non alnum -->
|
334
|
+
<keyword>ZeroDivisionError</keyword>
|
335
|
+
<keyword>UnboundMethod</keyword>
|
336
|
+
<keyword>TypeError</keyword>
|
305
337
|
<keyword>TrueClass</keyword>
|
338
|
+
<keyword>Time</keyword>
|
339
|
+
<keyword>ThreadGroup</keyword>
|
340
|
+
<keyword>ThreadError</keyword>
|
341
|
+
<keyword>Thread</keyword>
|
306
342
|
<keyword>TRUE</keyword>
|
307
|
-
<keyword>
|
308
|
-
<keyword>
|
309
|
-
<keyword>Encoding</keyword>
|
310
|
-
<keyword>Comparable</keyword>
|
311
|
-
<keyword>Enumerable</keyword>
|
312
|
-
<keyword>String</keyword>
|
313
|
-
<keyword>Symbol</keyword>
|
314
|
-
<keyword>Exception</keyword>
|
343
|
+
<keyword>TOPLEVEL_BINDING</keyword>
|
344
|
+
<keyword>SystemStackError</keyword>
|
315
345
|
<keyword>SystemExit</keyword>
|
316
|
-
<keyword>
|
317
|
-
<keyword>
|
346
|
+
<keyword>SystemCallError</keyword>
|
347
|
+
<keyword>SyntaxError</keyword>
|
348
|
+
<keyword>Symbol</keyword>
|
349
|
+
<keyword>Struct</keyword>
|
350
|
+
<keyword>String</keyword>
|
351
|
+
<keyword>StopIteration</keyword>
|
318
352
|
<keyword>StandardError</keyword>
|
319
|
-
<keyword>
|
320
|
-
<keyword>
|
321
|
-
<keyword>
|
322
|
-
<keyword>KeyError</keyword>
|
323
|
-
<keyword>RangeError</keyword>
|
353
|
+
<keyword>SignalException</keyword>
|
354
|
+
<keyword>Signal</keyword>
|
355
|
+
<keyword>SecurityError</keyword>
|
324
356
|
<keyword>ScriptError</keyword>
|
325
|
-
<keyword>
|
326
|
-
<keyword>
|
327
|
-
<keyword>
|
328
|
-
<keyword>
|
329
|
-
<keyword>NoMethodError</keyword>
|
357
|
+
<keyword>STDOUT</keyword>
|
358
|
+
<keyword>STDIN</keyword>
|
359
|
+
<keyword>STDERR</keyword>
|
360
|
+
<keyword>SCRIPT_LINES__</keyword>
|
330
361
|
<keyword>RuntimeError</keyword>
|
331
|
-
<keyword>
|
332
|
-
<keyword>NoMemoryError</keyword>
|
333
|
-
<keyword>EncodingError</keyword>
|
334
|
-
<keyword>SystemCallError</keyword>
|
335
|
-
<keyword>Errno</keyword>
|
336
|
-
<keyword>ZeroDivisionError</keyword>
|
337
|
-
<keyword>FloatDomainError</keyword>
|
338
|
-
<keyword>Numeric</keyword>
|
339
|
-
<keyword>Integer</keyword>
|
340
|
-
<keyword>Fixnum</keyword>
|
341
|
-
<keyword>Float</keyword>
|
342
|
-
<keyword>Bignum</keyword>
|
343
|
-
<keyword>Array</keyword>
|
344
|
-
<keyword>Hash</keyword>
|
345
|
-
<keyword>ENV</keyword>
|
346
|
-
<keyword>Struct</keyword>
|
362
|
+
<keyword>RubyVM</keyword>
|
347
363
|
<keyword>RegexpError</keyword>
|
348
364
|
<keyword>Regexp</keyword>
|
349
|
-
<keyword>
|
350
|
-
<keyword>
|
365
|
+
<keyword>RbConfig</keyword>
|
366
|
+
<keyword>Rational</keyword>
|
367
|
+
<keyword>RangeError</keyword>
|
351
368
|
<keyword>Range</keyword>
|
352
|
-
<keyword>IOError</keyword>
|
353
|
-
<keyword>EOFError</keyword>
|
354
|
-
<keyword>IO</keyword>
|
355
|
-
<keyword>STDIN</keyword>
|
356
|
-
<keyword>STDOUT</keyword>
|
357
|
-
<keyword>STDERR</keyword>
|
358
|
-
<keyword>ARGF</keyword>
|
359
|
-
<keyword>FileTest</keyword>
|
360
|
-
<keyword>File</keyword>
|
361
|
-
<keyword>Dir</keyword>
|
362
|
-
<keyword>Time</keyword>
|
363
369
|
<keyword>Random</keyword>
|
364
|
-
<keyword>Signal</keyword>
|
365
|
-
<keyword>Process</keyword>
|
366
|
-
<keyword>Proc</keyword>
|
367
|
-
<keyword>LocalJumpError</keyword>
|
368
|
-
<keyword>SystemStackError</keyword>
|
369
|
-
<keyword>Method</keyword>
|
370
|
-
<keyword>UnboundMethod</keyword>
|
371
|
-
<keyword>Binding</keyword>
|
372
|
-
<keyword>Math</keyword>
|
373
|
-
<keyword>GC</keyword>
|
374
|
-
<keyword>ObjectSpace</keyword>
|
375
|
-
<keyword>Enumerator</keyword>
|
376
|
-
<keyword>StopIteration</keyword>
|
377
|
-
<keyword>RubyVM</keyword>
|
378
|
-
<keyword>Thread</keyword>
|
379
|
-
<keyword>TOPLEVEL_BINDING</keyword>
|
380
|
-
<keyword>ThreadGroup</keyword>
|
381
|
-
<keyword>Mutex</keyword>
|
382
|
-
<keyword>ThreadError</keyword>
|
383
|
-
<keyword>Fiber</keyword>
|
384
|
-
<keyword>FiberError</keyword>
|
385
|
-
<keyword>Rational</keyword>
|
386
|
-
<keyword>Complex</keyword>
|
387
370
|
<keyword>RUBY_VERSION</keyword>
|
371
|
+
<keyword>RUBY_REVISION</keyword>
|
388
372
|
<keyword>RUBY_RELEASE_DATE</keyword>
|
389
373
|
<keyword>RUBY_PLATFORM</keyword>
|
390
374
|
<keyword>RUBY_PATCHLEVEL</keyword>
|
391
|
-
<keyword>
|
375
|
+
<keyword>RUBY_ENGINE</keyword>
|
392
376
|
<keyword>RUBY_DESCRIPTION</keyword>
|
393
377
|
<keyword>RUBY_COPYRIGHT</keyword>
|
394
|
-
<keyword>
|
395
|
-
<keyword>
|
378
|
+
<keyword>Process</keyword>
|
379
|
+
<keyword>Proc</keyword>
|
380
|
+
<keyword>ObjectSpace</keyword>
|
381
|
+
<keyword>Object</keyword>
|
382
|
+
<keyword>Numeric</keyword>
|
383
|
+
<keyword>NotImplementedError</keyword>
|
384
|
+
<keyword>NoMethodError</keyword>
|
385
|
+
<keyword>NoMemoryError</keyword>
|
386
|
+
<keyword>NilClass</keyword>
|
387
|
+
<keyword>NameError</keyword>
|
388
|
+
<keyword>NIL</keyword>
|
389
|
+
<keyword>Mutex</keyword>
|
390
|
+
<keyword>Module</keyword>
|
391
|
+
<keyword>Method</keyword>
|
392
|
+
<keyword>Math</keyword>
|
393
|
+
<keyword>MatchData</keyword>
|
394
|
+
<keyword>Marshal</keyword>
|
395
|
+
<keyword>LocalJumpError</keyword>
|
396
|
+
<keyword>LoadError</keyword>
|
397
|
+
<keyword>KeyError</keyword>
|
398
|
+
<keyword>Kernel</keyword>
|
399
|
+
<keyword>Interrupt</keyword>
|
400
|
+
<keyword>Integer</keyword>
|
401
|
+
<keyword>IndexError</keyword>
|
402
|
+
<keyword>IOError</keyword>
|
403
|
+
<keyword>IO</keyword>
|
404
|
+
<keyword>Hash</keyword>
|
396
405
|
<keyword>Gem</keyword>
|
397
|
-
<keyword>
|
406
|
+
<keyword>GC</keyword>
|
407
|
+
<keyword>FloatDomainError</keyword>
|
408
|
+
<keyword>Float</keyword>
|
409
|
+
<keyword>Fixnum</keyword>
|
410
|
+
<keyword>FileTest</keyword>
|
411
|
+
<keyword>File</keyword>
|
412
|
+
<keyword>FiberError</keyword>
|
413
|
+
<keyword>Fiber</keyword>
|
414
|
+
<keyword>FalseClass</keyword>
|
415
|
+
<keyword>FALSE</keyword>
|
416
|
+
<keyword>Exception</keyword>
|
417
|
+
<keyword>Errno</keyword>
|
418
|
+
<keyword>Enumerator</keyword>
|
419
|
+
<keyword>Enumerable</keyword>
|
420
|
+
<keyword>EncodingError</keyword>
|
421
|
+
<keyword>Encoding</keyword>
|
422
|
+
<keyword>EOFError</keyword>
|
423
|
+
<keyword>ENV</keyword>
|
424
|
+
<keyword>Dir</keyword>
|
425
|
+
<keyword>Deprecate</keyword>
|
426
|
+
<keyword>Data</keyword>
|
398
427
|
<keyword>DATA</keyword>
|
399
|
-
<keyword>
|
428
|
+
<keyword>Config</keyword>
|
429
|
+
<keyword>Complex</keyword>
|
430
|
+
<keyword>Comparable</keyword>
|
431
|
+
<keyword>Class</keyword>
|
432
|
+
<keyword>CROSS_COMPILING</keyword>
|
433
|
+
<keyword>Binding</keyword>
|
434
|
+
<keyword>Bignum</keyword>
|
435
|
+
<keyword>BasicObject</keyword>
|
436
|
+
<keyword>Array</keyword>
|
437
|
+
<keyword>ArgumentError</keyword>
|
438
|
+
<keyword>ARGV</keyword>
|
439
|
+
<keyword>ARGF</keyword>
|
400
440
|
</context>
|
401
441
|
|
402
|
-
|
403
442
|
<define-regex id="special-variables-1-char">[;@!~&`'+=,/\\_><.*?$:"0-9]</define-regex>
|
404
443
|
<define-regex id="special-variables-2-chars">-[FK0iIvwWdpla]</define-regex>
|
405
444
|
|
406
|
-
<define-regex id="alnum">[^&><!?"'`@$%/()=\\{\[\]}*+~#|;,:.\-\^\s]</define-regex>
|
407
|
-
|
408
445
|
<context id="special-variables" style-ref="special-variable">
|
409
446
|
<match extended="true">
|
410
447
|
\$( \%{special-variables-1-char}
|
@@ -424,12 +461,14 @@
|
|
424
461
|
</match>
|
425
462
|
</context>
|
426
463
|
|
464
|
+
<define-regex id="method" extended="true">
|
465
|
+
( \%{alnum}(?<![A-Z0-9:])\%{alnum}*[!?]?
|
466
|
+
| [A-Z]\%{alnum}*[!?]?(?=\()
|
467
|
+
)
|
468
|
+
</define-regex>
|
469
|
+
|
427
470
|
<context id="methods" style-ref="method" extend-parent="false">
|
428
|
-
<match
|
429
|
-
( \%{alnum}(?<![A-Z0-9:])\%{alnum}*[!?]?
|
430
|
-
| [A-Z]\%{alnum}*[!?]?(?=\()
|
431
|
-
)
|
432
|
-
</match>
|
471
|
+
<match>\%{method}</match>
|
433
472
|
</context>
|
434
473
|
|
435
474
|
<context id="global-variables" style-ref="global-variable">
|
@@ -476,26 +515,31 @@
|
|
476
515
|
<include>
|
477
516
|
<context id="self" style-ref="self">
|
478
517
|
<prefix>\%{no_method_prefix}</prefix>
|
518
|
+
<suffix>\%{no_method_suffix}</suffix>
|
479
519
|
<keyword>self</keyword>
|
480
520
|
</context>
|
481
521
|
|
482
522
|
<context id="false" style-ref="false">
|
483
523
|
<prefix>\%{no_method_prefix}</prefix>
|
524
|
+
<suffix>\%{no_method_suffix}</suffix>
|
484
525
|
<keyword>false</keyword>
|
485
526
|
</context>
|
486
527
|
|
487
528
|
<context id="true" style-ref="true">
|
488
529
|
<prefix>\%{no_method_prefix}</prefix>
|
530
|
+
<suffix>\%{no_method_suffix}</suffix>
|
489
531
|
<keyword>true</keyword>
|
490
532
|
</context>
|
491
533
|
|
492
534
|
<context id="nil" style-ref="nil">
|
493
535
|
<prefix>\%{no_method_prefix}</prefix>
|
536
|
+
<suffix>\%{no_method_suffix}</suffix>
|
494
537
|
<keyword>nil</keyword>
|
495
538
|
</context>
|
496
539
|
|
497
540
|
<context id="special-values-words" style-ref="special-value">
|
498
541
|
<prefix>\%{no_method_prefix}</prefix>
|
542
|
+
<suffix>\%{no_method_suffix}</suffix>
|
499
543
|
<keyword>__ENCODING__</keyword>
|
500
544
|
<keyword>__FILE__</keyword>
|
501
545
|
<keyword>__LINE__</keyword>
|
@@ -509,8 +553,7 @@
|
|
509
553
|
<include>
|
510
554
|
<context sub-pattern="1" where="start" style-ref="syntax-char"/>
|
511
555
|
<context sub-pattern="0" where="end" style-ref="syntax-char"/>
|
512
|
-
|
513
|
-
<context ref="ruby:*"/>
|
556
|
+
<context ref="ruby-end-at-line-end"/>
|
514
557
|
</include>
|
515
558
|
</context>
|
516
559
|
|
@@ -608,7 +651,7 @@
|
|
608
651
|
</context>
|
609
652
|
|
610
653
|
<!-- %Q-Hello world- %-Hello world- %+hello world+ and so on... -->
|
611
|
-
<context id="double-quoted-string-generic" style-ref="string"
|
654
|
+
<context id="double-quoted-string-generic" style-ref="string">
|
612
655
|
<start>%Q?([[:print:]])(?<![[:alnum:]])</start>
|
613
656
|
<end>\%{1@start}</end>
|
614
657
|
<include>
|
@@ -865,12 +908,13 @@
|
|
865
908
|
</include>
|
866
909
|
</context>
|
867
910
|
|
868
|
-
<define-regex id="start-heredoc">([^a-zA-Z0-9\s\]\)>}])\s*(<<)</define-regex>
|
911
|
+
<define-regex id="start-heredoc">([^a-zA-Z0-9\s\]\)>}]|^)\s*(<<)</define-regex>
|
869
912
|
|
870
913
|
<context id="heredoc-string" style-ref="string">
|
871
914
|
<start>\%{start-heredoc}((\w+))</start>
|
872
915
|
<end>^\%{4@start}$</end>
|
873
916
|
<include>
|
917
|
+
<context ref="ruby-end-at-line-end"/>
|
874
918
|
<context ref="double-quoted"/>
|
875
919
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
876
920
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
@@ -883,6 +927,7 @@
|
|
883
927
|
<start>\%{start-heredoc}(-(\w+))</start>
|
884
928
|
<end>^\s*\%{4@start}$</end>
|
885
929
|
<include>
|
930
|
+
<context ref="ruby-end-at-line-end"/>
|
886
931
|
<context ref="double-quoted"/>
|
887
932
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
888
933
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
@@ -895,6 +940,7 @@
|
|
895
940
|
<start>\%{start-heredoc}('(\w+)')</start>
|
896
941
|
<end>^\%{4@start}$</end>
|
897
942
|
<include>
|
943
|
+
<context ref="ruby-end-at-line-end"/>
|
898
944
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
899
945
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
900
946
|
<context where="start" sub-pattern="3" style-ref="string-delimiter"/>
|
@@ -906,6 +952,7 @@
|
|
906
952
|
<start>\%{start-heredoc}("(\w+)")</start>
|
907
953
|
<end>^\%{4@start}$</end>
|
908
954
|
<include>
|
955
|
+
<context ref="ruby-end-at-line-end"/>
|
909
956
|
<context ref="double-quoted"/>
|
910
957
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
911
958
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
@@ -918,6 +965,7 @@
|
|
918
965
|
<start>\%{start-heredoc}(`(\w+)`)</start>
|
919
966
|
<end>^\%{4@start}$</end>
|
920
967
|
<include>
|
968
|
+
<context ref="ruby-end-at-line-end"/>
|
921
969
|
<context ref="double-quoted"/>
|
922
970
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
923
971
|
<context where="start" sub-pattern="2" style-ref="system-delimiter"/>
|
@@ -930,6 +978,7 @@
|
|
930
978
|
<start>\%{start-heredoc}(-'(\w+)')</start>
|
931
979
|
<end>^\s*\%{4@start}$</end>
|
932
980
|
<include>
|
981
|
+
<context ref="ruby-end-at-line-end"/>
|
933
982
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
934
983
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
935
984
|
<context where="start" sub-pattern="3" style-ref="string-delimiter"/>
|
@@ -941,6 +990,7 @@
|
|
941
990
|
<start>\%{start-heredoc}(-"(\w+)")</start>
|
942
991
|
<end>^\s*\%{4@start}$</end>
|
943
992
|
<include>
|
993
|
+
<context ref="ruby-end-at-line-end"/>
|
944
994
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
945
995
|
<context where="start" sub-pattern="2" style-ref="string-delimiter"/>
|
946
996
|
<context where="start" sub-pattern="3" style-ref="string-delimiter"/>
|
@@ -952,6 +1002,7 @@
|
|
952
1002
|
<start>\%{start-heredoc}(-`(\w+)`)</start>
|
953
1003
|
<end>^\s*\%{4@start}$</end>
|
954
1004
|
<include>
|
1005
|
+
<context ref="ruby-end-at-line-end"/>
|
955
1006
|
<context where="start" sub-pattern="1" style-ref="operator"/>
|
956
1007
|
<context where="start" sub-pattern="2" style-ref="system-delimiter"/>
|
957
1008
|
<context where="start" sub-pattern="3" style-ref="system-delimiter"/>
|
@@ -1150,18 +1201,38 @@
|
|
1150
1201
|
</include>
|
1151
1202
|
</context>
|
1152
1203
|
|
1204
|
+
<define-regex id="definable-operator" extended="true">
|
1205
|
+
===?
|
1206
|
+
| <=>
|
1207
|
+
| <[<=]?
|
1208
|
+
| (?<!=)>[>=]?
|
1209
|
+
| =?~
|
1210
|
+
| \*\*?
|
1211
|
+
| \[\]=?
|
1212
|
+
| [+%^!/|&-]
|
1213
|
+
</define-regex>
|
1214
|
+
|
1153
1215
|
<context id="function">
|
1154
1216
|
<start>(?<![\w\.])\b(def)\b\s*</start>
|
1155
|
-
<end>([
|
1217
|
+
<end>(\%{definable-operator}|[A-Z]?\%{method}(?:(?<![!?])=)?)(?=[\s(;]|$)</end>
|
1156
1218
|
<include>
|
1157
1219
|
<context where="start" sub-pattern="1" style-ref="keyword"/>
|
1158
|
-
<context where="end" sub-pattern="
|
1159
|
-
<context ref="ruby
|
1220
|
+
<context where="end" sub-pattern="0" style-ref="function"/>
|
1221
|
+
<context ref="ruby-end-at-line-end"/>
|
1160
1222
|
</include>
|
1161
1223
|
</context>
|
1162
1224
|
|
1163
|
-
<context id="operators" style-ref="operator"
|
1164
|
-
<match
|
1225
|
+
<context id="operators" style-ref="operator">
|
1226
|
+
<match extended="true">
|
1227
|
+
( [+-]@
|
1228
|
+
| \%{definable-operator}
|
1229
|
+
| (?<!%)=(?!>)
|
1230
|
+
| \.
|
1231
|
+
| ::
|
1232
|
+
| \%{no_method_prefix}(?:not|and|or)\%{no_method_suffix}
|
1233
|
+
| \%{no_method_prefix}defined\?
|
1234
|
+
)
|
1235
|
+
</match>
|
1165
1236
|
</context>
|
1166
1237
|
|
1167
1238
|
<context id="syntax-chars" style-ref="syntax-char" extend-parent="false">
|
@@ -1179,61 +1250,89 @@
|
|
1179
1250
|
</include>
|
1180
1251
|
</context>
|
1181
1252
|
<context id="square-brackets">
|
1182
|
-
<start
|
1253
|
+
<start extended="true">
|
1254
|
+
(?: (?<= \%{alnum}[!?] )
|
1255
|
+
| (?<= \%{alnum} | [})\]] )
|
1256
|
+
) \s*(\[)
|
1257
|
+
</start>
|
1258
|
+
<end>\]</end>
|
1183
1259
|
<include>
|
1184
|
-
<context where="start" sub-pattern="
|
1260
|
+
<context where="start" sub-pattern="1" style-ref="syntax-char"/>
|
1185
1261
|
<context where="end" sub-pattern="0" style-ref="syntax-char"/>
|
1186
1262
|
<context ref="ruby:*"/>
|
1187
1263
|
</include>
|
1188
1264
|
</context>
|
1189
|
-
<context id="curly-brackets"
|
1190
|
-
<start>
|
1265
|
+
<context id="curly-brackets"><!--(?<= [)\w\]] ) -->
|
1266
|
+
<start extended="true">
|
1267
|
+
(?: (?<= -> | \%{alnum}[!?] )
|
1268
|
+
| (?<= \%{alnum} | [)\]] )
|
1269
|
+
) \s*(\{)
|
1270
|
+
</start>
|
1271
|
+
<end>\}</end>
|
1191
1272
|
<include>
|
1192
|
-
|
1193
|
-
|
1273
|
+
<context where="start" sub-pattern="1" style-ref="syntax-char"/>
|
1274
|
+
<context where="end" sub-pattern="0" style-ref="syntax-char"/>
|
1194
1275
|
<context ref="ruby:*"/>
|
1195
1276
|
</include>
|
1196
1277
|
</context>
|
1197
1278
|
</include>
|
1198
1279
|
</context>
|
1199
1280
|
|
1200
|
-
<context id="hash">
|
1201
|
-
<start>
|
1281
|
+
<context id="hash" extend-parent="false">
|
1282
|
+
<start extended="true">
|
1283
|
+
(?<! -> | \%{alnum}[!?] )
|
1284
|
+
(?<! \%{alnum} | [)\]] )
|
1285
|
+
(\{)
|
1286
|
+
</start>
|
1202
1287
|
<end>\}</end>
|
1203
1288
|
<include>
|
1204
|
-
<context where="start" sub-pattern="
|
1289
|
+
<context where="start" sub-pattern="1" style-ref="collection"/>
|
1205
1290
|
<context where="end" sub-pattern="0" style-ref="collection"/>
|
1206
1291
|
<context ref="ruby:*"/>
|
1207
1292
|
</include>
|
1208
1293
|
</context>
|
1209
1294
|
|
1210
|
-
<context id="collection-chars" style-ref="collection">
|
1211
|
-
<match>(=>|,)</match>
|
1212
|
-
</context>
|
1213
|
-
|
1214
1295
|
<context id="array">
|
1215
|
-
<start>
|
1296
|
+
<start extended="true">
|
1297
|
+
(?<! \%{alnum}[!?] )
|
1298
|
+
(?<! \%{alnum} | [})\]] )
|
1299
|
+
(\[)
|
1300
|
+
</start>
|
1216
1301
|
<end>\]</end>
|
1217
1302
|
<include>
|
1218
|
-
<context where="start" sub-pattern="
|
1303
|
+
<context where="start" sub-pattern="1" style-ref="collection"/>
|
1219
1304
|
<context where="end" sub-pattern="0" style-ref="collection"/>
|
1220
1305
|
<context ref="ruby:*"/>
|
1221
1306
|
</include>
|
1222
1307
|
</context>
|
1223
1308
|
|
1309
|
+
<context id="collection-chars" style-ref="collection">
|
1310
|
+
<match>(=>|,)</match>
|
1311
|
+
</context>
|
1312
|
+
|
1224
1313
|
<context id="data" style-ref="string">
|
1225
|
-
<start
|
1314
|
+
<start>^__END__</start>
|
1226
1315
|
<include>
|
1227
1316
|
<context where="start" sub-pattern="0" style-ref="string-delimiter"/>
|
1228
1317
|
</include>
|
1229
1318
|
</context>
|
1230
1319
|
|
1231
|
-
<context id="errors" style-ref="error" extend-parent="false"
|
1320
|
+
<context id="errors" style-ref="error" extend-parent="false"><!-- split if needed -->
|
1232
1321
|
<match extended="true">
|
1233
|
-
[}\])]
|
1322
|
+
(?: [}\])]
|
1323
|
+
| =end\%{no_method_suffix}
|
1324
|
+
)
|
1234
1325
|
</match>
|
1235
1326
|
</context>
|
1236
1327
|
|
1328
|
+
<context id="ruby-end-at-line-end" end-at-line-end="true" once-only="true" extend-parent="false">
|
1329
|
+
<start></start>
|
1330
|
+
<end>(^|$)</end>
|
1331
|
+
<include>
|
1332
|
+
<context ref="ruby:*"/>
|
1333
|
+
</include>
|
1334
|
+
</context>
|
1335
|
+
|
1237
1336
|
<context id="ruby" class="no-spell-check">
|
1238
1337
|
<include>
|
1239
1338
|
<context ref="def:shebang"/>
|
@@ -1251,8 +1350,6 @@
|
|
1251
1350
|
<context ref="heredoc-double-quoted-indented-string"/>
|
1252
1351
|
<context ref="heredoc-backtick-quoted-indented-string"/>
|
1253
1352
|
|
1254
|
-
<context ref="question-mark-string"/>
|
1255
|
-
|
1256
1353
|
<context ref="symbol"/>
|
1257
1354
|
<context ref="single-quoted-symbol"/>
|
1258
1355
|
<context ref="double-quoted-symbol"/>
|
@@ -1302,15 +1399,14 @@
|
|
1302
1399
|
|
1303
1400
|
<context ref="function"/>
|
1304
1401
|
|
1305
|
-
<context ref="keywords"/>
|
1306
|
-
<context ref="special-values"/>
|
1307
|
-
|
1308
1402
|
<context ref="special-variables"/>
|
1309
1403
|
<context ref="global-variables"/>
|
1404
|
+
|
1310
1405
|
<context ref="ternary-operators"/>
|
1311
1406
|
<context ref="hash-symbols"/>
|
1407
|
+
|
1312
1408
|
<context ref="important-methods"/>
|
1313
|
-
<context ref="
|
1409
|
+
<context ref="special-values"/>
|
1314
1410
|
|
1315
1411
|
<context ref="important-constants"/>
|
1316
1412
|
<context ref="constants"/>
|
@@ -1327,12 +1423,19 @@
|
|
1327
1423
|
<context ref="block-parameters"/>
|
1328
1424
|
<context ref="hash"/>
|
1329
1425
|
<context ref="array"/>
|
1426
|
+
<context ref="brackets"/>
|
1427
|
+
|
1428
|
+
<context ref="errors"/>
|
1330
1429
|
|
1331
1430
|
<context ref="collection-chars"/>
|
1332
1431
|
<context ref="operators"/>
|
1333
1432
|
<context ref="syntax-chars"/>
|
1334
|
-
|
1335
|
-
<context ref="
|
1433
|
+
|
1434
|
+
<context ref="keywords"/>
|
1435
|
+
<context ref="methods"/>
|
1436
|
+
|
1437
|
+
<context ref="question-mark-string"/>
|
1438
|
+
|
1336
1439
|
</include>
|
1337
1440
|
</context>
|
1338
1441
|
</definitions>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# hashs
|
2
|
+
{}
|
3
|
+
{}
|
4
|
+
{}
|
5
|
+
a={}
|
6
|
+
a= {}
|
7
|
+
a ?{} :{}
|
8
|
+
!{}
|
9
|
+
|
10
|
+
# arrays
|
11
|
+
[]
|
12
|
+
[]
|
13
|
+
[]
|
14
|
+
a=[]
|
15
|
+
a= []
|
16
|
+
|
17
|
+
# procs/square brackets
|
18
|
+
a{}
|
19
|
+
☆{}
|
20
|
+
A{}
|
21
|
+
->{}
|
22
|
+
->(x){}
|
23
|
+
a?{}
|
24
|
+
a!{}
|
25
|
+
|
26
|
+
a {}
|
27
|
+
☆ {}
|
28
|
+
A {}
|
29
|
+
-> {}
|
30
|
+
-> (x) {}
|
31
|
+
a? {}
|
32
|
+
a! {}
|
33
|
+
|
34
|
+
a[]
|
35
|
+
a []
|
36
|
+
a[b]
|
37
|
+
a [b]
|
38
|
+
a[[a]]
|
39
|
+
a [[b]]
|
40
|
+
☆[]
|
41
|
+
☆ []
|
42
|
+
A[]
|
43
|
+
A []
|
44
|
+
a?[]
|
45
|
+
a? []
|
46
|
+
a![]
|
47
|
+
a! []
|
48
|
+
a[][]
|
49
|
+
b [] []
|
50
|
+
|
51
|
+
a(){}
|
52
|
+
a () {}
|
53
|
+
a()[]
|
54
|
+
a () []
|
55
|
+
a[]{}
|
56
|
+
a [] {}
|
57
|
+
a[b]{}
|
58
|
+
a [b] {}
|
59
|
+
a{}[]
|
60
|
+
a {} []
|
@@ -4,13 +4,6 @@
|
|
4
4
|
# Interpolation with instance variables
|
5
5
|
"example #@variable"
|
6
6
|
|
7
|
-
# Improved method defintions
|
8
|
-
def self.some_method(a, b)
|
9
|
-
end
|
10
|
-
|
11
|
-
def $*.important!
|
12
|
-
end
|
13
|
-
|
14
7
|
# Highlights important methods
|
15
8
|
normal_method
|
16
9
|
require_relative
|
@@ -35,17 +28,29 @@ some_method with_symbol_hash: 42,
|
|
35
28
|
# Uppercased method names
|
36
29
|
Array(42)
|
37
30
|
|
31
|
+
# Improved method defintions
|
32
|
+
def self.some_method(a, b) end
|
33
|
+
def $*.important!; end
|
34
|
+
def self; end
|
35
|
+
def [](arg) nil; end
|
36
|
+
def setter=(v); end
|
37
|
+
def Array; end
|
38
|
+
|
38
39
|
# Colorful special values :D
|
39
40
|
[true, false, nil]
|
40
41
|
|
41
|
-
# Different heredoc matching (however, still far from
|
42
|
+
# Different heredoc matching (however, still *far* from correct)
|
42
43
|
here = "doc"
|
43
44
|
%w[string array] <<here # no heredoc
|
44
45
|
|
45
|
-
variable = <<here
|
46
|
-
this one is a heredoc
|
46
|
+
variable = <<here + "°_°"
|
47
|
+
this one is a heredoc
|
47
48
|
here
|
48
49
|
|
50
|
+
<<OR
|
51
|
+
this one
|
52
|
+
OR
|
53
|
+
|
49
54
|
# Strange literals are mostly supported
|
50
55
|
%x[ls]
|
51
56
|
%r>[\>]>
|
@@ -1,3 +1,25 @@
|
|
1
|
-
puts (
|
2
|
-
|
3
|
-
|
1
|
+
puts (
|
2
|
+
Object.methods |
|
3
|
+
Module.methods |
|
4
|
+
Kernel.methods |
|
5
|
+
Object.private_instance_methods |
|
6
|
+
Module.private_instance_methods |
|
7
|
+
Kernel.private_instance_methods |
|
8
|
+
Object.protected_instance_methods |
|
9
|
+
Module.protected_instance_methods |
|
10
|
+
Kernel.protected_instance_methods |
|
11
|
+
Object.public_instance_methods |
|
12
|
+
Module.public_instance_methods |
|
13
|
+
Kernel.public_instance_methods
|
14
|
+
).select{|e| e =~ /^[a-zA-Z_][a-zA-Z0-9?!_]*$/}.map{ |e|
|
15
|
+
suffix =
|
16
|
+
if e.to_s[0] =~ /[A-Z]/
|
17
|
+
'(?=\()'
|
18
|
+
elsif e.to_s[-1] =~ /[?!]/
|
19
|
+
''
|
20
|
+
else
|
21
|
+
'\%{no_method_suffix}'
|
22
|
+
end
|
23
|
+
|
24
|
+
" <keyword>#{e.to_s.gsub /\?/,'\\?'}#{ suffix }</keyword>"
|
25
|
+
}.uniq.sort.reverse
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubybuntu-gedit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.09.
|
4
|
+
version: 11.09.29
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-09-
|
14
|
+
date: 2011-09-29 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: paint
|
18
|
-
requirement: &
|
18
|
+
requirement: &6480020 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *6480020
|
27
27
|
description: Ruby/Rails/Web related gedit language definitions, mime types, styles
|
28
28
|
and snippets.
|
29
29
|
email: mail@janlelis.de
|
@@ -42,6 +42,7 @@ files:
|
|
42
42
|
- data/language-specs/ruby.lang-extras/important-methods.rb
|
43
43
|
- data/language-specs/ruby.lang-extras/unicode.rb
|
44
44
|
- data/language-specs/ruby.lang-extras/important-constants.rb
|
45
|
+
- data/language-specs/ruby.lang-extras/brackets.rb
|
45
46
|
- data/language-specs/ruby.lang-extras/known-bugs.rb
|
46
47
|
- data/language-specs/ruby.lang-extras/examples.rb
|
47
48
|
- data/language-specs/html-erb.lang
|