ver 2009.10.14

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.
Files changed (188) hide show
  1. data/CHANGELOG +1404 -0
  2. data/MANIFEST +187 -0
  3. data/Rakefile +30 -0
  4. data/TODO +169 -0
  5. data/bin/ver +19 -0
  6. data/config/detect.rb +109 -0
  7. data/config/keymap/vim.rb +239 -0
  8. data/config/rc.rb +0 -0
  9. data/config/scratch +3 -0
  10. data/config/syntax/ANTLR.json +275 -0
  11. data/config/syntax/ASP VB.net.json +228 -0
  12. data/config/syntax/ASP.json +135 -0
  13. data/config/syntax/ActionScript.json +168 -0
  14. data/config/syntax/Ada.json +108 -0
  15. data/config/syntax/Apache.json +342 -0
  16. data/config/syntax/AppleScript.json +721 -0
  17. data/config/syntax/Bibtex.json +253 -0
  18. data/config/syntax/Blog (HTML).json +47 -0
  19. data/config/syntax/Blog (Markdown).json +50 -0
  20. data/config/syntax/Blog (Text).json +45 -0
  21. data/config/syntax/Blog (Textile).json +45 -0
  22. data/config/syntax/Bulletin Board.json +428 -0
  23. data/config/syntax/C++.json +323 -0
  24. data/config/syntax/C.json +694 -0
  25. data/config/syntax/CSS.json +346 -0
  26. data/config/syntax/DOT.json +79 -0
  27. data/config/syntax/Diff.json +136 -0
  28. data/config/syntax/Dylan.json +104 -0
  29. data/config/syntax/Eiffel.json +128 -0
  30. data/config/syntax/Erlang.json +1636 -0
  31. data/config/syntax/F-Script.json +137 -0
  32. data/config/syntax/FXScript.json +260 -0
  33. data/config/syntax/Gri.json +141 -0
  34. data/config/syntax/HTML (Mason).json +207 -0
  35. data/config/syntax/HTML (Rails).json +52 -0
  36. data/config/syntax/HTML (Tcl).json +42 -0
  37. data/config/syntax/HTML for ASP.net.json +736 -0
  38. data/config/syntax/HTML-ASP.json +45 -0
  39. data/config/syntax/HTML.json +614 -0
  40. data/config/syntax/Haskell.json +407 -0
  41. data/config/syntax/Inform.json +80 -0
  42. data/config/syntax/Ini.json +91 -0
  43. data/config/syntax/Io.json +142 -0
  44. data/config/syntax/Java.json +745 -0
  45. data/config/syntax/JavaProperties.json +42 -0
  46. data/config/syntax/JavaScript.json +446 -0
  47. data/config/syntax/LaTeX Beamer.json +65 -0
  48. data/config/syntax/LaTeX Log.json +88 -0
  49. data/config/syntax/LaTeX.json +962 -0
  50. data/config/syntax/Lighttpd.json +93 -0
  51. data/config/syntax/Lisp.json +101 -0
  52. data/config/syntax/Literate Haskell.json +55 -0
  53. data/config/syntax/Logtalk.json +289 -0
  54. data/config/syntax/Lua.json +146 -0
  55. data/config/syntax/M.json +744 -0
  56. data/config/syntax/MEL.json +161 -0
  57. data/config/syntax/MIPS.json +114 -0
  58. data/config/syntax/Mail.json +224 -0
  59. data/config/syntax/Makefile.json +66 -0
  60. data/config/syntax/Markdown.json +644 -0
  61. data/config/syntax/Modula-3.json +80 -0
  62. data/config/syntax/Movable Type.json +348 -0
  63. data/config/syntax/OCaml.json +1391 -0
  64. data/config/syntax/Objective-C++.json +21 -0
  65. data/config/syntax/OpenGL.json +24 -0
  66. data/config/syntax/PHP.json +2184 -0
  67. data/config/syntax/Pascal.json +128 -0
  68. data/config/syntax/Perl.json +2091 -0
  69. data/config/syntax/Plain text.json +49 -0
  70. data/config/syntax/Processing.json +188 -0
  71. data/config/syntax/Quake3 Config.json +54 -0
  72. data/config/syntax/R.json +157 -0
  73. data/config/syntax/Rez.json +137 -0
  74. data/config/syntax/Ruby on Rails.json +170 -0
  75. data/config/syntax/Ruby.json +1753 -0
  76. data/config/syntax/SQL (Rails).json +31 -0
  77. data/config/syntax/SQL.json +435 -0
  78. data/config/syntax/SWIG.json +96 -0
  79. data/config/syntax/Scheme.json +359 -0
  80. data/config/syntax/Shell-Unix-Generic.json +1198 -0
  81. data/config/syntax/Slate.json +265 -0
  82. data/config/syntax/Smarty.json +110 -0
  83. data/config/syntax/Standard ML.json +322 -0
  84. data/config/syntax/Subversion commit message.json +62 -0
  85. data/config/syntax/Tcl.json +278 -0
  86. data/config/syntax/TeX Math.json +83 -0
  87. data/config/syntax/TeX.json +157 -0
  88. data/config/syntax/Textile.json +273 -0
  89. data/config/syntax/Twiki.json +436 -0
  90. data/config/syntax/Vectorscript.json +97 -0
  91. data/config/syntax/XML strict.json +148 -0
  92. data/config/syntax/XML.json +301 -0
  93. data/config/syntax/XSL.json +96 -0
  94. data/config/syntax/YAML.json +293 -0
  95. data/config/syntax/iCalendar.json +51 -0
  96. data/config/syntax/reStructuredText.json +403 -0
  97. data/config/theme/Active4D.json +260 -0
  98. data/config/theme/All Hallow's Eve.json +171 -0
  99. data/config/theme/Amy.json +359 -0
  100. data/config/theme/BBEdit.json +269 -0
  101. data/config/theme/Bespin.json +322 -0
  102. data/config/theme/Blackboard.json +215 -0
  103. data/config/theme/BoysAndGirls01.json +156 -0
  104. data/config/theme/Brilliance Black.json +1695 -0
  105. data/config/theme/Brilliance Dull.json +1451 -0
  106. data/config/theme/Classic Modified.json +288 -0
  107. data/config/theme/Cobalt.json +345 -0
  108. data/config/theme/Cool Glow.json +215 -0
  109. data/config/theme/Dawn.json +258 -0
  110. data/config/theme/Eiffel.json +270 -0
  111. data/config/theme/Espresso Libre.json +247 -0
  112. data/config/theme/Fluidvision.json +272 -0
  113. data/config/theme/IDLE.json +159 -0
  114. data/config/theme/LAZY.json +178 -0
  115. data/config/theme/Mac Classic.json +277 -0
  116. data/config/theme/MagicWB (Amiga).json +231 -0
  117. data/config/theme/Merbivore Soft.json +181 -0
  118. data/config/theme/Merbivore.json +181 -0
  119. data/config/theme/Monokai.json +177 -0
  120. data/config/theme/Notepad2.json +166 -0
  121. data/config/theme/Pastels on Dark.json +437 -0
  122. data/config/theme/RubyBlue.json +226 -0
  123. data/config/theme/Sin City 2.json +361 -0
  124. data/config/theme/Slate.json +270 -0
  125. data/config/theme/Slush & Poppies.json +232 -0
  126. data/config/theme/SpaceCadet.json +143 -0
  127. data/config/theme/Sunburst.json +415 -0
  128. data/config/theme/Twilight BG FG.json +633 -0
  129. data/config/theme/Twilight.json +321 -0
  130. data/config/theme/Whys Poignant.json +119 -0
  131. data/config/theme/Zenburnesque.json +237 -0
  132. data/config/theme/barf.json +155 -0
  133. data/config/theme/fake.json +418 -0
  134. data/config/theme/happydeluxe.json +114 -0
  135. data/config/theme/iLife 05.json +393 -0
  136. data/config/theme/iPlastic.json +177 -0
  137. data/config/theme/mintBlue Dark.json +414 -0
  138. data/config/theme/mintBlue.json +415 -0
  139. data/config/theme/monoindustrial.json +276 -0
  140. data/config/theme/starlight.json +67 -0
  141. data/config/tutorial +74 -0
  142. data/config/welcome +115 -0
  143. data/help/index.verh +14 -0
  144. data/lib/ver.rb +156 -0
  145. data/lib/ver/entry.rb +97 -0
  146. data/lib/ver/keymap.rb +96 -0
  147. data/lib/ver/layout.rb +107 -0
  148. data/lib/ver/methods.rb +19 -0
  149. data/lib/ver/methods/completion.rb +116 -0
  150. data/lib/ver/methods/control.rb +340 -0
  151. data/lib/ver/methods/insert.rb +6 -0
  152. data/lib/ver/methods/move.rb +65 -0
  153. data/lib/ver/methods/search.rb +33 -0
  154. data/lib/ver/methods/select.rb +145 -0
  155. data/lib/ver/methods/views.rb +21 -0
  156. data/lib/ver/mode.rb +160 -0
  157. data/lib/ver/options.rb +207 -0
  158. data/lib/ver/plist.rb +106 -0
  159. data/lib/ver/status.rb +67 -0
  160. data/lib/ver/syntax.rb +68 -0
  161. data/lib/ver/syntax/detector.rb +53 -0
  162. data/lib/ver/syntax/processor.rb +48 -0
  163. data/lib/ver/text.rb +374 -0
  164. data/lib/ver/textpow.rb +357 -0
  165. data/lib/ver/theme.rb +162 -0
  166. data/lib/ver/vendor/fuzzy_file_finder.rb +340 -0
  167. data/lib/ver/view.rb +163 -0
  168. data/lib/ver/view/entry.rb +28 -0
  169. data/lib/ver/view/list.rb +137 -0
  170. data/lib/ver/view/list/buffer.rb +27 -0
  171. data/lib/ver/view/list/fuzzy_file_finder.rb +44 -0
  172. data/lib/ver/view/list/syntax.rb +13 -0
  173. data/lib/ver/view/list/theme.rb +13 -0
  174. data/spec/keymap.rb +224 -0
  175. data/tasks/bacon.rake +49 -0
  176. data/tasks/changelog.rake +18 -0
  177. data/tasks/gem.rake +22 -0
  178. data/tasks/gem_installer.rake +76 -0
  179. data/tasks/grancher.rake +12 -0
  180. data/tasks/install_dependencies.rake +6 -0
  181. data/tasks/manifest.rake +4 -0
  182. data/tasks/plist2json.rake +35 -0
  183. data/tasks/rcov.rake +18 -0
  184. data/tasks/release.rake +12 -0
  185. data/tasks/reversion.rake +8 -0
  186. data/tasks/syntax_list.rake +31 -0
  187. data/ver.gemspec +29 -0
  188. metadata +241 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "fileTypes": [
3
+ "erbsql",
4
+ "sql.erb"
5
+ ],
6
+ "foldingStartMarker": "\\s*\\(\\s*$",
7
+ "foldingStopMarker": "^\\s*\\)",
8
+ "keyEquivalent": "^~R",
9
+ "name": "SQL (Rails)",
10
+ "patterns": [
11
+ {
12
+ "begin": "<%+(?!>)=?",
13
+ "end": "%>",
14
+ "name": "source.ruby.rails.embedded.sql",
15
+ "patterns": [
16
+ {
17
+ "match": "#.*?(?=%>)",
18
+ "name": "comment.line.number-sign.ruby"
19
+ },
20
+ {
21
+ "include": "source.ruby.rails"
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "include": "source.sql"
27
+ }
28
+ ],
29
+ "scopeName": "source.sql.ruby",
30
+ "uuid": "D54FBDED-5481-4CC7-B75F-66465A499882"
31
+ }
@@ -0,0 +1,435 @@
1
+ {
2
+ "fileTypes": [
3
+ "sql",
4
+ "ddl",
5
+ "dml"
6
+ ],
7
+ "foldingStartMarker": "\\s*\\(\\s*$",
8
+ "foldingStopMarker": "^\\s*\\)",
9
+ "keyEquivalent": "^~S",
10
+ "name": "SQL",
11
+ "patterns": [
12
+ {
13
+ "include": "#comments"
14
+ },
15
+ {
16
+ "captures": {
17
+ "1": {
18
+ "name": "keyword.other.create.sql"
19
+ },
20
+ "2": {
21
+ "name": "keyword.other.sql"
22
+ },
23
+ "5": {
24
+ "name": "entity.name.function.sql"
25
+ }
26
+ },
27
+ "match": "(?i:^\\s*(create)\\s+(aggregate|conversion|database|domain|function|group|(unique\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)(['\"`]?)(\\w+)\\4",
28
+ "name": "meta.create.sql"
29
+ },
30
+ {
31
+ "captures": {
32
+ "1": {
33
+ "name": "keyword.other.create.sql"
34
+ },
35
+ "2": {
36
+ "name": "keyword.other.sql"
37
+ }
38
+ },
39
+ "match": "(?i:^\\s*(drop)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))",
40
+ "name": "meta.drop.sql"
41
+ },
42
+ {
43
+ "captures": {
44
+ "1": {
45
+ "name": "keyword.other.create.sql"
46
+ },
47
+ "2": {
48
+ "name": "keyword.other.table.sql"
49
+ },
50
+ "3": {
51
+ "name": "entity.name.function.sql"
52
+ },
53
+ "4": {
54
+ "name": "keyword.other.cascade.sql"
55
+ }
56
+ },
57
+ "match": "(?i:\\s*(drop)\\s+(table)\\s+(\\w+)(\\s+cascade)?\\b)",
58
+ "name": "meta.drop.sql"
59
+ },
60
+ {
61
+ "captures": {
62
+ "1": {
63
+ "name": "keyword.other.create.sql"
64
+ },
65
+ "2": {
66
+ "name": "keyword.other.table.sql"
67
+ }
68
+ },
69
+ "match": "(?i:^\\s*(alter)\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\s+)",
70
+ "name": "meta.alter.sql"
71
+ },
72
+ {
73
+ "captures": {
74
+ "1": {
75
+ "name": "storage.type.sql"
76
+ },
77
+ "10": {
78
+ "name": "constant.numeric.sql"
79
+ },
80
+ "11": {
81
+ "name": "storage.type.sql"
82
+ },
83
+ "12": {
84
+ "name": "storage.type.sql"
85
+ },
86
+ "13": {
87
+ "name": "storage.type.sql"
88
+ },
89
+ "14": {
90
+ "name": "constant.numeric.sql"
91
+ },
92
+ "15": {
93
+ "name": "storage.type.sql"
94
+ },
95
+ "2": {
96
+ "name": "storage.type.sql"
97
+ },
98
+ "3": {
99
+ "name": "constant.numeric.sql"
100
+ },
101
+ "4": {
102
+ "name": "storage.type.sql"
103
+ },
104
+ "5": {
105
+ "name": "constant.numeric.sql"
106
+ },
107
+ "6": {
108
+ "name": "storage.type.sql"
109
+ },
110
+ "7": {
111
+ "name": "constant.numeric.sql"
112
+ },
113
+ "8": {
114
+ "name": "constant.numeric.sql"
115
+ },
116
+ "9": {
117
+ "name": "storage.type.sql"
118
+ }
119
+ },
120
+ "match": "(?xi)\n\n\t\t\t\t# normal stuff, capture 1\n\t\t\t\t \\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\b\n\n\t\t\t\t# numeric suffix, capture 2 + 3i\n\t\t\t\t|\\b(bit\\svarying|character\\s(?:varying)?|tinyint|var\\schar|float|interval)\\((\\d+)\\)\n\n\t\t\t\t# optional numeric suffix, capture 4 + 5i\n\t\t\t\t|\\b(char|number|varchar\\d?)\\b(?:\\((\\d+)\\))?\n\n\t\t\t\t# special case, capture 6 + 7i + 8i\n\t\t\t\t|\\b(numeric)\\b(?:\\((\\d+),(\\d+)\\))?\n\n\t\t\t\t# special case, captures 9, 10i, 11\n\t\t\t\t|\\b(times)(?:\\((\\d+)\\))(\\swithoutstimeszone\\b)?\n\n\t\t\t\t# special case, captures 12, 13, 14i, 15\n\t\t\t\t|\\b(timestamp)(?:(s)\\((\\d+)\\)(\\swithoutstimeszone\\b)?)?\n\n\t\t\t"
121
+ },
122
+ {
123
+ "match": "(?i:\\b((?:primary|foreign)\\s+key|references|on\\sdelete(\\s+cascade)?|check|constraint)\\b)",
124
+ "name": "storage.modifier.sql"
125
+ },
126
+ {
127
+ "match": "\\b\\d+\\b",
128
+ "name": "constant.numeric.sql"
129
+ },
130
+ {
131
+ "match": "(?i:\\b(select(\\s+distinct)?|insert\\s+(ignore\\s+)?into|update|delete|from|set|where|group\\sby|or|like|and|union(\\s+all)?|having|order\\sby|limit|(inner|cross)\\s+join|join|straight_join|(left|right)(\\s+outer)?\\s+join|natural(\\s+(left|right)(\\s+outer)?)?\\s+join)\\b)",
132
+ "name": "keyword.other.DML.sql"
133
+ },
134
+ {
135
+ "match": "(?i:\\b(on|((is\\s+)?not\\s+)?null)\\b)",
136
+ "name": "keyword.other.DDL.create.II.sql"
137
+ },
138
+ {
139
+ "match": "(?i:\\bvalues\\b)",
140
+ "name": "keyword.other.DML.II.sql"
141
+ },
142
+ {
143
+ "match": "(?i:\\b(begin(\\s+work)?|start\\s+transaction|commit(\\s+work)?|rollback(\\s+work)?)\\b)",
144
+ "name": "keyword.other.LUW.sql"
145
+ },
146
+ {
147
+ "match": "(?i:\\b(grant(\\swith\\sgrant\\soption)?|revoke)\\b)",
148
+ "name": "keyword.other.authorization.sql"
149
+ },
150
+ {
151
+ "match": "(?i:\\bin\\b)",
152
+ "name": "keyword.other.data-integrity.sql"
153
+ },
154
+ {
155
+ "match": "(?i:^\\s*(comment\\s+on\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\s+.*?\\s+(is)\\s+)",
156
+ "name": "keyword.other.object-comments.sql"
157
+ },
158
+ {
159
+ "match": "(?i)\\bAS\\b",
160
+ "name": "keyword.other.alias.sql"
161
+ },
162
+ {
163
+ "match": "(?i)\\b(DESC|ASC)\\b",
164
+ "name": "keyword.other.order.sql"
165
+ },
166
+ {
167
+ "match": "\\*",
168
+ "name": "keyword.operator.star.sql"
169
+ },
170
+ {
171
+ "match": "[!<>]?=|<>|<|>",
172
+ "name": "keyword.operator.comparison.sql"
173
+ },
174
+ {
175
+ "match": "-|\\+|\/",
176
+ "name": "keyword.operator.math.sql"
177
+ },
178
+ {
179
+ "match": "\\|\\|",
180
+ "name": "keyword.operator.concatenator.sql"
181
+ },
182
+ {
183
+ "comment": "List of SQL99 built-in functions from http:\/\/www.oreilly.com\/catalog\/sqlnut\/chapter\/ch04.html",
184
+ "match": "(?i)\\b(CURRENT_(DATE|TIME(STAMP)?|USER)|(SESSION|SYSTEM)_USER)\\b",
185
+ "name": "support.function.scalar.sql"
186
+ },
187
+ {
188
+ "comment": "List of SQL99 built-in functions from http:\/\/www.oreilly.com\/catalog\/sqlnut\/chapter\/ch04.html",
189
+ "match": "(?i)\\b(AVG|COUNT|MIN|MAX|SUM)(?=\\s*\\()",
190
+ "name": "support.function.aggregate.sql"
191
+ },
192
+ {
193
+ "match": "(?i)\\b(CONCATENATE|CONVERT|LOWER|SUBSTRING|TRANSLATE|TRIM|UPPER)\\b",
194
+ "name": "support.function.string.sql"
195
+ },
196
+ {
197
+ "captures": {
198
+ "1": {
199
+ "name": "constant.other.database-name.sql"
200
+ },
201
+ "2": {
202
+ "name": "constant.other.table-name.sql"
203
+ }
204
+ },
205
+ "match": "(\\w+?)\\.(\\w+)"
206
+ },
207
+ {
208
+ "include": "#strings"
209
+ },
210
+ {
211
+ "include": "#regexps"
212
+ }
213
+ ],
214
+ "repository": {
215
+ "comments": {
216
+ "patterns": [
217
+ {
218
+ "captures": {
219
+ "1": {
220
+ "name": "punctuation.definition.comment.sql"
221
+ }
222
+ },
223
+ "match": "(--).*$\\n?",
224
+ "name": "comment.line.double-dash.sql"
225
+ },
226
+ {
227
+ "captures": {
228
+ "1": {
229
+ "name": "punctuation.definition.comment.sql"
230
+ }
231
+ },
232
+ "match": "(#).*$\\n?",
233
+ "name": "comment.line.number-sign.sql"
234
+ },
235
+ {
236
+ "begin": "\/\\*",
237
+ "captures": {
238
+ "0": {
239
+ "name": "punctuation.definition.comment.sql"
240
+ }
241
+ },
242
+ "end": "\\*\/",
243
+ "name": "comment.block.c"
244
+ }
245
+ ]
246
+ },
247
+ "regexps": {
248
+ "patterns": [
249
+ {
250
+ "begin": "\/(?=\\S.*\/)",
251
+ "beginCaptures": {
252
+ "0": {
253
+ "name": "punctuation.definition.string.begin.sql"
254
+ }
255
+ },
256
+ "end": "\/",
257
+ "endCaptures": {
258
+ "0": {
259
+ "name": "punctuation.definition.string.end.sql"
260
+ }
261
+ },
262
+ "name": "string.regexp.sql",
263
+ "patterns": [
264
+ {
265
+ "include": "#string_interpolation"
266
+ },
267
+ {
268
+ "match": "\\\\\/",
269
+ "name": "constant.character.escape.slash.sql"
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "begin": "%r\\{",
275
+ "beginCaptures": {
276
+ "0": {
277
+ "name": "punctuation.definition.string.begin.sql"
278
+ }
279
+ },
280
+ "comment": "We should probably handle nested bracket pairs!?! -- Allan",
281
+ "end": "\\}",
282
+ "endCaptures": {
283
+ "0": {
284
+ "name": "punctuation.definition.string.end.sql"
285
+ }
286
+ },
287
+ "name": "string.regexp.modr.sql",
288
+ "patterns": [
289
+ {
290
+ "include": "#string_interpolation"
291
+ }
292
+ ]
293
+ }
294
+ ]
295
+ },
296
+ "string_escape": {
297
+ "match": "\\\\.",
298
+ "name": "constant.character.escape.sql"
299
+ },
300
+ "string_interpolation": {
301
+ "captures": {
302
+ "1": {
303
+ "name": "punctuation.definition.string.end.sql"
304
+ }
305
+ },
306
+ "match": "(#\\{)([^\\}]*)(\\})",
307
+ "name": "string.interpolated.sql"
308
+ },
309
+ "strings": {
310
+ "patterns": [
311
+ {
312
+ "captures": {
313
+ "1": {
314
+ "name": "punctuation.definition.string.begin.sql"
315
+ },
316
+ "3": {
317
+ "name": "punctuation.definition.string.end.sql"
318
+ }
319
+ },
320
+ "comment": "this is faster than the next begin\/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
321
+ "match": "(')[^'\\\\]*(')",
322
+ "name": "string.quoted.single.sql"
323
+ },
324
+ {
325
+ "begin": "'",
326
+ "beginCaptures": {
327
+ "0": {
328
+ "name": "punctuation.definition.string.begin.sql"
329
+ }
330
+ },
331
+ "end": "'",
332
+ "endCaptures": {
333
+ "0": {
334
+ "name": "punctuation.definition.string.end.sql"
335
+ }
336
+ },
337
+ "name": "string.quoted.single.sql",
338
+ "patterns": [
339
+ {
340
+ "include": "#string_escape"
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "captures": {
346
+ "1": {
347
+ "name": "punctuation.definition.string.begin.sql"
348
+ },
349
+ "3": {
350
+ "name": "punctuation.definition.string.end.sql"
351
+ }
352
+ },
353
+ "comment": "this is faster than the next begin\/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
354
+ "match": "(`)[^`\\\\]*(`)",
355
+ "name": "string.quoted.other.backtick.sql"
356
+ },
357
+ {
358
+ "begin": "`",
359
+ "beginCaptures": {
360
+ "0": {
361
+ "name": "punctuation.definition.string.begin.sql"
362
+ }
363
+ },
364
+ "end": "`",
365
+ "endCaptures": {
366
+ "0": {
367
+ "name": "punctuation.definition.string.end.sql"
368
+ }
369
+ },
370
+ "name": "string.quoted.other.backtick.sql",
371
+ "patterns": [
372
+ {
373
+ "include": "#string_escape"
374
+ }
375
+ ]
376
+ },
377
+ {
378
+ "captures": {
379
+ "1": {
380
+ "name": "punctuation.definition.string.begin.sql"
381
+ },
382
+ "3": {
383
+ "name": "punctuation.definition.string.end.sql"
384
+ }
385
+ },
386
+ "comment": "this is faster than the next begin\/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.",
387
+ "match": "(\")[^\"#]*(\")",
388
+ "name": "string.quoted.double.sql"
389
+ },
390
+ {
391
+ "begin": "\"",
392
+ "beginCaptures": {
393
+ "0": {
394
+ "name": "punctuation.definition.string.begin.sql"
395
+ }
396
+ },
397
+ "end": "\"",
398
+ "endCaptures": {
399
+ "0": {
400
+ "name": "punctuation.definition.string.end.sql"
401
+ }
402
+ },
403
+ "name": "string.quoted.double.sql",
404
+ "patterns": [
405
+ {
406
+ "include": "#string_interpolation"
407
+ }
408
+ ]
409
+ },
410
+ {
411
+ "begin": "%\\{",
412
+ "beginCaptures": {
413
+ "0": {
414
+ "name": "punctuation.definition.string.begin.sql"
415
+ }
416
+ },
417
+ "end": "\\}",
418
+ "endCaptures": {
419
+ "0": {
420
+ "name": "punctuation.definition.string.end.sql"
421
+ }
422
+ },
423
+ "name": "string.other.quoted.brackets.sql",
424
+ "patterns": [
425
+ {
426
+ "include": "#string_interpolation"
427
+ }
428
+ ]
429
+ }
430
+ ]
431
+ }
432
+ },
433
+ "scopeName": "source.sql",
434
+ "uuid": "C49120AC-6ECC-11D9-ACC8-000D93589AF6"
435
+ }