@journeyapps-labs/reactor-mod-editor 1.0.0

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 (170) hide show
  1. package/README.md +10 -0
  2. package/dist/@types/EditorModule.d.ts +7 -0
  3. package/dist/@types/MonacoCommandPalletSearchEngine.d.ts +21 -0
  4. package/dist/@types/actions/ChangeEditorThemeAction.d.ts +9 -0
  5. package/dist/@types/index.d.ts +16 -0
  6. package/dist/@types/languages/languages.d.ts +39 -0
  7. package/dist/@types/languages/logs.d.ts +3 -0
  8. package/dist/@types/providers/EditorThemeProvider.d.ts +14 -0
  9. package/dist/@types/settings/StoredThemesSettings.d.ts +13 -0
  10. package/dist/@types/settings/VimSupportSetting.d.ts +7 -0
  11. package/dist/@types/shortcuts/MonacoShortcut.d.ts +9 -0
  12. package/dist/@types/shortcuts/MonacoShortcutHandler.d.ts +17 -0
  13. package/dist/@types/shortcuts/MonacoShortcutMap.d.ts +83 -0
  14. package/dist/@types/stores/MonacoStore.d.ts +38 -0
  15. package/dist/@types/stores/MonacoThemeStore.d.ts +34 -0
  16. package/dist/@types/stores/keybindings/KeybindingsRegistry.d.ts +46 -0
  17. package/dist/@types/stores/keybindings/MonacoKeybindingStore.d.ts +27 -0
  18. package/dist/@types/stores/keybindings/definitions.d.ts +21 -0
  19. package/dist/@types/stores/keybindings/utils.d.ts +2 -0
  20. package/dist/@types/theme/EditorThemePreferencesWidget.d.ts +26 -0
  21. package/dist/@types/theme/SmartEditorThemePreferencesWidget.d.ts +8 -0
  22. package/dist/@types/theme/UploadVSIXThemeBtnWidget.d.ts +12 -0
  23. package/dist/@types/theme/patchThemeService.d.ts +9 -0
  24. package/dist/@types/theme/theme-utils.d.ts +61 -0
  25. package/dist/@types/theme-reactor/editor-theme-fragment.d.ts +41 -0
  26. package/dist/@types/utils/paths.d.ts +23 -0
  27. package/dist/@types/utils/useEditorStickyHeader.d.ts +8 -0
  28. package/dist/@types/widgets/DualEditorWidget.d.ts +7 -0
  29. package/dist/@types/widgets/EditorWidget.d.ts +15 -0
  30. package/dist/@types/widgets/MonacoEditorWidget.d.ts +10 -0
  31. package/dist/@types/widgets/SimpleEditorWidget.d.ts +8 -0
  32. package/dist/EditorModule.js +73 -0
  33. package/dist/EditorModule.js.map +1 -0
  34. package/dist/MonacoCommandPalletSearchEngine.js +52 -0
  35. package/dist/MonacoCommandPalletSearchEngine.js.map +1 -0
  36. package/dist/actions/ChangeEditorThemeAction.js +43 -0
  37. package/dist/actions/ChangeEditorThemeAction.js.map +1 -0
  38. package/dist/index.js +33 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/languages/languages.js +155 -0
  41. package/dist/languages/languages.js.map +1 -0
  42. package/dist/languages/logs.js +110 -0
  43. package/dist/languages/logs.js.map +1 -0
  44. package/dist/providers/EditorThemeProvider.js +26 -0
  45. package/dist/providers/EditorThemeProvider.js.map +1 -0
  46. package/dist/settings/StoredThemesSettings.js +45 -0
  47. package/dist/settings/StoredThemesSettings.js.map +1 -0
  48. package/dist/settings/VimSupportSetting.js +19 -0
  49. package/dist/settings/VimSupportSetting.js.map +1 -0
  50. package/dist/shortcuts/MonacoShortcut.js +27 -0
  51. package/dist/shortcuts/MonacoShortcut.js.map +1 -0
  52. package/dist/shortcuts/MonacoShortcutHandler.js +119 -0
  53. package/dist/shortcuts/MonacoShortcutHandler.js.map +1 -0
  54. package/dist/shortcuts/MonacoShortcutMap.js +84 -0
  55. package/dist/shortcuts/MonacoShortcutMap.js.map +1 -0
  56. package/dist/stores/MonacoStore.js +119 -0
  57. package/dist/stores/MonacoStore.js.map +1 -0
  58. package/dist/stores/MonacoThemeStore.js +143 -0
  59. package/dist/stores/MonacoThemeStore.js.map +1 -0
  60. package/dist/stores/keybindings/KeybindingsRegistry.js +131 -0
  61. package/dist/stores/keybindings/KeybindingsRegistry.js.map +1 -0
  62. package/dist/stores/keybindings/MonacoKeybindingStore.js +105 -0
  63. package/dist/stores/keybindings/MonacoKeybindingStore.js.map +1 -0
  64. package/dist/stores/keybindings/definitions.js +5 -0
  65. package/dist/stores/keybindings/definitions.js.map +1 -0
  66. package/dist/stores/keybindings/utils.js +12 -0
  67. package/dist/stores/keybindings/utils.js.map +1 -0
  68. package/dist/theme/EditorThemePreferencesWidget.js +160 -0
  69. package/dist/theme/EditorThemePreferencesWidget.js.map +1 -0
  70. package/dist/theme/SmartEditorThemePreferencesWidget.js +62 -0
  71. package/dist/theme/SmartEditorThemePreferencesWidget.js.map +1 -0
  72. package/dist/theme/UploadVSIXThemeBtnWidget.js +93 -0
  73. package/dist/theme/UploadVSIXThemeBtnWidget.js.map +1 -0
  74. package/dist/theme/patchThemeService.js +146 -0
  75. package/dist/theme/patchThemeService.js.map +1 -0
  76. package/dist/theme/theme-utils.js +65 -0
  77. package/dist/theme/theme-utils.js.map +1 -0
  78. package/dist/theme-reactor/editor-theme-fragment.js +70 -0
  79. package/dist/theme-reactor/editor-theme-fragment.js.map +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -0
  81. package/dist/utils/paths.js +110 -0
  82. package/dist/utils/paths.js.map +1 -0
  83. package/dist/utils/useEditorStickyHeader.js +45 -0
  84. package/dist/utils/useEditorStickyHeader.js.map +1 -0
  85. package/dist/widgets/DualEditorWidget.js +79 -0
  86. package/dist/widgets/DualEditorWidget.js.map +1 -0
  87. package/dist/widgets/EditorWidget.js +85 -0
  88. package/dist/widgets/EditorWidget.js.map +1 -0
  89. package/dist/widgets/MonacoEditorWidget.js +29 -0
  90. package/dist/widgets/MonacoEditorWidget.js.map +1 -0
  91. package/dist/widgets/SimpleEditorWidget.js +71 -0
  92. package/dist/widgets/SimpleEditorWidget.js.map +1 -0
  93. package/dist-module/00a5102416a37050fa62.tmLanguage +1282 -0
  94. package/dist-module/092ac75109eb363dd826.tmLanguage +424 -0
  95. package/dist-module/100.bundle.js +1 -0
  96. package/dist-module/116.bundle.js +1 -0
  97. package/dist-module/173.bundle.js +1 -0
  98. package/dist-module/179.bundle.js +1 -0
  99. package/dist-module/18358219dee0ad14cc0c.tmLanguage +765 -0
  100. package/dist-module/195.bundle.js +1 -0
  101. package/dist-module/277.bundle.js +1 -0
  102. package/dist-module/299.bundle.js +1 -0
  103. package/dist-module/306.bundle.js +1 -0
  104. package/dist-module/344.bundle.js +1 -0
  105. package/dist-module/399345f371a7cb9eb1ba.tmLanguage +629 -0
  106. package/dist-module/404.bundle.js +4 -0
  107. package/dist-module/404.bundle.js.LICENSE.txt +6 -0
  108. package/dist-module/404.bundle.js.map +1 -0
  109. package/dist-module/43.bundle.js +1 -0
  110. package/dist-module/438.bundle.js +3 -0
  111. package/dist-module/438.bundle.js.map +1 -0
  112. package/dist-module/479.bundle.js +1 -0
  113. package/dist-module/491.bundle.js +1 -0
  114. package/dist-module/513.bundle.js +1 -0
  115. package/dist-module/549.bundle.js +1 -0
  116. package/dist-module/5e221c90a0dcbd4af855.tmLanguage +237 -0
  117. package/dist-module/6486a2df9ca5896c2cb6.tmLanguage +5739 -0
  118. package/dist-module/65.bundle.js +1 -0
  119. package/dist-module/66.bundle.js +1 -0
  120. package/dist-module/685.bundle.js +1 -0
  121. package/dist-module/6e3d5ec6699a8d147d29.wasm +0 -0
  122. package/dist-module/7.bundle.js +1 -0
  123. package/dist-module/703774d50b4d4526a465.tmLanguage +386 -0
  124. package/dist-module/717.bundle.js +2 -0
  125. package/dist-module/728.bundle.js +1 -0
  126. package/dist-module/77a7afbe329083ed0f59.tmLanguage +1183 -0
  127. package/dist-module/78.bundle.js +1 -0
  128. package/dist-module/829.bundle.js +1 -0
  129. package/dist-module/831968f77a9412d07cc2.tmLanguage +506 -0
  130. package/dist-module/862.bundle.js +1 -0
  131. package/dist-module/87.bundle.js +1 -0
  132. package/dist-module/923.bundle.js +1 -0
  133. package/dist-module/931.bundle.js +1 -0
  134. package/dist-module/933.bundle.js +3 -0
  135. package/dist-module/933.bundle.js.map +1 -0
  136. package/dist-module/970.bundle.js +1 -0
  137. package/dist-module/984.bundle.js +1 -0
  138. package/dist-module/992.bundle.js +1 -0
  139. package/dist-module/996.bundle.js +1 -0
  140. package/dist-module/9c8494157d226e95da5e.tmLanguage +1377 -0
  141. package/dist-module/a3e215de85a86294de8a.tmLanguage +385 -0
  142. package/dist-module/ba5650c2a0269a236153.tmLanguage +9349 -0
  143. package/dist-module/bundle.js +97 -0
  144. package/dist-module/bundle.js.LICENSE.txt +27 -0
  145. package/dist-module/bundle.js.map +1 -0
  146. package/dist-module/editor.worker.bundle.js +1 -0
  147. package/dist-module/f6283f7ccaed1249d9eb.ttf +0 -0
  148. package/dist-module/json.worker.bundle.js +2 -0
  149. package/dist-module/json.worker.bundle.js.LICENSE.txt +6 -0
  150. package/dist-module/yaml.worker.bundle.js +1 -0
  151. package/media/css.tmLanguage +1183 -0
  152. package/media/handlebars.tmLanguage +1282 -0
  153. package/media/html.tmLanguage +506 -0
  154. package/media/javascript.tmLanguage +5739 -0
  155. package/media/json.tmLanguage +386 -0
  156. package/media/jxml.tmLanguage +424 -0
  157. package/media/markdown.tmLanguage +1377 -0
  158. package/media/regularExpressions.tmLanguage +237 -0
  159. package/media/sql.tmLanguage +765 -0
  160. package/media/themes/ayu-light.json5 +847 -0
  161. package/media/themes/ayu-mirage.json5 +846 -0
  162. package/media/themes/journey.json5 +1061 -0
  163. package/media/themes/oxide.json5 +579 -0
  164. package/media/themes/reactor.json5 +775 -0
  165. package/media/themes/scarlet.json5 +836 -0
  166. package/media/typescript.tmLanguage +9349 -0
  167. package/media/xml.tmLanguage +385 -0
  168. package/media/yaml.tmLanguage +629 -0
  169. package/package.json +45 -0
  170. package/reactor.config.json +4 -0
