rubybuntu-gedit 11.09.19 → 11.09.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|