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: Active4D Config
3
+ fileTypes:
4
+ - ini
5
+ scopeName: text.active4d-ini
6
+ repository:
7
+ escaped_char:
8
+ name: constant.character.escape.active4d-ini
9
+ match: \\.
10
+ uuid: BECA5580-F845-4715-889C-134DF4BF67C2
11
+ patterns:
12
+ - name: comment.line.double-slash.active4d-ini
13
+ captures:
14
+ "1":
15
+ name: punctuation.definition.comment.active4d-ini
16
+ match: (//).*$\n?
17
+ - name: comment.line.backtick.active4d-ini
18
+ captures:
19
+ "1":
20
+ name: punctuation.definition.comment.active4d-ini
21
+ match: (`).*$\n?
22
+ - name: comment.line.double-backslash.continuation.active4d-ini
23
+ captures:
24
+ "1":
25
+ name: punctuation.definition.comment.active4d-ini
26
+ match: (\\\\).*$\n?
27
+ - name: comment.block.active4d-ini
28
+ captures:
29
+ "0":
30
+ name: punctuation.definition.comment.active4d-ini
31
+ begin: /\*
32
+ end: \*/
33
+ - name: string.quoted.double.active4d-ini
34
+ endCaptures:
35
+ "0":
36
+ name: punctuation.definition.string.end.active4d-ini
37
+ begin: "\"(?!\"\")"
38
+ beginCaptures:
39
+ "0":
40
+ name: punctuation.definition.string.begin.active4d-ini
41
+ end: "\""
42
+ patterns:
43
+ - include: "#escaped_char"
44
+ - name: constant.language.boolean.active4d-ini
45
+ match: \b(?i)(true|false|yes|no)\b
46
+ - name: keyword.operator.active4d-ini
47
+ match: "="
48
+ - name: support.constant.active4d-ini
49
+ match: (?i)((\b(use sessions|use session cookies|session var name|session timeout|session purge interval|session cookie path|session cookie name|session cookie domain|serve nonexecutables|script timeout|safe script dirs|safe doc dirs|root|refresh interval|receive timeout|platform charset|parameter mode|output encoding|output charset|max request size|log level|lib extension|lib dirs|http error page|fusebox page|expires|executable extensions|error page|default page|content charset|client is web server|cache control|auto relate one|auto relate many|auto refresh libs|auto create vars)\b)|(\<default\>|\<web\>|\<4d volume\>|\<boot volume\>))
50
+ keyEquivalent: ^~A
@@ -0,0 +1,287 @@
1
+ ---
2
+ name: Bulletin Board
3
+ fileTypes:
4
+ - bbcode
5
+ scopeName: text.bbcode
6
+ uuid: AC4E0E7E-CC15-4394-A858-6C7E3C09C414
7
+ foldingStartMarker: |-
8
+ (?x)
9
+ (\[(?i:quote|code|list)\b.*?\]
10
+ |<!--(?!.*-->)
11
+ |\{\s*($|\?>\s*$|//|/\*(.*\*/\s*$|(?!.*?\*/)))
12
+ )
13
+ patterns:
14
+ - captures:
15
+ "0":
16
+ name: meta.tag.bbcode
17
+ "1":
18
+ name: punctuation.definition.tag.bbcode
19
+ "2":
20
+ name: punctuation.definition.tag.bbcode
21
+ begin: (\[)(?i:list)(\])
22
+ end: (\[/)(?i:list)(\])
23
+ patterns:
24
+ - captures:
25
+ "0":
26
+ name: meta.tag.bbcode
27
+ "1":
28
+ name: punctuation.definition.tag.bbcode
29
+ begin: (\[\*\])
30
+ contentName: markup.list.unnumbered.bbcode
31
+ end: (?=\[\*\]|\[/(?i:list)\])
32
+ patterns:
33
+ - include: $self
34
+ - endCaptures:
35
+ "0":
36
+ name: meta.tag.bbcode
37
+ "1":
38
+ name: punctuation.definition.tag.bbcode
39
+ "2":
40
+ name: punctuation.definition.tag.bbcode
41
+ begin: (\[)(?i:list)=(1|a)(\])
42
+ beginCaptures:
43
+ "0":
44
+ name: meta.tag.bbcode
45
+ "1":
46
+ name: punctuation.definition.tag.bbcode
47
+ "2":
48
+ name: constant.other.list-type.bbcode
49
+ "3":
50
+ name: punctuation.definition.tag.bbcode
51
+ end: (\[/)(?i:list)(\])
52
+ patterns:
53
+ - captures:
54
+ "0":
55
+ name: meta.tag.bbcode
56
+ "1":
57
+ name: punctuation.definition.tag.bbcode
58
+ begin: (\[\*\])
59
+ contentName: markup.list.numbered.bbcode
60
+ end: (?=\[\*\]|\[/(?i:list)\])
61
+ patterns:
62
+ - include: $self
63
+ - captures:
64
+ "0":
65
+ name: meta.tag.bbcode
66
+ "1":
67
+ name: punctuation.definition.tag.bbcode
68
+ "2":
69
+ name: punctuation.definition.tag.bbcode
70
+ begin: (\[)(?i:quote)(?:=[^\]]+)?(\])
71
+ contentName: markup.quote.bbcode
72
+ end: (\[/)(?i:quote)(\])
73
+ patterns:
74
+ - include: $self
75
+ - captures:
76
+ "0":
77
+ name: meta.tag.bbcode
78
+ "1":
79
+ name: punctuation.definition.tag.bbcode
80
+ "2":
81
+ name: punctuation.definition.tag.bbcode
82
+ begin: (\[)(?i:code)(\])
83
+ contentName: markup.raw.block.bbcode
84
+ end: (\[/)(?i:code)(\])
85
+ - captures:
86
+ "0":
87
+ name: meta.tag.bbcode
88
+ "1":
89
+ name: punctuation.definition.tag.bbcode
90
+ "2":
91
+ name: punctuation.definition.tag.bbcode
92
+ begin: (\[)(?i:i)(\])
93
+ contentName: markup.italic.bbcode
94
+ end: (\[/)(?i:i)(\])
95
+ patterns:
96
+ - include: $self
97
+ - captures:
98
+ "0":
99
+ name: meta.tag.bbcode
100
+ "1":
101
+ name: punctuation.definition.tag.bbcode
102
+ "2":
103
+ name: punctuation.definition.tag.bbcode
104
+ begin: (\[)(?i:b)(\])
105
+ contentName: markup.bold.bbcode
106
+ end: (\[/)(?i:b)(\])
107
+ patterns:
108
+ - include: $self
109
+ - captures:
110
+ "0":
111
+ name: meta.tag.bbcode
112
+ "1":
113
+ name: punctuation.definition.tag.bbcode
114
+ "2":
115
+ name: punctuation.definition.tag.bbcode
116
+ begin: (\[)(?i:u)(\])
117
+ contentName: markup.underline.bbcode
118
+ end: (\[/)(?i:u)(\])
119
+ patterns:
120
+ - include: $self
121
+ - captures:
122
+ "0":
123
+ name: meta.tag.bbcode
124
+ "1":
125
+ name: punctuation.definition.tag.bbcode
126
+ "2":
127
+ name: punctuation.definition.tag.bbcode
128
+ begin: (\[)(?i:strike)(\])
129
+ contentName: markup.other.strikethrough.bbcode
130
+ end: (\[/)(?i:strike)(\])
131
+ patterns:
132
+ - include: $self
133
+ - endCaptures:
134
+ "0":
135
+ name: meta.tag.bbcode
136
+ "1":
137
+ name: punctuation.definition.tag.bbcode
138
+ "2":
139
+ name: punctuation.definition.tag.bbcode
140
+ begin: |-
141
+ (?x)(\[)(?i:color)=(
142
+ (?i:(red|green|blue|yellow
143
+ |white|black|pink
144
+ |purple|brown|grey))
145
+ |(\#([0-9a-fA-F]{6}))
146
+ |([^\]]+))
147
+ (\])
148
+ contentName: markup.other.colored.bbcode
149
+ beginCaptures:
150
+ "6":
151
+ name: invalid.illegal.expected-a-color.bbcode
152
+ "7":
153
+ name: punctuation.definition.tag.bbcode
154
+ "0":
155
+ name: meta.tag.bbcode
156
+ "1":
157
+ name: punctuation.definition.tag.bbcode
158
+ "2":
159
+ name: constant.other.named-color.bbcode
160
+ "3":
161
+ name: constant.other.rgb-value.bbcode
162
+ end: (\[/)(?i:color)(\])
163
+ patterns:
164
+ - include: $self
165
+ - endCaptures:
166
+ "0":
167
+ name: meta.tag.bbcode
168
+ "1":
169
+ name: punctuation.definition.tag.bbcode
170
+ "2":
171
+ name: punctuation.definition.tag.bbcode
172
+ begin: |-
173
+ (?x)(\[)(?i:size)=
174
+ (?i:([0-9]{1,3})\b
175
+ |([^\]]+))
176
+ (\])
177
+ contentName: markup.other.resized.bbcode
178
+ beginCaptures:
179
+ "0":
180
+ name: meta.tag.bbcode
181
+ "1":
182
+ name: punctuation.definition.tag.bbcode
183
+ "2":
184
+ name: constant.numeric.size.bbcode
185
+ "3":
186
+ name: invalid.illegal.expected-a-size.bbcode
187
+ "4":
188
+ name: punctuation.definition.tag.bbcode
189
+ end: (\[/)(?i:size)(\])
190
+ patterns:
191
+ - include: $self
192
+ - name: meta.link.inline.bbcode
193
+ endCaptures:
194
+ "0":
195
+ name: meta.tag.bbcode
196
+ "1":
197
+ name: punctuation.definition.tag.bbcode
198
+ "2":
199
+ name: punctuation.definition.tag.bbcode
200
+ begin: (\[)(?i:url)=([^\]]+)(\])
201
+ contentName: string.other.link.title.bbcode
202
+ beginCaptures:
203
+ "0":
204
+ name: meta.tag.bbcode
205
+ "1":
206
+ name: punctuation.definition.tag.bbcode
207
+ "2":
208
+ name: markup.underline.link.bbcode
209
+ "3":
210
+ name: punctuation.definition.tag.bbcode
211
+ end: (\[/)(?i:url)(\])
212
+ patterns:
213
+ - include: $self
214
+ - name: meta.link.inline.bbcode
215
+ captures:
216
+ "0":
217
+ name: meta.tag.bbcode
218
+ "1":
219
+ name: punctuation.definition.tag.bbcode
220
+ "2":
221
+ name: punctuation.definition.tag.bbcode
222
+ begin: (\[)(?i:url)(\])
223
+ contentName: markup.underline.link.bbcode
224
+ end: (\[/)(?i:url)(\])
225
+ patterns:
226
+ - match: "[\\[]]+"
227
+ - name: meta.link.inline.bbcode
228
+ captures:
229
+ "0":
230
+ name: meta.tag.bbcode
231
+ "1":
232
+ name: punctuation.definition.tag.bbcode
233
+ "2":
234
+ name: punctuation.definition.tag.bbcode
235
+ begin: (\[)(?i:email)(\])
236
+ contentName: markup.underline.link.email.bbcode
237
+ end: (\[/)(?i:email)(\])
238
+ patterns:
239
+ - match: "[\\[]]+"
240
+ - name: meta.link.image.bbcode
241
+ endCaptures:
242
+ "0":
243
+ name: meta.tag.bbcode
244
+ "1":
245
+ name: punctuation.definition.tag.bbcode
246
+ "2":
247
+ name: punctuation.definition.tag.bbcode
248
+ begin: (\[)(?i:img)(:((?i:right|left|top))|([^\]]+))?(\])
249
+ contentName: markup.underline.link.image.bbcode
250
+ beginCaptures:
251
+ "0":
252
+ name: meta.tag.bbcode
253
+ "1":
254
+ name: punctuation.definition.tag.bbcode
255
+ "3":
256
+ name: constant.other.alignment.bbcode
257
+ "4":
258
+ name: invalid.illegal.expected-an-alignment.bbcode
259
+ "5":
260
+ name: punctuation.definition.tag.bbcode
261
+ end: (\[/)(?i:img)(\])
262
+ patterns:
263
+ - match: "[\\[]]+?"
264
+ - name: constant.other.smiley.bbcode
265
+ captures:
266
+ "3":
267
+ name: punctuation.definition.constant.bbcode
268
+ "5":
269
+ name: punctuation.definition.constant.bbcode
270
+ match: |-
271
+ (?x)
272
+ (
273
+ (
274
+ (:)
275
+ (mad|rolleyes|cool|eek|confused|devious|
276
+ judge|scared|eyebrow|bigdumbgrin)
277
+ (:)
278
+ )
279
+ | (?::\)|;\)|:D|:\(|:p|:o)
280
+ )
281
+ foldingStopMarker: |-
282
+ (?x)
283
+ (\[/(?i:quote|code|list)\b.*?\]
284
+ |^\s*-->
285
+ |(^|\s)\}
286
+ )
287
+ keyEquivalent: ^~B
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: BibTeX
3
+ fileTypes:
4
+ - bib
5
+ scopeName: text.bibtex
6
+ repository:
7
+ nested_braces:
8
+ endCaptures:
9
+ "0":
10
+ name: punctuation.definition.group.end.bibtex
11
+ begin: \{
12
+ beginCaptures:
13
+ "0":
14
+ name: punctuation.definition.group.begin.bibtex
15
+ end: \}
16
+ patterns:
17
+ - include: "#nested_braces"
18
+ integer:
19
+ name: constant.numeric.bibtex
20
+ match: \d+
21
+ string_content:
22
+ patterns:
23
+ - name: string.quoted.double.bibtex
24
+ endCaptures:
25
+ "0":
26
+ name: punctuation.definition.string.end.bibtex
27
+ begin: "\""
28
+ beginCaptures:
29
+ "0":
30
+ name: punctuation.definition.string.begin.bibtex
31
+ end: "\""
32
+ patterns:
33
+ - include: "#nested_braces"
34
+ - name: string.quoted.other.braces.bibtex
35
+ endCaptures:
36
+ "0":
37
+ name: punctuation.definition.string.end.bibtex
38
+ begin: \{
39
+ beginCaptures:
40
+ "0":
41
+ name: punctuation.definition.string.begin.bibtex
42
+ end: \}
43
+ patterns:
44
+ - name: invalid.illegal.at-sign.bibtex
45
+ match: "@"
46
+ - include: "#nested_braces"
47
+ uuid: 47F30BA1-6B1D-11D9-9A60-000D93589AF6
48
+ foldingStartMarker: \@[a-zA-Z]+\s*[{(].+,
49
+ patterns:
50
+ - name: comment.line.at-sign.bibtex
51
+ begin: "@Comment"
52
+ beginCaptures:
53
+ "0":
54
+ name: punctuation.definition.comment.bibtex
55
+ end: $\n?
56
+ - name: meta.string-constant.braces.bibtex
57
+ endCaptures:
58
+ "0":
59
+ name: punctuation.section.string-constant.end.bibtex
60
+ begin: ((@)String)\s*(\{)\s*([a-zA-Z]*)
61
+ beginCaptures:
62
+ "1":
63
+ name: keyword.other.string-constant.bibtex
64
+ "2":
65
+ name: punctuation.definition.keyword.bibtex
66
+ "3":
67
+ name: punctuation.section.string-constant.begin.bibtex
68
+ "4":
69
+ name: variable.other.bibtex
70
+ end: \}
71
+ patterns:
72
+ - include: "#string_content"
73
+ - name: meta.string-constant.parenthesis.bibtex
74
+ endCaptures:
75
+ "0":
76
+ name: punctuation.section.string-constant.end.bibtex
77
+ begin: ((@)String)\s*(\()\s*([a-zA-Z]*)
78
+ beginCaptures:
79
+ "1":
80
+ name: keyword.other.string-constant.bibtex
81
+ "2":
82
+ name: punctuation.definition.keyword.bibtex
83
+ "3":
84
+ name: punctuation.section.string-constant.begin.bibtex
85
+ "4":
86
+ name: variable.other.bibtex
87
+ end: \)
88
+ patterns:
89
+ - include: "#string_content"
90
+ - name: meta.entry.braces.bibtex
91
+ endCaptures:
92
+ "0":
93
+ name: punctuation.section.entry.end.bibtex
94
+ begin: ((@)[a-zA-Z]+)\s*(\{)\s*([^\s,]*)
95
+ beginCaptures:
96
+ "1":
97
+ name: keyword.other.entry-type.bibtex
98
+ "2":
99
+ name: punctuation.definition.keyword.bibtex
100
+ "3":
101
+ name: punctuation.section.entry.begin.bibtex
102
+ "4":
103
+ name: entity.name.type.entry-key.bibtex
104
+ end: \}
105
+ patterns:
106
+ - name: meta.key-assignment.bibtex
107
+ begin: ([a-zA-Z]+)\s*(\=)
108
+ beginCaptures:
109
+ "1":
110
+ name: string.unquoted.key.bibtex
111
+ "2":
112
+ name: punctuation.separator.key-value.bibtex
113
+ end: (?=[,}])
114
+ patterns:
115
+ - include: "#string_content"
116
+ - include: "#integer"
117
+ - name: meta.entry.parenthesis.bibtex
118
+ endCaptures:
119
+ "0":
120
+ name: punctuation.section.entry.end.bibtex
121
+ begin: ((@)[a-zA-Z]+)\s*(\()\s*([^\s,]*)
122
+ beginCaptures:
123
+ "1":
124
+ name: keyword.other.entry-type.bibtex
125
+ "2":
126
+ name: punctuation.definition.keyword.bibtex
127
+ "3":
128
+ name: punctuation.section.entry.begin.bibtex
129
+ "4":
130
+ name: entity.name.type.entry-key.bibtex
131
+ end: \)
132
+ patterns:
133
+ - name: meta.key-assignment.bibtex
134
+ begin: ([a-zA-Z]+)\s*(\=)
135
+ beginCaptures:
136
+ "1":
137
+ name: string.unquoted.key.bibtex
138
+ "2":
139
+ name: punctuation.separator.key-value.bibtex
140
+ end: (?=[,)])
141
+ patterns:
142
+ - include: "#string_content"
143
+ - include: "#integer"
144
+ - name: comment.block.bibtex
145
+ begin: "[^@\\n]"
146
+ end: (?=@)
147
+ foldingStopMarker: ^\s*[)}]\s*$
148
+ comment: "Grammar based on description from http://artis.imag.fr/~Xavier.Decoret/resources/xdkbibtex/bibtex_summary.html#comment\n\
149
+ \t\n\
150
+ \tTODO: Does not support @preamble\n\
151
+ \t"