@@ -0,0 +1,1377 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>fileTypes</key>
6
+ <array>
7
+ <string>md</string>
8
+ <string>mdown</string>
9
+ <string>markdown</string>
10
+ <string>markdn</string>
11
+ </array>
12
+ <key>keyEquivalent</key>
13
+ <string>^~M</string>
14
+ <key>name</key>
15
+ <string>Markdown</string>
16
+ <key>patterns</key>
17
+ <array>
18
+ <dict>
19
+ <key>include</key>
20
+ <string>#block</string>
21
+ </dict>
22
+ </array>
23
+ <key>repository</key>
24
+ <dict>
25
+ <key>block</key>
26
+ <dict>
27
+ <key>patterns</key>
28
+ <array>
29
+ <dict>
30
+ <key>include</key>
31
+ <string>#separator</string>
32
+ </dict>
33
+ <dict>
34
+ <key>include</key>
35
+ <string>#heading</string>
36
+ </dict>
37
+ <dict>
38
+ <key>include</key>
39
+ <string>#blockquote</string>
40
+ </dict>
41
+ <dict>
42
+ <key>include</key>
43
+ <string>#lists</string>
44
+ </dict>
45
+ <dict>
46
+ <key>include</key>
47
+ <string>#raw_block</string>
48
+ </dict>
49
+ <dict>
50
+ <key>include</key>
51
+ <string>#fenced_code_block_css</string>
52
+ </dict>
53
+ <dict>
54
+ <key>include</key>
55
+ <string>#fenced_code_block_basic</string>
56
+ </dict>
57
+ <dict>
58
+ <key>include</key>
59
+ <string>#fenced_code_block_ini</string>
60
+ </dict>
61
+ <dict>
62
+ <key>include</key>
63
+ <string>#fenced_code_block_java</string>
64
+ </dict>
65
+ <dict>
66
+ <key>include</key>
67
+ <string>#fenced_code_block_lua</string>
68
+ </dict>
69
+ <dict>
70
+ <key>include</key>
71
+ <string>#fenced_code_block_makefile</string>
72
+ </dict>
73
+ <dict>
74
+ <key>include</key>
75
+ <string>#fenced_code_block_perl</string>
76
+ </dict>
77
+ <dict>
78
+ <key>include</key>
79
+ <string>#fenced_code_block_r</string>
80
+ </dict>
81
+ <dict>
82
+ <key>include</key>
83
+ <string>#fenced_code_block_ruby</string>
84
+ </dict>
85
+ <dict>
86
+ <key>include</key>
87
+ <string>#fenced_code_block_php</string>
88
+ </dict>
89
+ <dict>
90
+ <key>include</key>
91
+ <string>#fenced_code_block_sql</string>
92
+ </dict>
93
+ <dict>
94
+ <key>include</key>
95
+ <string>#fenced_code_block_vs_net</string>
96
+ </dict>
97
+ <dict>
98
+ <key>include</key>
99
+ <string>#fenced_code_block_xml</string>
100
+ </dict>
101
+ <dict>
102
+ <key>include</key>
103
+ <string>#fenced_code_block_xsl</string>
104
+ </dict>
105
+ <dict>
106
+ <key>include</key>
107
+ <string>#fenced_code_block_yaml</string>
108
+ </dict>
109
+ <dict>
110
+ <key>include</key>
111
+ <string>#fenced_code_block_dosbatch</string>
112
+ </dict>
113
+ <dict>
114
+ <key>include</key>
115
+ <string>#fenced_code_block_clojure</string>
116
+ </dict>
117
+ <dict>
118
+ <key>include</key>
119
+ <string>#fenced_code_block_coffee</string>
120
+ </dict>
121
+ <dict>
122
+ <key>include</key>
123
+ <string>#fenced_code_block_c</string>
124
+ </dict>
125
+ <dict>
126
+ <key>include</key>
127
+ <string>#fenced_code_block_diff</string>
128
+ </dict>
129
+ <dict>
130
+ <key>include</key>
131
+ <string>#fenced_code_block_dockerfile</string>
132
+ </dict>
133
+ <dict>
134
+ <key>include</key>
135
+ <string>#fenced_code_block_git_commit</string>
136
+ </dict>
137
+ <dict>
138
+ <key>include</key>
139
+ <string>#fenced_code_block_git_rebase</string>
140
+ </dict>
141
+ <dict>
142
+ <key>include</key>
143
+ <string>#fenced_code_block_groovy</string>
144
+ </dict>
145
+ <dict>
146
+ <key>include</key>
147
+ <string>#fenced_code_block_jade</string>
148
+ </dict>
149
+ <dict>
150
+ <key>include</key>
151
+ <string>#fenced_code_block_js</string>
152
+ </dict>
153
+ <dict>
154
+ <key>include</key>
155
+ <string>#fenced_code_block_js_regexp</string>
156
+ </dict>
157
+ <dict>
158
+ <key>include</key>
159
+ <string>#fenced_code_block_json</string>
160
+ </dict>
161
+ <dict>
162
+ <key>include</key>
163
+ <string>#fenced_code_block_less</string>
164
+ </dict>
165
+ <dict>
166
+ <key>include</key>
167
+ <string>#fenced_code_block_objc</string>
168
+ </dict>
169
+ <dict>
170
+ <key>include</key>
171
+ <string>#fenced_code_block_perl6</string>
172
+ </dict>
173
+ <dict>
174
+ <key>include</key>
175
+ <string>#fenced_code_block_powershell</string>
176
+ </dict>
177
+ <dict>
178
+ <key>include</key>
179
+ <string>#fenced_code_block_python</string>
180
+ </dict>
181
+ <dict>
182
+ <key>include</key>
183
+ <string>#fenced_code_block_regexp_python</string>
184
+ </dict>
185
+ <dict>
186
+ <key>include</key>
187
+ <string>#fenced_code_block_shell</string>
188
+ </dict>
189
+ <dict>
190
+ <key>include</key>
191
+ <string>#fenced_code_block_ts</string>
192
+ </dict>
193
+ <dict>
194
+ <key>include</key>
195
+ <string>#fenced_code_block_tsx</string>
196
+ </dict>
197
+ <dict>
198
+ <key>include</key>
199
+ <string>#fenced_code_block_csharp</string>
200
+ </dict>
201
+ <dict>
202
+ <key>include</key>
203
+ <string>#link-def</string>
204
+ </dict>
205
+ <dict>
206
+ <key>include</key>
207
+ <string>#html</string>
208
+ </dict>
209
+ <dict>
210
+ <key>include</key>
211
+ <string>#paragraph</string>
212
+ </dict>
213
+ </array>
214
+ <key>repository</key>
215
+ <dict>
216
+ <key>blockquote</key>
217
+ <dict>
218
+ <key>begin</key>
219
+ <string>(^|\G)(&gt;) ?</string>
220
+ <key>captures</key>
221
+ <dict>
222
+ <key>2</key>
223
+ <dict>
224
+ <key>name</key>
225
+ <string>beginning.punctuation.definition.quote.markdown</string>
226
+ </dict>
227
+ </dict>
228
+ <key>name</key>
229
+ <string>markup.quote.markdown</string>
230
+ <key>patterns</key>
231
+ <array>
232
+ <dict>
233
+ <key>include</key>
234
+ <string>#block</string>
235
+ </dict>
236
+ </array>
237
+ <key>while</key>
238
+ <string>(^|\G)(&gt;) ?</string>
239
+ </dict>
240
+ <key>heading</key>
241
+ <dict>
242
+ <key>begin</key>
243
+ <string>(?:^|\G)(#{1,6})\s*(?=[\S[^#]])</string>
244
+ <key>captures</key>
245
+ <dict>
246
+ <key>1</key>
247
+ <dict>
248
+ <key>name</key>
249
+ <string>punctuation.definition.heading.markdown</string>
250
+ </dict>
251
+ </dict>
252
+ <key>contentName</key>
253
+ <string>entity.name.section.markdown</string>
254
+ <key>end</key>
255
+ <string>\s*(#{1,6})?$\n?</string>
256
+ <key>name</key>
257
+ <string>markup.heading.${1/(#)(#)?(#)?(#)?(#)?(#)?/${6:?6:${5:?5:${4:?4:${3:?3:${2:?2:1}}}}}/}.markdown</string>
258
+ <key>patterns</key>
259
+ <array>
260
+ <dict>
261
+ <key>include</key>
262
+ <string>#inline</string>
263
+ </dict>
264
+ </array>
265
+ </dict>
266
+ <key>heading-setext</key>
267
+ <dict>
268
+ <key>patterns</key>
269
+ <array>
270
+ <dict>
271
+ <key>match</key>
272
+ <string>^(={3,})(?=[ \t]*$\n?)</string>
273
+ <key>name</key>
274
+ <string>markup.heading.setext.1.markdown</string>
275
+ </dict>
276
+ <dict>
277
+ <key>match</key>
278
+ <string>^(-{3,})(?=[ \t]*$\n?)</string>
279
+ <key>name</key>
280
+ <string>markup.heading.setext.2.markdown</string>
281
+ </dict>
282
+ </array>
283
+ </dict>
284
+ <key>html</key>
285
+ <dict>
286
+ <key>patterns</key>
287
+ <array>
288
+ <dict>
289
+ <key>begin</key>
290
+ <string>(^|\G)\s*(&lt;!--)</string>
291
+ <key>end</key>
292
+ <string>(--&gt;)</string>
293
+ <key>name</key>
294
+ <string>comment.block.html</string>
295
+ <key>captures</key>
296
+ <dict>
297
+ <key>1</key>
298
+ <dict>
299
+ <key>name</key>
300
+ <string>punctuation.definition.comment.html</string>
301
+ </dict>
302
+ <key>2</key>
303
+ <dict>
304
+ <key>name</key>
305
+ <string>punctuation.definition.comment.html</string>
306
+ </dict>
307
+ </dict>
308
+ </dict>
309
+ <dict>
310
+ <key>begin</key>
311
+ <string>(^|\G)\s*(?=&lt;/?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|pre|p|param|script|section|source|style|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(\s|$|/?&gt;))</string>
312
+ <key>patterns</key>
313
+ <array>
314
+ <dict>
315
+ <key>include</key>
316
+ <string>text.html.basic</string>
317
+ </dict>
318
+ </array>
319
+ <key>while</key>
320
+ <string>^(?!\s*$)</string>
321
+ </dict>
322
+ <dict>
323
+ <key>begin</key>
324
+ <string>(^|\G)\s*(?=(&lt;[a-zA-Z0-9\-].*&gt;|&lt;/[a-zA-Z0-9\-]&gt;)\s*$)</string>
325
+ <key>patterns</key>
326
+ <array>
327
+ <dict>
328
+ <key>include</key>
329
+ <string>text.html.basic</string>
330
+ </dict>
331
+ </array>
332
+ <key>while</key>
333
+ <string>^(?!\s*$)</string>
334
+ </dict>
335
+ </array>
336
+ </dict>
337
+ <key>link-def</key>
338
+ <dict>
339
+ <key>captures</key>
340
+ <dict>
341
+ <key>1</key>
342
+ <dict>
343
+ <key>name</key>
344
+ <string>punctuation.definition.constant.markdown</string>
345
+ </dict>
346
+ <key>10</key>
347
+ <dict>
348
+ <key>name</key>
349
+ <string>punctuation.definition.string.end.markdown</string>
350
+ </dict>
351
+ <key>11</key>
352
+ <dict>
353
+ <key>name</key>
354
+ <string>string.other.link.description.title.markdown</string>
355
+ </dict>
356
+ <key>12</key>
357
+ <dict>
358
+ <key>name</key>
359
+ <string>punctuation.definition.string.begin.markdown</string>
360
+ </dict>
361
+ <key>13</key>
362
+ <dict>
363
+ <key>name</key>
364
+ <string>punctuation.definition.string.end.markdown</string>
365
+ </dict>
366
+ <key>2</key>
367
+ <dict>
368
+ <key>name</key>
369
+ <string>constant.other.reference.link.markdown</string>
370
+ </dict>
371
+ <key>3</key>
372
+ <dict>
373
+ <key>name</key>
374
+ <string>punctuation.definition.constant.markdown</string>
375
+ </dict>
376
+ <key>4</key>
377
+ <dict>
378
+ <key>name</key>
379
+ <string>punctuation.separator.key-value.markdown</string>
380
+ </dict>
381
+ <key>5</key>
382
+ <dict>
383
+ <key>name</key>
384
+ <string>punctuation.definition.link.markdown</string>
385
+ </dict>
386
+ <key>6</key>
387
+ <dict>
388
+ <key>name</key>
389
+ <string>markup.underline.link.markdown</string>
390
+ </dict>
391
+ <key>7</key>
392
+ <dict>
393
+ <key>name</key>
394
+ <string>punctuation.definition.link.markdown</string>
395
+ </dict>
396
+ <key>8</key>
397
+ <dict>
398
+ <key>name</key>
399
+ <string>string.other.link.description.title.markdown</string>
400
+ </dict>
401
+ <key>9</key>
402
+ <dict>
403
+ <key>name</key>
404
+ <string>punctuation.definition.string.begin.markdown</string>
405
+ </dict>
406
+ </dict>
407
+ <key>match</key>
408
+ <string>^(?x:
409
+ \s* # Leading whitespace
410
+ (\[)(.+?)(\])(:) # Reference name
411
+ [ \t]* # Optional whitespace
412
+ (&lt;?)(\S+?)(&gt;?) # The url
413
+ [ \t]* # Optional whitespace
414
+ (?:
415
+ ((\().+?(\))) # Match title in quotes…
416
+ | ((").+?(")) # or in parens.
417
+ )? # Title is optional
418
+ \s* # Optional whitespace
419
+ $
420
+ )</string>
421
+ <key>name</key>
422
+ <string>meta.link.reference.def.markdown</string>
423
+ </dict>
424
+ <key>list_paragraph</key>
425
+ <dict>
426
+ <key>begin</key>
427
+ <string>(^|\G)(?=\S)(?![*+-]\s|[0-9]+\.\s)</string>
428
+ <key>name</key>
429
+ <string>meta.paragraph.markdown</string>
430
+ <key>patterns</key>
431
+ <array>
432
+ <dict>
433
+ <key>include</key>
434
+ <string>#inline</string>
435
+ </dict>
436
+ <dict>
437
+ <key>include</key>
438
+ <string>text.html.basic</string>
439
+ </dict>
440
+ <dict>
441
+ <key>include</key>
442
+ <string>#heading-setext</string>
443
+ </dict>
444
+ </array>
445
+ <key>while</key>
446
+ <string>(^|\G)(?!\s*$|#|[ ]{0,3}([-*_][ ]{2,}){3,}[ \t]*$\n?|&gt;|[ ]{0,3}[*+-]|[ ]{0,3}[0-9]+\.)</string>
447
+ </dict>
448
+ <key>lists</key>
449
+ <dict>
450
+ <key>patterns</key>
451
+ <array>
452
+ <dict>
453
+ <key>begin</key>
454
+ <string>(^|\G)([ ]{0,3})([*+-])([ ]{1,3}|\t)</string>
455
+ <key>beginCaptures</key>
456
+ <dict>
457
+ <key>3</key>
458
+ <dict>
459
+ <key>name</key>
460
+ <string>beginning.punctuation.definition.list.markdown</string>
461
+ </dict>
462
+ </dict>
463
+ <key>comment</key>
464
+ <string>Currently does not support un-indented second lines.</string>
465
+ <key>name</key>
466
+ <string>markup.list.unnumbered.markdown</string>
467
+ <key>patterns</key>
468
+ <array>
469
+ <dict>
470
+ <key>include</key>
471
+ <string>#list_paragraph</string>
472
+ </dict>
473
+ <dict>
474
+ <key>include</key>
475
+ <string>#block</string>
476
+ </dict>
477
+ </array>
478
+ <key>while</key>
479
+ <string>(^|\G)([ ]{4}|\t)</string>
480
+ </dict>
481
+ <dict>
482
+ <key>begin</key>
483
+ <string>(^|\G)([ ]{0,3})([0-9]+\.)([ ]{1,3}|\t)</string>
484
+ <key>beginCaptures</key>
485
+ <dict>
486
+ <key>3</key>
487
+ <dict>
488
+ <key>name</key>
489
+ <string>beginning.punctuation.definition.list.markdown</string>
490
+ </dict>
491
+ </dict>
492
+ <key>name</key>
493
+ <string>markup.list.numbered.markdown</string>
494
+ <key>patterns</key>
495
+ <array>
496
+ <dict>
497
+ <key>include</key>
498
+ <string>#list_paragraph</string>
499
+ </dict>
500
+ <dict>
501
+ <key>include</key>
502
+ <string>#block</string>
503
+ </dict>
504
+ </array>
505
+ <key>while</key>
506
+ <string>(^|\G)([ ]{4}|\t)</string>
507
+ </dict>
508
+ </array>
509
+ </dict>
510
+ <key>paragraph</key>
511
+ <dict>
512
+ <key>begin</key>
513
+ <string>(^|\G)[ ]{0,3}(?=\S)</string>
514
+ <key>name</key>
515
+ <string>meta.paragraph.markdown</string>
516
+ <key>patterns</key>
517
+ <array>
518
+ <dict>
519
+ <key>include</key>
520
+ <string>#inline</string>
521
+ </dict>
522
+ <dict>
523
+ <key>include</key>
524
+ <string>text.html.basic</string>
525
+ </dict>
526
+ <dict>
527
+ <key>include</key>
528
+ <string>#heading-setext</string>
529
+ </dict>
530
+ </array>
531
+ <key>while</key>
532
+ <!-- seperator [ ]{0,3}([-*_][ ]{0,2}\2){2,}[ \t]*$\n? -->
533
+ <!-- list [ ]{0,3}[*+-]([ ]{1,3}|\t) -->
534
+ <!-- both are folded together in the expression below -->
535
+ <string>(^|\G)(?!\s*$|#|[ ]{0,3}((([*_][ ]{0,2}\2){2,}[ \t]*$\n?)|([*+-]([ ]{1,3}|\t)))|\s*\[.+?\]:|&gt;)</string>
536
+ </dict>
537
+ <key>raw_block</key>
538
+ <dict>
539
+ <key>begin</key>
540
+ <string>(^|\G)([ ]{4}|\t)</string>
541
+ <key>name</key>
542
+ <string>markup.raw.block.markdown</string>
543
+ <key>while</key>
544
+ <string>(^|\G)([ ]{4}|\t)</string>
545
+ </dict>
546
+ <key>fenced_code_block_css</key>
547
+ <dict>
548
+ <key>begin</key>
549
+ <string>(^|\G)\s*([`~]{3,})\s*(css|css.erb)\s*$</string>
550
+ <key>name</key>
551
+ <string>markup.fenced_code.block.markdown</string>
552
+ <key>end</key>
553
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
554
+ <key>patterns</key>
555
+ <array>
556
+ <dict>
557
+ <key>include</key>
558
+ <string>source.css</string>
559
+ </dict>
560
+ </array>
561
+ </dict>
562
+ <key>fenced_code_block_sql</key>
563
+ <dict>
564
+ <key>begin</key>
565
+ <string>(^|\G)\s*([`~]{3,})\s*(sql|ddl|dml)\s*$</string>
566
+ <key>name</key>
567
+ <string>markup.fenced_code.block.markdown</string>
568
+ <key>end</key>
569
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
570
+ <key>patterns</key>
571
+ <array>
572
+ <dict>
573
+ <key>include</key>
574
+ <string>source.sql</string>
575
+ </dict>
576
+ </array>
577
+ </dict>
578
+ <key>fenced_code_block_xml</key>
579
+ <dict>
580
+ <key>begin</key>
581
+ <string>(^|\G)\s*([`~]{3,})\s*(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)\s*$</string>
582
+ <key>name</key>
583
+ <string>markup.fenced_code.block.markdown</string>
584
+ <key>end</key>
585
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
586
+ <key>patterns</key>
587
+ <array>
588
+ <dict>
589
+ <key>include</key>
590
+ <string>text.xml</string>
591
+ </dict>
592
+ </array>
593
+ </dict>
594
+ <key>fenced_code_block_yaml</key>
595
+ <dict>
596
+ <key>begin</key>
597
+ <string>(^|\G)\s*([`~]{3,})\s*(yaml|yml)\s*$</string>
598
+ <key>name</key>
599
+ <string>markup.fenced_code.block.markdown</string>
600
+ <key>end</key>
601
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
602
+ <key>patterns</key>
603
+ <array>
604
+ <dict>
605
+ <key>include</key>
606
+ <string>source.yaml</string>
607
+ </dict>
608
+ </array>
609
+ </dict>
610
+ <key>fenced_code_block_json</key>
611
+ <dict>
612
+ <key>begin</key>
613
+ <string>(^|\G)\s*([`~]{3,})\s*(json|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)\s*$</string>
614
+ <key>name</key>
615
+ <string>markup.fenced_code.block.markdown</string>
616
+ <key>end</key>
617
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
618
+ <key>patterns</key>
619
+ <array>
620
+ <dict>
621
+ <key>include</key>
622
+ <string>source.json</string>
623
+ </dict>
624
+ </array>
625
+ </dict>
626
+ <key>fenced_code_block_ts</key>
627
+ <dict>
628
+ <key>begin</key>
629
+ <string>(^|\G)\s*([`~]{3,})\s*(typescript|ts)\s*$</string>
630
+ <key>name</key>
631
+ <string>markup.fenced_code.block.markdown</string>
632
+ <key>end</key>
633
+ <string>(^|\G)[ ]{0,3}(\2)\s*\n</string>
634
+ <key>patterns</key>
635
+ <array>
636
+ <dict>
637
+ <key>include</key>
638
+ <string>source.ts</string>
639
+ </dict>
640
+ </array>
641
+ </dict>
642
+ <key>separator</key>
643
+ <dict>
644
+ <key>match</key>
645
+ <string>(^|\G)[ ]{0,3}([*-_])([ ]{0,2}\2){2,}[ \t]*$\n?</string>
646
+ <key>name</key>
647
+ <string>meta.separator.markdown</string>
648
+ </dict>
649
+ </dict>
650
+ </dict>
651
+ <key>inline</key>
652
+ <dict>
653
+ <key>patterns</key>
654
+ <array>
655
+ <dict>
656
+ <key>include</key>
657
+ <string>#ampersand</string>
658
+ </dict>
659
+ <dict>
660
+ <key>include</key>
661
+ <string>#bracket</string>
662
+ </dict>
663
+ <dict>
664
+ <key>include</key>
665
+ <string>#bold</string>
666
+ </dict>
667
+ <dict>
668
+ <key>include</key>
669
+ <string>#italic</string>
670
+ </dict>
671
+ <dict>
672
+ <key>include</key>
673
+ <string>#raw</string>
674
+ </dict>
675
+ <dict>
676
+ <key>include</key>
677
+ <string>#escape</string>
678
+ </dict>
679
+ <dict>
680
+ <key>include</key>
681
+ <string>#image-inline</string>
682
+ </dict>
683
+ <dict>
684
+ <key>include</key>
685
+ <string>#image-ref</string>
686
+ </dict>
687
+ <dict>
688
+ <key>include</key>
689
+ <string>#link-email</string>
690
+ </dict>
691
+ <dict>
692
+ <key>include</key>
693
+ <string>#link-inet</string>
694
+ </dict>
695
+ <dict>
696
+ <key>include</key>
697
+ <string>#link-inline</string>
698
+ </dict>
699
+ <dict>
700
+ <key>include</key>
701
+ <string>#link-ref</string>
702
+ </dict>
703
+ <dict>
704
+ <key>include</key>
705
+ <string>#link-ref-literal</string>
706
+ </dict>
707
+ </array>
708
+ <key>repository</key>
709
+ <dict>
710
+ <key>ampersand</key>
711
+ <dict>
712
+ <key>comment</key>
713
+ <string>
714
+ Markdown will convert this for us. We match it so that the
715
+ HTML grammar will not mark it up as invalid.
716
+ </string>
717
+ <key>match</key>
718
+ <string>&amp;(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)</string>
719
+ <key>name</key>
720
+ <string>meta.other.valid-ampersand.markdown</string>
721
+ </dict>
722
+ <key>bold</key>
723
+ <dict>
724
+ <key>begin</key>
725
+ <string>(?x)
726
+ (\*\*|__)(?=\S) # Open
727
+ (?=
728
+ (
729
+ &lt;[^&gt;]*+&gt; # HTML tags
730
+ | (?&lt;raw&gt;`+)([^`]|(?!(?&lt;!`)\k&lt;raw&gt;(?!`))`)*+\k&lt;raw&gt;
731
+ # Raw
732
+ | \\[\\`*_{}\[\]()#.!+\-&gt;]?+ # Escapes
733
+ | \[
734
+ (
735
+ (?&lt;square&gt; # Named group
736
+ [^\[\]\\] # Match most chars
737
+ | \\. # Escaped chars
738
+ | \[ \g&lt;square&gt;*+ \] # Nested brackets
739
+ )*+
740
+ \]
741
+ (
742
+ ( # Reference Link
743
+ [ ]? # Optional space
744
+ \[[^\]]*+\] # Ref name
745
+ )
746
+ | ( # Inline Link
747
+ \( # Opening paren
748
+ [ \t]*+ # Optional whtiespace
749
+ &lt;?(.*?)&gt;? # URL
750
+ [ \t]*+ # Optional whtiespace
751
+ ( # Optional Title
752
+ (?&lt;title&gt;['"])
753
+ (.*?)
754
+ \k&lt;title&gt;
755
+ )?
756
+ \)
757
+ )
758
+ )
759
+ )
760
+ | (?!(?&lt;=\S)\1). # Everything besides
761
+ # style closer
762
+ )++
763
+ (?&lt;=\S)\1 # Close
764
+ )
765
+ </string>
766
+ <key>captures</key>
767
+ <dict>
768
+ <key>1</key>
769
+ <dict>
770
+ <key>name</key>
771
+ <string>punctuation.definition.bold.markdown</string>
772
+ </dict>
773
+ </dict>
774
+ <key>end</key>
775
+ <string>(?&lt;=\S)(\1)</string>
776
+ <key>name</key>
777
+ <string>markup.bold.markdown</string>
778
+ <key>patterns</key>
779
+ <array>
780
+ <dict>
781
+ <key>applyEndPatternLast</key>
782
+ <integer>1</integer>
783
+ <key>begin</key>
784
+ <string>(?=&lt;[^&gt;]*?&gt;)</string>
785
+ <key>end</key>
786
+ <string>(?&lt;=&gt;)</string>
787
+ <key>patterns</key>
788
+ <array>
789
+ <dict>
790
+ <key>include</key>
791
+ <string>text.html.basic</string>
792
+ </dict>
793
+ </array>
794
+ </dict>
795
+ <dict>
796
+ <key>include</key>
797
+ <string>#escape</string>
798
+ </dict>
799
+ <dict>
800
+ <key>include</key>
801
+ <string>#ampersand</string>
802
+ </dict>
803
+ <dict>
804
+ <key>include</key>
805
+ <string>#bracket</string>
806
+ </dict>
807
+ <dict>
808
+ <key>include</key>
809
+ <string>#raw</string>
810
+ </dict>
811
+ <dict>
812
+ <key>include</key>
813
+ <string>#italic</string>
814
+ </dict>
815
+ <dict>
816
+ <key>include</key>
817
+ <string>#image-inline</string>
818
+ </dict>
819
+ <dict>
820
+ <key>include</key>
821
+ <string>#link-inline</string>
822
+ </dict>
823
+ <dict>
824
+ <key>include</key>
825
+ <string>#link-inet</string>
826
+ </dict>
827
+ <dict>
828
+ <key>include</key>
829
+ <string>#link-email</string>
830
+ </dict>
831
+ <dict>
832
+ <key>include</key>
833
+ <string>#image-ref</string>
834
+ </dict>
835
+ <dict>
836
+ <key>include</key>
837
+ <string>#link-ref-literal</string>
838
+ </dict>
839
+ <dict>
840
+ <key>include</key>
841
+ <string>#link-ref</string>
842
+ </dict>
843
+ </array>
844
+ </dict>
845
+ <key>bracket</key>
846
+ <dict>
847
+ <key>comment</key>
848
+ <string>
849
+ Markdown will convert this for us. We match it so that the
850
+ HTML grammar will not mark it up as invalid.
851
+ </string>
852
+ <key>match</key>
853
+ <string>&lt;(?![a-z/?\$!])</string>
854
+ <key>name</key>
855
+ <string>meta.other.valid-bracket.markdown</string>
856
+ </dict>
857
+ <key>escape</key>
858
+ <dict>
859
+ <key>match</key>
860
+ <string>\\[-`*_#+.!(){}\[\]\\&gt;]</string>
861
+ <key>name</key>
862
+ <string>constant.character.escape.markdown</string>
863
+ </dict>
864
+ <key>image-inline</key>
865
+ <dict>
866
+ <key>captures</key>
867
+ <dict>
868
+ <key>1</key>
869
+ <dict>
870
+ <key>name</key>
871
+ <string>punctuation.definition.string.begin.markdown</string>
872
+ </dict>
873
+ <key>10</key>
874
+ <dict>
875
+ <key>name</key>
876
+ <string>string.other.link.description.title.markdown</string>
877
+ </dict>
878
+ <key>11</key>
879
+ <dict>
880
+ <key>name</key>
881
+ <string>punctuation.definition.string.markdown</string>
882
+ </dict>
883
+ <key>12</key>
884
+ <dict>
885
+ <key>name</key>
886
+ <string>punctuation.definition.string.markdown</string>
887
+ </dict>
888
+ <key>13</key>
889
+ <dict>
890
+ <key>name</key>
891
+ <string>string.other.link.description.title.markdown</string>
892
+ </dict>
893
+ <key>14</key>
894
+ <dict>
895
+ <key>name</key>
896
+ <string>punctuation.definition.string.markdown</string>
897
+ </dict>
898
+ <key>15</key>
899
+ <dict>
900
+ <key>name</key>
901
+ <string>punctuation.definition.string.markdown</string>
902
+ </dict>
903
+ <key>16</key>
904
+ <dict>
905
+ <key>name</key>
906
+ <string>punctuation.definition.metadata.markdown</string>
907
+ </dict>
908
+ <key>2</key>
909
+ <dict>
910
+ <key>name</key>
911
+ <string>string.other.link.description.markdown</string>
912
+ </dict>
913
+ <key>4</key>
914
+ <dict>
915
+ <key>name</key>
916
+ <string>punctuation.definition.string.end.markdown</string>
917
+ </dict>
918
+ <key>5</key>
919
+ <dict>
920
+ <key>name</key>
921
+ <string>invalid.illegal.whitespace.markdown</string>
922
+ </dict>
923
+ <key>6</key>
924
+ <dict>
925
+ <key>name</key>
926
+ <string>punctuation.definition.metadata.markdown</string>
927
+ </dict>
928
+ <key>7</key>
929
+ <dict>
930
+ <key>name</key>
931
+ <string>punctuation.definition.link.markdown</string>
932
+ </dict>
933
+ <key>8</key>
934
+ <dict>
935
+ <key>name</key>
936
+ <string>markup.underline.link.image.markdown</string>
937
+ </dict>
938
+ <key>9</key>
939
+ <dict>
940
+ <key>name</key>
941
+ <string>punctuation.definition.link.markdown</string>
942
+ </dict>
943
+ </dict>
944
+ <key>match</key>
945
+ <string>(?x:
946
+ (\!\[)((?&lt;square&gt;[^\[\]\\]|\\.|\[\g&lt;square&gt;*+\])*+)(\])
947
+ # Match the link text.
948
+ ([ ])? # Space not allowed
949
+ (\() # Opening paren for url
950
+ (&lt;?)(\S+?)(&gt;?) # The url
951
+ [ \t]* # Optional whitespace
952
+ (?:
953
+ ((\().+?(\))) # Match title in parens…
954
+ | ((").+?(")) # or in quotes.
955
+ )? # Title is optional
956
+ \s* # Optional whitespace
957
+ (\))
958
+ )</string>
959
+ <key>name</key>
960
+ <string>meta.image.inline.markdown</string>
961
+ </dict>
962
+ <key>image-ref</key>
963
+ <dict>
964
+ <key>captures</key>
965
+ <dict>
966
+ <key>1</key>
967
+ <dict>
968
+ <key>name</key>
969
+ <string>punctuation.definition.string.begin.markdown</string>
970
+ </dict>
971
+ <key>2</key>
972
+ <dict>
973
+ <key>name</key>
974
+ <string>string.other.link.description.markdown</string>
975
+ </dict>
976
+ <key>4</key>
977
+ <dict>
978
+ <key>name</key>
979
+ <string>punctuation.definition.string.begin.markdown</string>
980
+ </dict>
981
+ <key>5</key>
982
+ <dict>
983
+ <key>name</key>
984
+ <string>punctuation.definition.constant.markdown</string>
985
+ </dict>
986
+ <key>6</key>
987
+ <dict>
988
+ <key>name</key>
989
+ <string>constant.other.reference.link.markdown</string>
990
+ </dict>
991
+ <key>7</key>
992
+ <dict>
993
+ <key>name</key>
994
+ <string>punctuation.definition.constant.markdown</string>
995
+ </dict>
996
+ </dict>
997
+ <key>match</key>
998
+ <string>(\!\[)((?&lt;square&gt;[^\[\]\\]|\\.|\[\g&lt;square&gt;*+\])*+)(\])[ ]?(\[)(.*?)(\])</string>
999
+ <key>name</key>
1000
+ <string>meta.image.reference.markdown</string>
1001
+ </dict>
1002
+ <key>italic</key>
1003
+ <dict>
1004
+ <key>begin</key>
1005
+ <string>(?x)
1006
+ (\*|_)(?=\S) # Open
1007
+ (?=
1008
+ (
1009
+ &lt;[^&gt;]*+&gt; # HTML tags
1010
+ | (?&lt;raw&gt;`+)([^`]|(?!(?&lt;!`)\k&lt;raw&gt;(?!`))`)*+\k&lt;raw&gt;
1011
+ # Raw
1012
+ | \\[\\`*_{}\[\]()#.!+\-&gt;]?+ # Escapes
1013
+ | \[
1014
+ (
1015
+ (?&lt;square&gt; # Named group
1016
+ [^\[\]\\] # Match most chars
1017
+ | \\. # Escaped chars
1018
+ | \[ \g&lt;square&gt;*+ \] # Nested brackets
1019
+ )*+
1020
+ \]
1021
+ (
1022
+ ( # Reference Link
1023
+ [ ]? # Optional space
1024
+ \[[^\]]*+\] # Ref name
1025
+ )
1026
+ | ( # Inline Link
1027
+ \( # Opening paren
1028
+ [ \t]*+ # Optional whtiespace
1029
+ &lt;?(.*?)&gt;? # URL
1030
+ [ \t]*+ # Optional whtiespace
1031
+ ( # Optional Title
1032
+ (?&lt;title&gt;['"])
1033
+ (.*?)
1034
+ \k&lt;title&gt;
1035
+ )?
1036
+ \)
1037
+ )
1038
+ )
1039
+ )
1040
+ | \1\1 # Must be bold closer
1041
+ | (?!(?&lt;=\S)\1). # Everything besides
1042
+ # style closer
1043
+ )++
1044
+ (?&lt;=\S)\1 # Close
1045
+ )
1046
+ </string>
1047
+ <key>captures</key>
1048
+ <dict>
1049
+ <key>1</key>
1050
+ <dict>
1051
+ <key>name</key>
1052
+ <string>punctuation.definition.italic.markdown</string>
1053
+ </dict>
1054
+ </dict>
1055
+ <key>end</key>
1056
+ <string>(?&lt;=\S)(\1)((?!\1)|(?=\1\1))</string>
1057
+ <key>name</key>
1058
+ <string>markup.italic.markdown</string>
1059
+ <key>patterns</key>
1060
+ <array>
1061
+ <dict>
1062
+ <key>applyEndPatternLast</key>
1063
+ <integer>1</integer>
1064
+ <key>begin</key>
1065
+ <string>(?=&lt;[^&gt;]*?&gt;)</string>
1066
+ <key>end</key>
1067
+ <string>(?&lt;=&gt;)</string>
1068
+ <key>patterns</key>
1069
+ <array>
1070
+ <dict>
1071
+ <key>include</key>
1072
+ <string>text.html.basic</string>
1073
+ </dict>
1074
+ </array>
1075
+ </dict>
1076
+ <dict>
1077
+ <key>include</key>
1078
+ <string>#escape</string>
1079
+ </dict>
1080
+ <dict>
1081
+ <key>include</key>
1082
+ <string>#ampersand</string>
1083
+ </dict>
1084
+ <dict>
1085
+ <key>include</key>
1086
+ <string>#bracket</string>
1087
+ </dict>
1088
+ <dict>
1089
+ <key>include</key>
1090
+ <string>#raw</string>
1091
+ </dict>
1092
+ <dict>
1093
+ <key>include</key>
1094
+ <string>#bold</string>
1095
+ </dict>
1096
+ <dict>
1097
+ <key>include</key>
1098
+ <string>#image-inline</string>
1099
+ </dict>
1100
+ <dict>
1101
+ <key>include</key>
1102
+ <string>#link-inline</string>
1103
+ </dict>
1104
+ <dict>
1105
+ <key>include</key>
1106
+ <string>#link-inet</string>
1107
+ </dict>
1108
+ <dict>
1109
+ <key>include</key>
1110
+ <string>#link-email</string>
1111
+ </dict>
1112
+ <dict>
1113
+ <key>include</key>
1114
+ <string>#image-ref</string>
1115
+ </dict>
1116
+ <dict>
1117
+ <key>include</key>
1118
+ <string>#link-ref-literal</string>
1119
+ </dict>
1120
+ <dict>
1121
+ <key>include</key>
1122
+ <string>#link-ref</string>
1123
+ </dict>
1124
+ </array>
1125
+ </dict>
1126
+ <key>link-email</key>
1127
+ <dict>
1128
+ <key>captures</key>
1129
+ <dict>
1130
+ <key>1</key>
1131
+ <dict>
1132
+ <key>name</key>
1133
+ <string>punctuation.definition.link.markdown</string>
1134
+ </dict>
1135
+ <key>2</key>
1136
+ <dict>
1137
+ <key>name</key>
1138
+ <string>markup.underline.link.markdown</string>
1139
+ </dict>
1140
+ <key>4</key>
1141
+ <dict>
1142
+ <key>name</key>
1143
+ <string>punctuation.definition.link.markdown</string>
1144
+ </dict>
1145
+ </dict>
1146
+ <key>match</key>
1147
+ <string>(&lt;)((?:mailto:)?[-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(&gt;)</string>
1148
+ <key>name</key>
1149
+ <string>meta.link.email.lt-gt.markdown</string>
1150
+ </dict>
1151
+ <key>link-inet</key>
1152
+ <dict>
1153
+ <key>captures</key>
1154
+ <dict>
1155
+ <key>1</key>
1156
+ <dict>
1157
+ <key>name</key>
1158
+ <string>punctuation.definition.link.markdown</string>
1159
+ </dict>
1160
+ <key>2</key>
1161
+ <dict>
1162
+ <key>name</key>
1163
+ <string>markup.underline.link.markdown</string>
1164
+ </dict>
1165
+ <key>3</key>
1166
+ <dict>
1167
+ <key>name</key>
1168
+ <string>punctuation.definition.link.markdown</string>
1169
+ </dict>
1170
+ </dict>
1171
+ <key>match</key>
1172
+ <string>(&lt;)((?:https?|ftp)://.*?)(&gt;)</string>
1173
+ <key>name</key>
1174
+ <string>meta.link.inet.markdown</string>
1175
+ </dict>
1176
+ <key>link-inline</key>
1177
+ <dict>
1178
+ <key>captures</key>
1179
+ <dict>
1180
+ <key>1</key>
1181
+ <dict>
1182
+ <key>name</key>
1183
+ <string>punctuation.definition.string.begin.markdown</string>
1184
+ </dict>
1185
+ <key>10</key>
1186
+ <dict>
1187
+ <key>name</key>
1188
+ <string>string.other.link.description.title.markdown</string>
1189
+ </dict>
1190
+ <key>11</key>
1191
+ <dict>
1192
+ <key>name</key>
1193
+ <string>punctuation.definition.string.begin.markdown</string>
1194
+ </dict>
1195
+ <key>12</key>
1196
+ <dict>
1197
+ <key>name</key>
1198
+ <string>punctuation.definition.string.end.markdown</string>
1199
+ </dict>
1200
+ <key>13</key>
1201
+ <dict>
1202
+ <key>name</key>
1203
+ <string>string.other.link.description.title.markdown</string>
1204
+ </dict>
1205
+ <key>14</key>
1206
+ <dict>
1207
+ <key>name</key>
1208
+ <string>punctuation.definition.string.begin.markdown</string>
1209
+ </dict>
1210
+ <key>15</key>
1211
+ <dict>
1212
+ <key>name</key>
1213
+ <string>punctuation.definition.string.end.markdown</string>
1214
+ </dict>
1215
+ <key>16</key>
1216
+ <dict>
1217
+ <key>name</key>
1218
+ <string>punctuation.definition.metadata.markdown</string>
1219
+ </dict>
1220
+ <key>2</key>
1221
+ <dict>
1222
+ <key>name</key>
1223
+ <string>string.other.link.title.markdown</string>
1224
+ </dict>
1225
+ <key>4</key>
1226
+ <dict>
1227
+ <key>name</key>
1228
+ <string>punctuation.definition.string.end.markdown</string>
1229
+ </dict>
1230
+ <key>5</key>
1231
+ <dict>
1232
+ <key>name</key>
1233
+ <string>invalid.illegal.whitespace.markdown</string>
1234
+ </dict>
1235
+ <key>6</key>
1236
+ <dict>
1237
+ <key>name</key>
1238
+ <string>punctuation.definition.metadata.markdown</string>
1239
+ </dict>
1240
+ <key>7</key>
1241
+ <dict>
1242
+ <key>name</key>
1243
+ <string>punctuation.definition.link.markdown</string>
1244
+ </dict>
1245
+ <key>8</key>
1246
+ <dict>
1247
+ <key>name</key>
1248
+ <string>markup.underline.link.markdown</string>
1249
+ </dict>
1250
+ <key>9</key>
1251
+ <dict>
1252
+ <key>name</key>
1253
+ <string>punctuation.definition.link.markdown</string>
1254
+ </dict>
1255
+ </dict>
1256
+ <key>match</key>
1257
+ <string>(?x:
1258
+ (\[)((?&lt;square&gt;[^\[\]\\]|\\.|\[\g&lt;square&gt;*+\])*+)(\])
1259
+ # Match the link text.
1260
+ ([ ])? # Space not allowed
1261
+ (\() # Opening paren for url
1262
+ (&lt;?)(.*?)(&gt;?) # The url
1263
+ [ \t]* # Optional whitespace
1264
+ (?:
1265
+ ((\().+?(\))) # Match title in parens…
1266
+ | ((").+?(")) # or in quotes.
1267
+ )? # Title is optional
1268
+ \s* # Optional whitespace
1269
+ (\))
1270
+ )</string>
1271
+ <key>name</key>
1272
+ <string>meta.link.inline.markdown</string>
1273
+ </dict>
1274
+ <key>link-ref</key>
1275
+ <dict>
1276
+ <key>captures</key>
1277
+ <dict>
1278
+ <key>1</key>
1279
+ <dict>
1280
+ <key>name</key>
1281
+ <string>punctuation.definition.string.begin.markdown</string>
1282
+ </dict>
1283
+ <key>2</key>
1284
+ <dict>
1285
+ <key>name</key>
1286
+ <string>string.other.link.title.markdown</string>
1287
+ </dict>
1288
+ <key>4</key>
1289
+ <dict>
1290
+ <key>name</key>
1291
+ <string>punctuation.definition.string.end.markdown</string>
1292
+ </dict>
1293
+ <key>5</key>
1294
+ <dict>
1295
+ <key>name</key>
1296
+ <string>punctuation.definition.constant.begin.markdown</string>
1297
+ </dict>
1298
+ <key>6</key>
1299
+ <dict>
1300
+ <key>name</key>
1301
+ <string>constant.other.reference.link.markdown</string>
1302
+ </dict>
1303
+ <key>7</key>
1304
+ <dict>
1305
+ <key>name</key>
1306
+ <string>punctuation.definition.constant.end.markdown</string>
1307
+ </dict>
1308
+ </dict>
1309
+ <key>match</key>
1310
+ <string>(\[)((?&lt;square&gt;[^\[\]\\]|\\.|\[\g&lt;square&gt;*+\])*+)(\])[ ]?(\[)([^\]]*+)(\])</string>
1311
+ <key>name</key>
1312
+ <string>meta.link.reference.markdown</string>
1313
+ </dict>
1314
+ <key>link-ref-literal</key>
1315
+ <dict>
1316
+ <key>captures</key>
1317
+ <dict>
1318
+ <key>1</key>
1319
+ <dict>
1320
+ <key>name</key>
1321
+ <string>punctuation.definition.string.begin.markdown</string>
1322
+ </dict>
1323
+ <key>2</key>
1324
+ <dict>
1325
+ <key>name</key>
1326
+ <string>string.other.link.title.markdown</string>
1327
+ </dict>
1328
+ <key>4</key>
1329
+ <dict>
1330
+ <key>name</key>
1331
+ <string>punctuation.definition.string.end.markdown</string>
1332
+ </dict>
1333
+ <key>5</key>
1334
+ <dict>
1335
+ <key>name</key>
1336
+ <string>punctuation.definition.constant.begin.markdown</string>
1337
+ </dict>
1338
+ <key>6</key>
1339
+ <dict>
1340
+ <key>name</key>
1341
+ <string>punctuation.definition.constant.end.markdown</string>
1342
+ </dict>
1343
+ </dict>
1344
+ <key>match</key>
1345
+ <string>(\[)((?&lt;square&gt;[^\[\]\\]|\\.|\[\g&lt;square&gt;*+\])*+)(\])[ ]?(\[)(\])</string>
1346
+ <key>name</key>
1347
+ <string>meta.link.reference.literal.markdown</string>
1348
+ </dict>
1349
+ <key>raw</key>
1350
+ <dict>
1351
+ <key>captures</key>
1352
+ <dict>
1353
+ <key>1</key>
1354
+ <dict>
1355
+ <key>name</key>
1356
+ <string>punctuation.definition.raw.markdown</string>
1357
+ </dict>
1358
+ <key>3</key>
1359
+ <dict>
1360
+ <key>name</key>
1361
+ <string>punctuation.definition.raw.markdown</string>
1362
+ </dict>
1363
+ </dict>
1364
+ <key>match</key>
1365
+ <string>(`+)([^`]|(?!(?&lt;!`)\1(?!`))`)*+(\1)</string>
1366
+ <key>name</key>
1367
+ <string>markup.inline.raw.markdown</string>
1368
+ </dict>
1369
+ </dict>
1370
+ </dict>
1371
+ </dict>
1372
+ <key>scopeName</key>
1373
+ <string>text.html.markdown</string>
1374
+ <key>uuid</key>
1375
+ <string>0A1D9874-B448-11D9-BD50-000D93B6E43C</string>
1376
+ </dict>
1377
+ </plist>