textpow 0.10.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. data/.travis.yml +7 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +30 -0
  4. data/{History.txt → History.rdoc} +10 -0
  5. data/{README.txt → MIT-LICENSE.txt} +0 -30
  6. data/README.rdoc +82 -0
  7. data/Rakefile +42 -49
  8. data/bin/plist2syntax +0 -0
  9. data/bin/plist2yaml +0 -0
  10. data/examples/benchmark_js.rb +13 -0
  11. data/examples/jquery.js +9046 -0
  12. data/lib/textpow.rb +43 -3
  13. data/lib/textpow/debug_processor.rb +35 -35
  14. data/lib/textpow/recording_processor.rb +13 -0
  15. data/lib/textpow/score_manager.rb +60 -60
  16. data/lib/textpow/syntax.rb +303 -262
  17. data/lib/textpow/syntax/broken/markdown.syntax +519 -0
  18. data/lib/textpow/syntax/broken/php.syntax +1253 -0
  19. data/lib/textpow/syntax/buggy/nemerle.syntax +74 -0
  20. data/lib/textpow/syntax/old/YAML.yaml +160 -0
  21. data/lib/textpow/syntax/old/txt2tags.yaml +139 -0
  22. data/lib/textpow/syntax/source.actionscript.syntax +97 -0
  23. data/lib/textpow/syntax/source.active4d.library.syntax +21 -0
  24. data/lib/textpow/syntax/source.active4d.syntax +276 -0
  25. data/lib/textpow/syntax/source.ada.syntax +33 -0
  26. data/lib/textpow/syntax/source.antlr.syntax +151 -0
  27. data/lib/textpow/syntax/source.apache-config.mod_perl.syntax +50 -0
  28. data/lib/textpow/syntax/source.apache-config.syntax +191 -0
  29. data/lib/textpow/syntax/source.applescript.syntax +384 -0
  30. data/lib/textpow/syntax/source.asp.syntax +70 -0
  31. data/lib/textpow/syntax/source.asp.vb.net.syntax +129 -0
  32. data/lib/textpow/syntax/source.c++.qt.syntax +26 -0
  33. data/lib/textpow/syntax/source.c++.syntax +186 -0
  34. data/lib/textpow/syntax/source.c-sharp.syntax +59 -0
  35. data/lib/textpow/syntax/source.c.ragel.syntax +201 -0
  36. data/lib/textpow/syntax/source.c.syntax +414 -0
  37. data/lib/textpow/syntax/source.camlp4.ocaml.syntax +36 -0
  38. data/lib/textpow/syntax/source.cm.syntax +32 -0
  39. data/lib/textpow/syntax/source.coffee.syntax +216 -0
  40. data/lib/textpow/syntax/source.context-free.syntax +176 -0
  41. data/lib/textpow/syntax/source.css.beta.syntax +1925 -0
  42. data/lib/textpow/syntax/source.css.syntax +195 -0
  43. data/lib/textpow/syntax/source.d.syntax +142 -0
  44. data/lib/textpow/syntax/source.diff.syntax +81 -0
  45. data/lib/textpow/syntax/source.dot.syntax +47 -0
  46. data/lib/textpow/syntax/source.dylan.syntax +62 -0
  47. data/lib/textpow/syntax/source.eiffel.syntax +78 -0
  48. data/lib/textpow/syntax/source.erlang.syntax +922 -0
  49. data/lib/textpow/syntax/source.fortran.syntax +141 -0
  50. data/lib/textpow/syntax/source.fscript.syntax +80 -0
  51. data/lib/textpow/syntax/source.fxscript.syntax +142 -0
  52. data/lib/textpow/syntax/source.gri.syntax +83 -0
  53. data/lib/textpow/syntax/source.groovy.groovy.syntax +191 -0
  54. data/lib/textpow/syntax/source.haskell.syntax +88 -0
  55. data/lib/textpow/syntax/source.icalendar.syntax +32 -0
  56. data/lib/textpow/syntax/source.inform.syntax +48 -0
  57. data/lib/textpow/syntax/source.ini.syntax +55 -0
  58. data/lib/textpow/syntax/source.io.syntax +81 -0
  59. data/lib/textpow/syntax/source.java-props.syntax +20 -0
  60. data/lib/textpow/syntax/source.java.syntax +211 -0
  61. data/lib/textpow/syntax/source.js.greasemonkey.syntax +34 -0
  62. data/lib/textpow/syntax/source.js.jquery.syntax +114 -0
  63. data/lib/textpow/syntax/source.js.mootools.syntax +572 -0
  64. data/lib/textpow/syntax/source.js.prototype.bracketed.syntax +140 -0
  65. data/lib/textpow/syntax/source.js.prototype.syntax +72 -0
  66. data/lib/textpow/syntax/source.js.syntax +256 -0
  67. data/lib/textpow/syntax/source.js.yui.syntax +176 -0
  68. data/lib/textpow/syntax/source.json.syntax +136 -0
  69. data/lib/textpow/syntax/source.lex.syntax +219 -0
  70. data/lib/textpow/syntax/source.lighttpd-config.syntax +54 -0
  71. data/lib/textpow/syntax/source.lilypond.syntax +492 -0
  72. data/lib/textpow/syntax/source.lisp.syntax +61 -0
  73. data/lib/textpow/syntax/source.logo.syntax +29 -0
  74. data/lib/textpow/syntax/source.logtalk.syntax +152 -0
  75. data/lib/textpow/syntax/source.lua.syntax +86 -0
  76. data/lib/textpow/syntax/source.makefile.syntax +36 -0
  77. data/lib/textpow/syntax/source.matlab.syntax +142 -0
  78. data/lib/textpow/syntax/source.mel.syntax +92 -0
  79. data/lib/textpow/syntax/source.mips.syntax +66 -0
  80. data/lib/textpow/syntax/source.ml.syntax +121 -0
  81. data/lib/textpow/syntax/source.modula-3.syntax +47 -0
  82. data/lib/textpow/syntax/source.nant-build.syntax +53 -0
  83. data/lib/textpow/syntax/source.objc++.syntax +18 -0
  84. data/lib/textpow/syntax/source.objc.syntax +233 -0
  85. data/lib/textpow/syntax/source.ocaml.syntax +764 -0
  86. data/lib/textpow/syntax/source.ocamllex.syntax +167 -0
  87. data/lib/textpow/syntax/source.ocamlyacc.syntax +184 -0
  88. data/lib/textpow/syntax/source.open-gl.syntax +14 -0
  89. data/lib/textpow/syntax/source.pascal.syntax +77 -0
  90. data/lib/textpow/syntax/source.pascal.vectorscript.syntax +57 -0
  91. data/lib/textpow/syntax/source.perl.syntax +1113 -0
  92. data/lib/textpow/syntax/source.php.cake.syntax +55 -0
  93. data/lib/textpow/syntax/source.plist.tm-grammar.syntax +708 -0
  94. data/lib/textpow/syntax/source.postscript.syntax +114 -0
  95. data/lib/textpow/syntax/source.processing.syntax +106 -0
  96. data/lib/textpow/syntax/source.prolog.syntax +40 -0
  97. data/lib/textpow/syntax/source.python.django.syntax +21 -0
  98. data/lib/textpow/syntax/source.python.syntax +868 -0
  99. data/lib/textpow/syntax/source.qmake.syntax +114 -0
  100. data/lib/textpow/syntax/source.quake-config.syntax +32 -0
  101. data/lib/textpow/syntax/source.r-console.syntax +16 -0
  102. data/lib/textpow/syntax/source.r.syntax +81 -0
  103. data/lib/textpow/syntax/source.regexp.oniguruma.syntax +107 -0
  104. data/lib/textpow/syntax/source.regexp.python.syntax +109 -0
  105. data/lib/textpow/syntax/source.regexp.syntax +50 -0
  106. data/lib/textpow/syntax/source.remind.syntax +253 -0
  107. data/lib/textpow/syntax/source.rez.syntax +80 -0
  108. data/lib/textpow/syntax/source.ruby.experimental.syntax +145 -0
  109. data/lib/textpow/syntax/source.ruby.rails.syntax +88 -0
  110. data/lib/textpow/syntax/source.ruby.syntax +1035 -0
  111. data/lib/textpow/syntax/source.s5.syntax +69 -0
  112. data/lib/textpow/syntax/source.sass.syntax +45 -0
  113. data/lib/textpow/syntax/source.scheme.syntax +347 -0
  114. data/lib/textpow/syntax/source.scilab.syntax +41 -0
  115. data/lib/textpow/syntax/source.scss.syntax +527 -0
  116. data/lib/textpow/syntax/source.shell.syntax +384 -0
  117. data/lib/textpow/syntax/source.slate.syntax +149 -0
  118. data/lib/textpow/syntax/source.smarty.syntax +63 -0
  119. data/lib/textpow/syntax/source.sql.ruby.syntax +18 -0
  120. data/lib/textpow/syntax/source.sql.syntax +237 -0
  121. data/lib/textpow/syntax/source.ssh-config.syntax +33 -0
  122. data/lib/textpow/syntax/source.strings.syntax +39 -0
  123. data/lib/textpow/syntax/source.swig.syntax +57 -0
  124. data/lib/textpow/syntax/source.tcl.macports.syntax +163 -0
  125. data/lib/textpow/syntax/source.tcl.syntax +152 -0
  126. data/lib/textpow/syntax/source.yaml.syntax +160 -0
  127. data/lib/textpow/syntax/text.active4d-ini.syntax +50 -0
  128. data/lib/textpow/syntax/text.bbcode.syntax +287 -0
  129. data/lib/textpow/syntax/text.bibtex.syntax +151 -0
  130. data/lib/textpow/syntax/text.blog.html.syntax +41 -0
  131. data/lib/textpow/syntax/text.blog.markdown.syntax +42 -0
  132. data/lib/textpow/syntax/text.blog.syntax +27 -0
  133. data/lib/textpow/syntax/text.blog.textile.syntax +27 -0
  134. data/lib/textpow/syntax/text.gtdalt.syntax +143 -0
  135. data/lib/textpow/syntax/text.haml.syntax +88 -0
  136. data/lib/textpow/syntax/text.html.asp.net.syntax +424 -0
  137. data/lib/textpow/syntax/text.html.asp.syntax +27 -0
  138. data/lib/textpow/syntax/text.html.basic.syntax +362 -0
  139. data/lib/textpow/syntax/text.html.cfm.syntax +119 -0
  140. data/lib/textpow/syntax/text.html.django.syntax +36 -0
  141. data/lib/textpow/syntax/text.html.dokuwiki.syntax +204 -0
  142. data/lib/textpow/syntax/text.html.doxygen.syntax +43 -0
  143. data/lib/textpow/syntax/text.html.markdown.multimarkdown.syntax +39 -0
  144. data/lib/textpow/syntax/text.html.mason.syntax +119 -0
  145. data/lib/textpow/syntax/text.html.mediawiki.syntax +567 -0
  146. data/lib/textpow/syntax/text.html.mt.syntax +162 -0
  147. data/lib/textpow/syntax/text.html.ruby.syntax +40 -0
  148. data/lib/textpow/syntax/text.html.strict.active4d.syntax +311 -0
  149. data/lib/textpow/syntax/text.html.tcl.syntax +26 -0
  150. data/lib/textpow/syntax/text.html.textile.syntax +215 -0
  151. data/lib/textpow/syntax/text.html.tt.syntax +121 -0
  152. data/lib/textpow/syntax/text.html.twiki.syntax +241 -0
  153. data/lib/textpow/syntax/text.html.xhtml.1-strict.syntax +4027 -0
  154. data/lib/textpow/syntax/text.log.latex.syntax +50 -0
  155. data/lib/textpow/syntax/text.mail.markdown.syntax +118 -0
  156. data/lib/textpow/syntax/text.man.syntax +17 -0
  157. data/lib/textpow/syntax/text.moinmoin.syntax +189 -0
  158. data/lib/textpow/syntax/text.plain.gtd.syntax +22 -0
  159. data/lib/textpow/syntax/text.plain.release-notes.syntax +46 -0
  160. data/lib/textpow/syntax/text.plain.syntax +32 -0
  161. data/lib/textpow/syntax/text.plist.syntax +635 -0
  162. data/lib/textpow/syntax/text.pmwiki.syntax +113 -0
  163. data/lib/textpow/syntax/text.restructuredtext.syntax +250 -0
  164. data/lib/textpow/syntax/text.setext.syntax +147 -0
  165. data/lib/textpow/syntax/text.subversion-commit.syntax +36 -0
  166. data/lib/textpow/syntax/text.tabular.csv.syntax +68 -0
  167. data/lib/textpow/syntax/text.tabular.tsv.syntax +50 -0
  168. data/lib/textpow/syntax/text.tex.latex.beamer.syntax +41 -0
  169. data/lib/textpow/syntax/text.tex.latex.haskell.syntax +24 -0
  170. data/lib/textpow/syntax/text.tex.latex.memoir.syntax +64 -0
  171. data/lib/textpow/syntax/text.tex.latex.rd.syntax +91 -0
  172. data/lib/textpow/syntax/text.tex.latex.sweave.syntax +84 -0
  173. data/lib/textpow/syntax/text.tex.latex.syntax +566 -0
  174. data/lib/textpow/syntax/text.tex.math.syntax +49 -0
  175. data/lib/textpow/syntax/text.tex.syntax +86 -0
  176. data/lib/textpow/syntax/text.txt2tags.syntax +79 -0
  177. data/lib/textpow/syntax/text.xml.apple-dist.syntax +77 -0
  178. data/lib/textpow/syntax/text.xml.strict.syntax +92 -0
  179. data/lib/textpow/syntax/text.xml.syntax +180 -0
  180. data/lib/textpow/syntax/text.xml.xsl.syntax +60 -0
  181. data/lib/textpow/version.rb +3 -0
  182. data/spec/fixtures/objeck.plist +107 -0
  183. data/spec/fixtures/utf8.txt +1 -0
  184. data/spec/spec_helper.rb +2 -0
  185. data/spec/textpow/score_manager_spec.rb +20 -0
  186. data/spec/textpow/syntax_files_spec.rb +26 -0
  187. data/spec/textpow/syntax_spec.rb +225 -0
  188. data/spec/textpow_spec.rb +57 -0
  189. data/textpow.gemspec +19 -0
  190. metadata +246 -68
  191. data/Manifest.txt +0 -13
  192. data/mm/manual.mm +0 -266
  193. data/test/test_textpow.rb +0 -25
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: Regular Expression
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp
6
+ repository:
7
+ escaped_char:
8
+ name: constant.character.escape.regexp
9
+ match: \\.
10
+ comment: escaped character
11
+ character_class:
12
+ name: keyword.control.character-class.regexp
13
+ match: \\[wWsSdDhH]
14
+ uuid: BAFE4C4F-8D59-48CD-A3BC-52A2084531C9
15
+ foldingStartMarker: (/\*|\{|\()
16
+ patterns:
17
+ - name: keyword.operator.regexp
18
+ match: \|
19
+ - name: keyword.control.anchors.regexp
20
+ match: \\[bBAZzG^$]
21
+ - include: "#character_class"
22
+ - include: "#escaped_char"
23
+ - name: keyword.control.set.regexp
24
+ begin: \[(?:\^?\])?
25
+ end: \]
26
+ patterns:
27
+ - include: "#character_class"
28
+ - include: "#escaped_char"
29
+ - name: constant.other.range.regexp
30
+ match: .-.
31
+ - name: keyword.operator.intersection.regexp
32
+ match: .&&.
33
+ - name: string.regexp.group
34
+ begin: \(
35
+ end: \)
36
+ patterns:
37
+ - include: source.regexp
38
+ - name: constant.other.assertion.regexp
39
+ match: (?<=\()\?(<[=!]|>|=|:|!)
40
+ - name: comment.line.number-sign.regexp
41
+ match: (?<=\()\?#
42
+ - name: keyword.other.backref-and-recursion.regexp
43
+ match: \\(\n\d+|\k\w+|(?<!\|)\g\w+)
44
+ - name: constant.character.escape.regexp
45
+ match: \\([tvnrbfae]|[0-8]{3}|x\H\H\{7\H{7}\}|x\H\H|c\d+|C-\d+|M-\d+|M-\\C-\d+)
46
+ - name: keyword.operator.quantifier.regexp
47
+ match: ((?<!\()[?*+][?+]?)|\{\d*,\d*\}
48
+ foldingStopMarker: (\*/|\}|\))
49
+ keyEquivalent: ^~R
50
+ comment: Matches Oniguruma's Ruby regexp syntax (TextMate uses Oniguruma in Ruby mode).
@@ -0,0 +1,253 @@
1
+ ---
2
+ name: Remind
3
+ fileTypes:
4
+ - defs.rem
5
+ - REM*.txt
6
+ - .reminders
7
+ firstLineMatch: ^REM*
8
+ scopeName: source.remind
9
+ repository:
10
+ message:
11
+ endCaptures:
12
+ "0":
13
+ name: keyword.control.endline.commandline.remind
14
+ begin: \b(?i:MSG|MSF|RUN|CAL|SPECIAL|PS|PSFILE)\b\s*
15
+ beginCaptures:
16
+ "0":
17
+ name: keyword.control.message.commandline.remind
18
+ end: (%?[ \t]*)(?=\n|\z)
19
+ patterns:
20
+ - include: "#message-body"
21
+ trigger:
22
+ patterns:
23
+ - name: meta.attime.trigger.remind
24
+ captures:
25
+ "1":
26
+ name: keyword.other.attime.trigger.remind
27
+ "2":
28
+ name: constant.other.time.trigger.remind
29
+ "3":
30
+ name: variable.other.component.trigger.remind
31
+ "4":
32
+ name: variable.other.comp.trigger.remind
33
+ match: \b(?i:(AT))\s+(\d{1,2}[:.]\d{2})(?:\s+(\+{1,2}\d+))?(?:\s+(\*\d+))?(?=\s)
34
+ - name: meta.duration.trigger.remind
35
+ captures:
36
+ "1":
37
+ name: keyword.other.duration.trigger.remind
38
+ "2":
39
+ name: constant.other.time.trigger.remind
40
+ match: \b(?i:(DURATION))\s+(\d{1,2}[:.]\d{2})(?=\s)
41
+ - name: keyword.control.command.trigger.remind
42
+ match: \b(?i:OMIT)\b
43
+ - name: keyword.control.move-reminder.trigger.remind
44
+ match: \b(?i:ONCE|SKIP|BEFORE|AFTER)\b
45
+ - name: variable.other.component.delta.trigger.remind
46
+ captures:
47
+ "1":
48
+ name: punctuation.definition.variable.remind
49
+ match: (\+{1,2})\d+
50
+ - name: variable.other.component.back.trigger.remind
51
+ captures:
52
+ "1":
53
+ name: punctuation.definition.variable.remind
54
+ match: (\-{1,2})\d+
55
+ - name: variable.other.component.repeat.trigger.remind
56
+ captures:
57
+ "1":
58
+ name: punctuation.definition.variable.remind
59
+ match: (\*)\d+
60
+ - include: "#date-item"
61
+ expression:
62
+ patterns:
63
+ - captures:
64
+ "0":
65
+ name: punctuation.section.scope.remind
66
+ begin: \(
67
+ end: \)
68
+ patterns:
69
+ - include: "#expression"
70
+ - name: keyword.operator.remind
71
+ match: -|\*|/|%|\+|-|[!<>=]=?|&&|\|\|
72
+ - name: string.quoted.double.remind
73
+ endCaptures:
74
+ "0":
75
+ name: punctuation.definition.string.end.remind
76
+ begin: "\""
77
+ beginCaptures:
78
+ "0":
79
+ name: punctuation.definition.string.begin.remind
80
+ end: "\""
81
+ patterns:
82
+ - name: constant.character.escape.remind
83
+ match: \\.
84
+ - name: constant.other.date.remind
85
+ match: "'\\d{4}([\\-/])\\d{1,2}\\1\\d{1,2}'"
86
+ - name: constant.other.time.remind
87
+ match: \d{1,2}[:.]\d{2}
88
+ - name: constant.numeric.integer.remind
89
+ match: \d+
90
+ - name: variable.language.system.remind
91
+ match: \$(?:CalcUTC|CalMode|Daemon|DefaultPrio|DontFork|DontTrigAts|DontQueue|EndSent|EndSentIg|FirstIndent|FoldYear|FormWidth|HushMode|IgnoreOnce|InfDelta|LatDeg|LatMin|LatSec|Location|LongDeg|LongMin|LongSec|MaxSatIter|MinsFromUTC|NextMode|NumQueued|NumTrig|PrefixLineNo|PSCal|RunOff|SimpleCal|SortByDate|SortByPrio|SortByTime|SubsIndent)\b
92
+ - name: meta.function.builtin.remind
93
+ captures:
94
+ "0":
95
+ name: support.function.builtin.remind
96
+ begin: \b(?:abs|access|args|asc|baseyr|char|choose|coerce|date|dawn|day|daysinmon|defined|dosubst|dusk|easterdate|filedate|filedir|filename|getenv|hour|iif|index|isdst|isleap|isomitted|hebdate|hebday|hebmon|hebyear|language|lower|max|min|minsfromutc|minute|min|monnum|moondate|moontime|moonphase|now|ord|ostype|plural|psmoon|psshade|realnow|realtoday|sgn|shell|strlen|substr|sunrise|sunset|time|today|trigdate|trigger|trigtime|trigvalid|typeof|upper|value|version|wkday|wkdaynum|year)\(
97
+ end: \)
98
+ patterns:
99
+ - include: "#expression"
100
+ - name: meta.function.user.remind
101
+ endCaptures:
102
+ "1":
103
+ name: punctuation.definition.arguments.remind
104
+ begin: \b(\w+)(\()
105
+ beginCaptures:
106
+ "1":
107
+ name: entity.name.function.remind
108
+ "2":
109
+ name: punctuation.definition.arguments.remind
110
+ end: (\))
111
+ patterns:
112
+ - include: "#expression"
113
+ - name: variable.parameter.user.remind
114
+ match: \b\w+\b
115
+ date-item:
116
+ patterns:
117
+ - name: support.constant.month.dateitem.remind
118
+ match: \b(?i:January|Jan|February|Feb|March|Mar|April|Apr|May|June|Jun|July|Jul|August|Aug|September|Sep|October|Oct|November|Nov|December|Dec)\b
119
+ - name: support.constant.weekday.dateitem.remind
120
+ match: \b(?i:Monday|Mon|Tuesday|Tue|Wednesday|Wed|Thursday|Thu|Friday|Fri|Saturday|Sat|Sunday|Sun)\b
121
+ - name: support.constant.day.dateitem.remind
122
+ match: \b(?:\d{1,2})\b
123
+ - name: support.constant.year.dateitem.remind
124
+ match: \b(?:\d{4})\b
125
+ message-body:
126
+ patterns:
127
+ - name: constant.other.placeholder.remind
128
+ captures:
129
+ "1":
130
+ name: punctuation.definition.constant.remind
131
+ match: (%)[a-zA-Z0-9_!@#]
132
+ - name: string.quoted.double.remind
133
+ endCaptures:
134
+ "0":
135
+ name: punctuation.definition.string.end.remind
136
+ begin: "%\""
137
+ beginCaptures:
138
+ "0":
139
+ name: punctuation.definition.string.begin.remind
140
+ end: "%\""
141
+ - include: "#bracketed-expression"
142
+ bracketed-expression:
143
+ captures:
144
+ "0":
145
+ name: punctuation.section.scope.remind
146
+ begin: \[
147
+ end: \]
148
+ patterns:
149
+ - include: "#expression"
150
+ uuid: 8D255A1E-9CBC-4B22-8AAD-F8536C276727
151
+ patterns:
152
+ - name: comment.line.number-sign.remind
153
+ captures:
154
+ "1":
155
+ name: punctuation.definition.comment.remind
156
+ match: "[ ]*(#).*\\n?"
157
+ - name: comment.line.semicolon.remind
158
+ captures:
159
+ "1":
160
+ name: punctuation.definition.comment.remind
161
+ match: "[ ]*(;).*\\n?"
162
+ - name: meta.single.command.remind
163
+ captures:
164
+ "0":
165
+ name: keyword.control.single.command.remind
166
+ match: \b(?i:(?:RUN\s+(ON|OFF))|(PUSH|CLEAR|POP)-OMIT-CONTEXT)\b
167
+ - name: meta.setline.remind
168
+ begin: \b(?i:(SET))\s+(\$?\w+)\s+
169
+ beginCaptures:
170
+ "1":
171
+ name: keyword.control.set.setline.remind
172
+ "2":
173
+ name: variable.other.setline.remind
174
+ end: (?=#|\n|\z)
175
+ patterns:
176
+ - include: "#expression"
177
+ - name: meta.fsetline.remind
178
+ begin: \b(?i:(FSET))\s+(\w+(\())(\w+)?(?:,(\w+))*(\))
179
+ beginCaptures:
180
+ "6":
181
+ name: punctuation.definition.arguments.remind
182
+ "1":
183
+ name: keyword.control.fset.fsetline.remind
184
+ "2":
185
+ name: entity.name.function.fsetline.remind
186
+ "3":
187
+ name: punctuation.definition.arguments.remind
188
+ "4":
189
+ name: variable.parameter.fsetline.remind
190
+ "5":
191
+ name: variable.parameter.fsetline.remind
192
+ end: (?=#|\n|\z)
193
+ patterns:
194
+ - include: "#expression"
195
+ - name: meta.unsetline.remind
196
+ begin: \b(?i:(UNSET))\b
197
+ beginCaptures:
198
+ "1":
199
+ name: keyword.control.set.unsetline.remind
200
+ end: (?=#|\n|\z)
201
+ patterns:
202
+ - name: variable.other.unsetline.remind
203
+ match: \b\w+\b
204
+ - name: meta.if.remind
205
+ captures:
206
+ "1":
207
+ name: keyword.control.if.remind
208
+ begin: \b(?i:(IF))\b
209
+ end: (?=#|\n|\z)
210
+ patterns:
211
+ - include: "#expression"
212
+ - name: meta.iftrig.remind
213
+ captures:
214
+ "1":
215
+ name: keyword.control.iftrig.remind
216
+ begin: \b(?i:(IFTRIG))\b
217
+ end: (?=#|\n|\z)
218
+ patterns:
219
+ - include: "#trigger"
220
+ - name: keyword.control.else-or-endif.remind
221
+ match: \b(?i:(ELSE|ENDIF))\s*(?=#|\n|\z)
222
+ - name: meta.includeline.remind
223
+ begin: \b(?i:INCLUDE)\b
224
+ beginCaptures:
225
+ "0":
226
+ name: keyword.control.include.commandline.remind
227
+ end: (?=#|\n|\z)
228
+ - name: meta.commandline.remind
229
+ endCaptures:
230
+ "0":
231
+ name: keyword.control.endline.commandline.remind
232
+ begin: \b(?i:REM|OMIT|BANNER)\b
233
+ beginCaptures:
234
+ "0":
235
+ name: keyword.control.command.commandline.remind
236
+ end: (%?[ \t]*)(?=(#|\n|\z))
237
+ patterns:
238
+ - name: keyword.control.expiry.commandline.remind
239
+ match: \b(?i:SCHED|WARN|SCANFROM|SCAN|UNTIL)\b
240
+ - name: meta.satisfy.remind
241
+ begin: \b(?i:SATISFY)\b
242
+ beginCaptures:
243
+ "0":
244
+ name: keyword.control.satisfy.commandline.remind
245
+ end: (?=(#|\n|\z))
246
+ patterns:
247
+ - include: "#expression"
248
+ - include: "#trigger"
249
+ - include: "#message-body"
250
+ - include: "#bracketed-expression"
251
+ - include: "#message"
252
+ - include: "#bracketed-expression"
253
+ - include: "#message"
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: Rez
3
+ fileTypes:
4
+ - r
5
+ scopeName: source.rez
6
+ repository:
7
+ escaped_char:
8
+ name: constant.character.escape.rez
9
+ match: \\.
10
+ uuid: F3EB29E9-8DB7-4052-9D48-5CDD2491D8D3
11
+ foldingStartMarker: (/\*\*|\{\s*$)
12
+ patterns:
13
+ - name: comment.block.rez
14
+ captures:
15
+ "0":
16
+ name: punctuation.definition.comment.rez
17
+ begin: /\*
18
+ end: \*/
19
+ - name: comment.line.double-slash.rez
20
+ captures:
21
+ "1":
22
+ name: punctuation.definition.comment.rez
23
+ match: (//).*$\n?
24
+ - name: keyword.control.rez
25
+ match: \b(?i:(change|data|delete|include|read|resource|type))\b
26
+ comment: Note that Xcode gets case sensitivity wrong (last checked Xcode 2.0). I'm not sure built-in functions are case-insensitive, though, so we might too.
27
+ - name: storage.type.rez
28
+ match: \b(?i:(align|array|binary|bit|bitstring|boolean|byte|case|char|cstring|decimal|enum|fill|hex|integer|key|literal|long|longint|nibble|octal|point|pstring|rect|string|switch|unsigned|wide|word|wstring))\b
29
+ - name: keyword.other.attributes.rez
30
+ match: \b(?i:(appheap|locked|nonpurgeable|purgeable|sysheap|unlocked))\b
31
+ - name: support.function.built-in.rez
32
+ captures:
33
+ "1":
34
+ name: punctuation.definition.function.rez
35
+ match: (\$\$)(?i:(ArrayIndex|Attributes|BitField|Byte|CountOf|Date|Day|Format|Hour|ID|Long|Minute|Month|Name|PackedSize|Read|Resource|ResourceSize|Second|Shell|Time|Type|Version|Weekday|Word|Year))
36
+ - name: constant.numeric.rez
37
+ match: \b(((0(x|X|B)|\$)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
38
+ - name: string.quoted.double.rez
39
+ endCaptures:
40
+ "0":
41
+ name: punctuation.definition.string.end.rez
42
+ begin: "\""
43
+ beginCaptures:
44
+ "0":
45
+ name: punctuation.definition.string.begin.rez
46
+ end: "\""
47
+ patterns:
48
+ - include: "#escaped_char"
49
+ - name: string.quoted.single.rez
50
+ endCaptures:
51
+ "0":
52
+ name: punctuation.definition.string.end.rez
53
+ begin: "'"
54
+ beginCaptures:
55
+ "0":
56
+ name: punctuation.definition.string.begin.rez
57
+ end: "'"
58
+ patterns:
59
+ - include: "#escaped_char"
60
+ - name: string.quoted.other.hex.rez
61
+ endCaptures:
62
+ "0":
63
+ name: punctuation.definition.string.end.rez
64
+ begin: \$"
65
+ beginCaptures:
66
+ "0":
67
+ name: punctuation.definition.string.begin.rez
68
+ end: "\""
69
+ patterns:
70
+ - include: "#escaped_char"
71
+ - name: meta.preprocessor.rez
72
+ captures:
73
+ "1":
74
+ name: punctuation.definition.preprocessor.rez
75
+ "2":
76
+ name: keyword.control.import.rez
77
+ match: ^\s*(#)\s*(define|defined|else|elif|endif|if|ifdef|ifndef|include|line|printf|undef)\b
78
+ foldingStopMarker: (\*\*/|^\s*\})
79
+ keyEquivalent: ^~R
80
+ comment: "Rez. Legacy Mac OS source code frequently contains Rez files. \xE2\x80\x93 chris@cjack.com"
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: Ruby Experimental
3
+ scopeName: source.ruby.experimental
4
+ repository:
5
+ nest_function_parens:
6
+ captures:
7
+ "0":
8
+ name: punctuation.section.scope.ruby.experimental
9
+ begin: \(
10
+ contentName: meta.section.scope.ruby.experimental
11
+ end: \)
12
+ patterns:
13
+ - include: "#nest_function_parens"
14
+ - include: $self
15
+ known_function_names:
16
+ name: support.function.core.ruby
17
+ match: \b(abort_on_exception=|absolute\?|acos!|acosh!|add!|add\?|alive\?|all\?|any\?|asin!|asinh!|async=|atan!|atan2!|atanh!|attributes=|autoload\?|avail_out=|beginning_of_line\?|between\?|block_given\?|blockdev\?|bol\?|capitalize!|casefold\?|changed\?|chardev\?|charset=|chomp!|chop!|close!|closed\?|closed_read\?|closed_write\?|codepage=|collect!|comment=|compact!|const_defined\?|coredump\?|cos!|cosh!|critical=|data=|dataType=|datetime_format=|debug\?|default=|delete!|delete\?|directory\?|dn=|downcase!|dst\?|egid=|eid=|empty\?|enclosed\?|end\?|ended\?|eof\?|eos\?|eql\?|eqn\?|equal\?|error\?|event\?|exclude_end\?|executable\?|executable_real\?|exist\?|exists\?|exit!|exited\?|euid=|exp!|extensions=|fatal\?|file\?|filter=|finished\?|finite\?|flatten!|fnmatch\?|fragment=|frozen\?|fu_have_symlink\?|fu_world_writable\?|gid=|gmt\?|gregorian_leap\?|groups=|grpowned\?|gsub!|has_key\?|has_value\?|headers=|hierarchical\?|host=|identical\?|include\?|infinite\?|info\?|input\?|instance_of\?|integer\?|is_a\?|iterator\?|julian_leap\?|key\?|kind_of\?|leap\?|level=|lineno=|locked\?|log!|log10!|log=|lstrip!|map!|match\?|matched\?|max=|maxgroups=|member\?|merge!|method_defined\?|mountpoint\?|multipart\?|mtime=|multipart\?|nan\?|new!|next!|next\?|nil\?|nodeTypedValue=|nodeValue=|nonzero\?|normalize!|ns\?|ondataavailable=|onreadystatechange=|ontransformnode=|opaque=|optional\?|orig_name=|os\?|output\?|owned\?|params=|password=|path=|pipe\?|pointer=|port=|pos=|power!|preserveWhiteSpace=|priority=|private_method_defined\?|proper_subset\?|proper_superset\?|protected_method_defined\?|public_method_defined\?|query=|re_exchangeable\?|readable\?|readable_real\?|registry=|regular\?|reject!|relative\?|resolveExternals=|respond_to\?|rest\?|retval\?|reverse!|root\?|rstrip!|run\?|run=|scheme=|scope=|secure=|setgid\?|setuid\?|sid_available\?|signaled\?|sin!|singular\?|sinh!|size\?|slice!|socket\?|sort!|sqrt!|square\?|squeeze!|sticky\?|stop\?|stopped\?|stream_end\?|string=|strip!|sub!|subset\?|succ!|success\?|superset\?|swapcase!|symlink\?|sync=|sync_point\?|tainted\?|tan!|tanh!|text=|to=|tr!|tr_s!|tty\?|typecode=|uid=|uniq!|upcase!|uptodate\?|url=|user=|userinfo=|utc\?|valid_civil\?|valid_commercial\?|valid_jd\?|valid_ordinal\?|valid_time\?|validateOnParse=|value=|value\?|visible\?|warn\?|writable\?|writable_real\?|zero\?)|\b(__getobj__|__id__|__init__|__send__|__setobj__|_dump|_getproperty|_id2ref|_invoke|_load|_setproperty|abbrev|abort_on_exception|abort|abs2|absoluteChildNumber|absolute|abs|acosh|acos|add_builtin_type|add_domain_type|add_finalizer|add_observer|add_private_type|add_ruby_type|add|adler32|adler|ajd_to_amjd|ajd_to_jd|ajd|a|all_symbols|all_waits|allocate|amjd_to_ajd|amjd|ancestorChildNumber|ancestors|angle|appendChild|appendData|append_features|args|arg|arity|asctime|asinh|asin|assoc|async|at_exit|atan2|atanh|atan|atime|attributes|at|autoload|avail_in|avail_out|b64encode|backtrace|baseName|basename|base|benchmark|binding|bind|binmode|blksize|blockquote|blocks|bmbm|bm|broadcast|build2|build|call_finalizer|callcc|caller|call|capitalize|caption|captures|casecmp|cd|ceil|center|change_privilege|changed|charset_map|charset|chdir|check_until|checkbox_group|checkbox|check|childNodes|childNumber|children|chmod_R|chmod|chomp|chop|chown_R|chown|chroot|chr|civil_to_jd|civil|class_eval|class_name|class_variable_get|class_variable_set|class_variables|classify|class|cleanpath|clear|cloneNode|clone|close_read|close_write|close|cmp|codepage|coerce|collect2|collect|column_size|column_vector|column_vectors|columns|column|comment|commercial_to_jd|commercial|commit|compact|compare_by_row_vectors|compare_by|compare_file|compare_stream|compile|component_ary|component|concat|conj|conjugate|connect|const_get|const_load|const_missing|const_set|constants|conv|copy_entry|copy_file|copy_stream|copy|cosh|cos|count_observers|count|covector|cp_r|cp|crc32|crc_table|crc|createAttribute|createCDATASection|createComment|createDocumentFragment|createElement|createEntityReference|createNode|createProcessingInstruction|createTextNode|create_docfile|create_win32ole_makefile|critical|crypt|ctime|current|cwday|cweek|cwyear|dataType|data_type|data|datetime_format|day_fraction|day_fraction_to_time|day|debug|decode64|decode_b|decode|def_delegator|def_delegators|def_instance_delegator|def_instance_delegators|def_singleton_delegator|def_singleton_delegators|default_handler|default_port|default_proc|default|define_class|define_finalizer|define_define_define_instance_variables|define_method|define_method_missing|define_module|definition|deflate|deleteData|delete_at|delete_if|delete_observer|delete_observers|delete|denominator|depth|deq|detach|detect|detect_implicit|determinant|det|dev_major|dev_minor|dev|diagonal|difference|dir_foreach|dirname|disable|dispid|display|divide|divmod|div|dn|doctype|documentElement|downcase|downto|dump_stream|dump|dup|each2|each_byte|each_cons|each_document|each_entry|each_filename|each_index|each_key|each_line|each_node|each_object|each_pair|each_slice|each_value|each_with_index|each|eid|elements|emitter|enable|enclose|encode64|encode|end|england|enq|entities|entries|enum_cons|enum_for|enum_slice|enum_with_index|eof|erfc|erf|errno|errorCode|error|escapeElement|escapeHTML|escape|euid|eval|event_interface|exception|exclusive|exclusive_unlock|exec|exit_value|exitstatus|exit|expand_path|exp|extend_object|extended|extensions|extname|extract|failed|fail|fatal|fcntl|fetch|file_field|fileno|filepos|fill|filter|finalizers|find_all|find|finish|first|firstChild|flatten_merge|flatten|flock|floor|flush_next_in|flush_next_out|flush|fnmatch|for_fd|foreachline|foreach|fork|format|formatDate|formatIndex|formatNumber|formatTime|form|freeze|frexp|fsync|ftype|garbage_collect|gcdlcm|gcd|generate_args|generate_argtype|generate_argtypes|generate_class|generate_constants|generate_func_methods|generate_method_args_help|generate_method_body|generate_method_help|generate_methods|generate_method|generate_properties_with_args|generate_propget_methods|generate_propput_methods|generate_propputref_methods|generate|generic_parser|getAllResponseHeaders|getAttribute|getAttributeNode|getElementsByTagName|getNamedItem|getQualifiedItem|getResponseHeader|get_byte|getbyte|getch|getc|getegid|geteuid|getgid|getgm|getlocal|getpgid|getpgrp|getpriority|gets|getuid|getutc|getwd|gid|global_variables|glob|gmt_offset|gmtime|gmtoff|gm|grant_privilege|gregorian|grep|groups|group|gsub|guess1|guess2|guess_old|guess|guid|handler1|handler2|handler3|hasChildNodes|hasFeature|hash|header|helpcontext|helpfile|helpstring|hex|hidden|hour|html_escape|html|httpdate|hypot|h|iconv|id2name|identity|id|imag|image_button|image|img|implementation|im|included_modules|included|indexes|index|indices|induced_from|inflate|info|inherited|init_elements|initgroups|initialize_copy|inject|inner_product|ino|insertBefore|insertData|insert|inspect|install|instance_eval|instance_method|instance_methods|instance_variable_get|instance_variable_set|instance_variables|intern|intersection|inverse|inverse_from|invert|invkind|invoke|invoke_kind|inv|ioctl|isatty|isdst|iseuc|iso8601|issetugid|issjis|isutf8|italy|item|jd_to_ajd|jd_to_civil|jd_to_commercial|jd_to_ld|jd_to_mjd|jd_to_ordinal|jd_to_wday|jd|join_nowait|join|julian|kcode|kconv|keys|kill|lambda|lastChild|last_match|last|lchmod|lchown|lcm|ld_to_jd|ldexp|ld|length|level|lineno|linepos|(?<=\.)line|link|listup|list|ljust|ln_s|ln_sf|ln|loadXML|load_documents|load_file|load_stream|load|local_variables|localtime|local|lock|log10|log|lstat|lstrip|main|major_version|make_link|make_symlink|makedirs|map2|map|marshal_dump|marshal_load|matched|matched_size|matchedsize|match|maxgroups|max|mday|measure|members|memberwise|merge|message_message|method_added|method_missing|method_removed|method_undefined|methods|method|minor|minor_version|min|mjd_to_jd|mjd|mkdir_p|mkdir|mkpath|mktime|mode|module_eval|modulo|month|mon|move|mtime|multipart_form|must_C_version|mv|namespaceURI|name|navigate|nesting|new2|new_start|nextNode|nextSibling|next_wait|next|nitems|nkf|nlink|nodeFromID|nodeName|nodeType|nodeTypeString|nodeTypedValue|nodeValue|normalize|notationName|notations|notify_observers|now|num_waiting|numerator|object_id|object_maker|oct|offset_vtbl|offset|ole_classes|ole_free|ole_func_methods|ole_get_methods|ole_method|ole_method_help|ole_methods|ole_obj_help|ole_put_methods|ole_reference_count|ole_show_help|ole_type_detail|ole_type|oletypelib_name|on_event_with_outargs|on_event|ondataavailable|onreadystatechange|opendir|open|options|ordinal_to_jd|ordinal|orig_name|os_code|out|ownerDocument|pack|params|parentNode|parent|parseError|parse_documents|parse_file|parsed|parser|parse|partition|password|password_field|pass|path|peek|peep|pid|pipe|pointer|polar|popen|popup_menu|pop|post_match|pos|ppid|pre_match|prec_f|prec_i|prec|prefix|preserveWhiteSpace|pretty|previousSibling|printf|print|priority|private_class_method|private_instance_methods|private_methods|proc|progids|progid|protected_instance_methods|protected_methods|prune|publicId|public_class_method|public_instance_methods|public_methods|push|putc|puts|pwd|p|quick_emit|quote|quo|radio_button|radio_group|rand|rank|rassoc|raw_cookie|raw_cookie2|rdev_major|rdev_minor|rdev|rdiv|re_exchange|read_type_class|readchar|readlines|readline|readlink|readpartial|readyState|read|realpath|realtime|real|reason|reduce|regexp|rehash|reject|relative_path_from|remainder|removeAttribute|removeAttributeNode|removeChild|removeNamedItem|removeQualifiedItem|remove_class_variable|remove_const|remove_dir|remove_entry_secure|remove_entry|remove_file|remove_finalizer|remove_instance_variable|remove_method|remove|rename|reopen|replaceChild|replaceData|replace|request_uri|require|reset|resolveExternals|resolver|responseBody|responseStream|responseText|responseXML|rest_size|restore|restsize|rest|result|return_type_detail|return_type|return_vtype|reverse_each|reverse|rewind|rfc1123_date|rfc2822|rfc822|rid|rindex|rjust|rm_f|rm_rf|rm_r|rmdir|rmtree|rm|roots|root|round|route_from|route_to|row_size|row_vector|row_vectors|rows|row|rpower|rstrip|run|r|safe_level|safe_unlink|save(?!!)|scalar|scan_full|scan_until|scan|scope|scrolling_list|search_full|sec|seek|selectNodes|selectSingleNode|select|send|setAttribute|setAttributeNode|setNamedItem|setRequestHeader|set_attributes|set_backtrace|set_dictionary|set_dn|set_eoutvar|set_extensions|set_filter|set_fragment|set_headers|set_host|set_log|set_opaque|set_password|set_path|set_port|set_query|set_registry|set_scheme|set_scope|set_to|set_trace_func|set_typecode|set_user|set_userinfo|setegid|seteuid|setgid|setpgid|setpgrp|setpriority|setproperty|setregid|setresgid|setresuid|setreuid|setrgid|setruid|setsid|setuid|setup|shellwords|shift|signal|sin|singleton_method_added|singleton_method_removed|singleton_method_undefined|singleton_methods|sinh|size_opt_params|size_params|size|skip_until|skip|sleep|slice|sort_by|sort|source|specified|split|splitText|sprintf|sqrt|squeeze|srand|srcText|src_type|start|status|statusText|stat|step|stop_msg_stopsig|stop|store|strftime|string|strip|strptime|sub|submit|substringData|subtract|succ|success|sum|superclass|swapcase|switch|symlink|synchronize|sync|syscall|sysopen|sysread|sysseek|systemId|system|syswrite|tagName|tagurize|taint|tanh|tan|target|teardown|tell|terminate|termsig|test__invoke|test_bracket_equal_with_arg|test_class_to_s|test_const_CP_ACP|test_const_CP_MACCP|test_const_CP_OEMCP|test_const_CP_SYMBOL|test_const_CP_THREAD_ACP|test_const_CP_UTF7|test_const_CP_UTF8|test_convert_bignum|test_dispid|test_each|test_event|test_event_interface|test_get_win32ole_object|test_helpcontext|test_helpfile|test_helpstring|test_input|test_invoke_kind|test_invoke|test_name|test_no_exist_property|test_offset_vtbl|test_ole_func_methods|test_ole_get_methods|test_ole_invoke_with_named_arg|test_ole_invoke_with_named_arg_last|test_ole_method_help|test_ole_methods|test_ole_put_methods|test_ole_type|test_ole_type_detail|test_on_event|test_on_event2|test_on_event3|test_on_event4|test_openSchema|test_optional|test_output|test_return_type|test_return_type_detail|test_return_vtype|test_s_codepage|test_s_codepage_changed|test_s_codepage_set|test_s_connect|test_s_const_load|test_s_test_s_new_DCOM|test_s_new_from_clsid|test_s_ole_classes|test_s_progids|test_s_typelibs|test_setproperty|test_setproperty_bracket|test_setproperty_with_equal|test_src_type|test_to_s|test_typekind|test_value|test_variables|test_variant|test_visible|test|text_field|textarea|text|time_to_day_fraction|timeout|times|tmpdir|to_ary|to_a|to_enum|to_f|to_hash|to_int|to_io|to_i|to_mailtext|to_proc|to_rfc822text|to_r|to_set|to_str|to_sym|to_s|today|toeuc|tojis|tosjis|total_in|total_out|touch|toutf16|toutf8|tr_s|trace_var|trace|transaction|transfer|transformNode|transformNodeToObject|transpose|trap|truncate|try_implicit|try_lock|tr|tv_sec|tv_usec|typekind|typelibs|type|t|uid|umask|unbind|undef_method|undefine_finalizer|unescapeElement|unescapeHTML|unescape|ungetc|union|uniqueID|uniq|unknown|unlink|unlock|unpack|unscan|unshift|untaint|untrace_var|unused|upcase|update|upto|url_encode|url|use_registry|usec|userinfo|user|utc_offset|utc|utime|u|validateOnParse|values_at|values|value|variable_kind|variables|varkind|version|wait2|waitall|waitpid|waitpid2|wait|wakeup|warn|wday|wrap|write|xmlschema|xml|yday|year|yield|zero|zip|zlib_version|zone_offset|zone)\b
18
+ comment: |-
19
+
20
+ adding all the core methods here to provide a visual aid for spelling errors,
21
+ as long as the current theme highlights [support.function] scopes.
22
+
23
+ ie: if you miss type first as fisrt, then the word will not highlight.
24
+ leading-space:
25
+ patterns:
26
+ - name: meta.leading-tabs
27
+ begin: ^(?=(\t| ))
28
+ end: (?=[^\t\s]|\n)
29
+ patterns:
30
+ - captures:
31
+ "6":
32
+ name: meta.even-tab.group6.spaces
33
+ "11":
34
+ name: meta.odd-tab.group11.spaces
35
+ "7":
36
+ name: meta.odd-tab.group7.spaces
37
+ "8":
38
+ name: meta.even-tab.group8.spaces
39
+ "9":
40
+ name: meta.odd-tab.group9.spaces
41
+ "1":
42
+ name: meta.odd-tab.group1.spaces
43
+ "2":
44
+ name: meta.even-tab.group2.spaces
45
+ "3":
46
+ name: meta.odd-tab.group3.spaces
47
+ "4":
48
+ name: meta.even-tab.group4.spaces
49
+ "10":
50
+ name: meta.even-tab.group10.spaces
51
+ "5":
52
+ name: meta.odd-tab.group5.spaces
53
+ match: ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )?
54
+ - captures:
55
+ "6":
56
+ name: meta.even-tab.group6.tab
57
+ "11":
58
+ name: meta.odd-tab.group11.tab
59
+ "7":
60
+ name: meta.odd-tab.group7.tab
61
+ "8":
62
+ name: meta.even-tab.group8.tab
63
+ "9":
64
+ name: meta.odd-tab.group9.tab
65
+ "1":
66
+ name: meta.odd-tab.group1.tab
67
+ "2":
68
+ name: meta.even-tab.group2.tab
69
+ "3":
70
+ name: meta.odd-tab.group3.tab
71
+ "4":
72
+ name: meta.even-tab.group4.tab
73
+ "10":
74
+ name: meta.even-tab.group10.tab
75
+ "5":
76
+ name: meta.odd-tab.group5.tab
77
+ match: (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?
78
+ uuid: C36CAB29-030A-418B-9F72-7FE6D526A408
79
+ foldingStartMarker: "(?x)^\n\
80
+ \t (\\s*+\n\
81
+ \t (module|class|def\n\
82
+ \t |unless|if\n\
83
+ \t |case\n\
84
+ \t |begin\n\
85
+ \t |for|while|until\n\
86
+ \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
87
+ \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
88
+ \t | [^#\"'] # eat all but comments and strings\n\
89
+ \t )*\n\
90
+ \t ( \\s (do|begin|case)\n\
91
+ \t | [-+=&|*/~%^<>~] \\s*+ (if|unless)\n\
92
+ \t )\n\
93
+ \t )\\b\n\
94
+ \t (?! [^;]*+ ; .*? \\bend\\b )\n\
95
+ \t |( \"(\\\\.|[^\"])*+\" # eat a double quoted string\n\
96
+ \t | '(\\\\.|[^'])*+' # eat a single quoted string\n\
97
+ \t | [^#\"'] # eat all but comments and strings\n\
98
+ \t )*\n\
99
+ \t ( \\{ (?! [^}]*+ \\} )\n\
100
+ \t | \\[ (?! [^\\]]*+ \\] )\n\
101
+ \t )\n\
102
+ \t ).*$\n\
103
+ \t| [#] .*? \\(fold\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
104
+ \t"
105
+ patterns:
106
+ - name: meta.function-call.method.without-arguments.ruby
107
+ begin: (?<=[^\.]\.|::)(?=[a-zA-Z][a-zA-Z0-9_!?]*[^a-zA-Z0-9_!?])
108
+ end: (?<=[a-zA-Z0-9_!?])(?=[^a-zA-Z0-9_!?])
109
+ patterns:
110
+ - include: "#known_function_names"
111
+ - name: entity.name.function.ruby
112
+ match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=[^a-zA-Z0-9_!?])
113
+ - name: meta.function-call.method.with-arguments.ruby
114
+ begin: (?<=[^\.])(?=(\.|::)[a-zA-Z][a-zA-Z0-9_!?]*\()(\.|::)
115
+ beginCaptures:
116
+ "1":
117
+ name: punctuation.separator.method.ruby
118
+ end: (?<=\))
119
+ patterns:
120
+ - include: "#nest_function_parens"
121
+ - include: "#known_function_names"
122
+ - name: entity.name.function.ruby
123
+ match: ([a-zA-Z][a-zA-Z0-9_!?]*)(?=\()
124
+ - include: $self
125
+ - name: meta.function-call.ruby
126
+ begin: (?=[a-zA-Z0-9_!?]+\()
127
+ end: (?<=\))
128
+ patterns:
129
+ - include: "#nest_function_parens"
130
+ - include: "#known_function_names"
131
+ - name: entity.name.function.ruby
132
+ match: ([a-zA-Z0-9_!?]+)(?=\()
133
+ - include: $self
134
+ - include: "#leading-space"
135
+ - include: source.ruby
136
+ - name: variable.other.ruby
137
+ match: ((?<=\W)\b|^)\w+\b(?=\s*([\]\)\}\=\+\-\*\/\^\$\,]|<\s|<<\s))
138
+ comment: This is kindof experimental. There really is no way to perfectly match all regular variables, but you can pretty well assume that any normal word in certain curcumstances that havnt already been scoped as something else are probably variables, and the advantages beat the potential errors
139
+ foldingStopMarker: "(?x)\n\
140
+ \t\t( (^|;) \\s*+ end \\s*+ ([#].*)? $\n\
141
+ \t\t| (^|;) \\s*+ end \\. .* $\n\
142
+ \t\t| ^ \\s*+ [}\\]]\\)? \\s*+ ([#].*)? $\n\
143
+ \t\t| [#] .*? \\(end\\) \\s*+ $ # Sune\xE2\x80\x99s special marker\n\
144
+ \t\t)"
145
+ keyEquivalent: ^~R