ultraviolet 0.10.2 → 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 (178) hide show
  1. data/.gitmodules +3 -0
  2. data/Gemfile +10 -0
  3. data/Gemfile.lock +28 -0
  4. data/Rakefile +18 -47
  5. data/Readme.md +89 -0
  6. data/bin/theme2latexrender +0 -0
  7. data/bin/theme2xhtmlrender +0 -0
  8. data/bin/uv +0 -0
  9. data/lib/uv.rb +78 -75
  10. data/lib/uv/render_processor.rb +128 -119
  11. data/lib/uv/utility.rb +62 -62
  12. data/lib/uv/version.rb +3 -0
  13. data/spec/spec_helper.rb +2 -0
  14. data/spec/ultraviolet_spec.rb +13 -0
  15. data/ultraviolet.gemspec +15 -0
  16. metadata +123 -271
  17. data/History.txt +0 -25
  18. data/Manifest.txt +0 -233
  19. data/README.txt +0 -52
  20. data/syntax/actionscript.syntax +0 -97
  21. data/syntax/active4d.syntax +0 -276
  22. data/syntax/active4d_html.syntax +0 -311
  23. data/syntax/active4d_ini.syntax +0 -50
  24. data/syntax/active4d_library.syntax +0 -21
  25. data/syntax/ada.syntax +0 -33
  26. data/syntax/antlr.syntax +0 -151
  27. data/syntax/apache.syntax +0 -191
  28. data/syntax/applescript.syntax +0 -384
  29. data/syntax/asp.syntax +0 -70
  30. data/syntax/asp_vb.net.syntax +0 -129
  31. data/syntax/bibtex.syntax +0 -151
  32. data/syntax/blog_html.syntax +0 -41
  33. data/syntax/blog_markdown.syntax +0 -42
  34. data/syntax/blog_text.syntax +0 -27
  35. data/syntax/blog_textile.syntax +0 -27
  36. data/syntax/build.syntax +0 -53
  37. data/syntax/bulletin_board.syntax +0 -287
  38. data/syntax/c++.syntax +0 -109
  39. data/syntax/c.syntax +0 -326
  40. data/syntax/cake.syntax +0 -55
  41. data/syntax/camlp4.syntax +0 -36
  42. data/syntax/cm.syntax +0 -32
  43. data/syntax/coldfusion.syntax +0 -119
  44. data/syntax/context_free.syntax +0 -176
  45. data/syntax/cs.syntax +0 -59
  46. data/syntax/css.syntax +0 -195
  47. data/syntax/css_experimental.syntax +0 -1925
  48. data/syntax/csv.syntax +0 -68
  49. data/syntax/d.syntax +0 -142
  50. data/syntax/diff.syntax +0 -81
  51. data/syntax/dokuwiki.syntax +0 -204
  52. data/syntax/dot.syntax +0 -47
  53. data/syntax/doxygen.syntax +0 -43
  54. data/syntax/dylan.syntax +0 -62
  55. data/syntax/eiffel.syntax +0 -78
  56. data/syntax/erlang.syntax +0 -922
  57. data/syntax/f-script.syntax +0 -80
  58. data/syntax/fortran.syntax +0 -141
  59. data/syntax/fxscript.syntax +0 -142
  60. data/syntax/greasemonkey.syntax +0 -34
  61. data/syntax/gri.syntax +0 -83
  62. data/syntax/groovy.syntax +0 -191
  63. data/syntax/gtd.syntax +0 -22
  64. data/syntax/gtdalt.syntax +0 -143
  65. data/syntax/haml.syntax +0 -88
  66. data/syntax/haskell.syntax +0 -88
  67. data/syntax/html-asp.syntax +0 -27
  68. data/syntax/html.syntax +0 -362
  69. data/syntax/html_django.syntax +0 -36
  70. data/syntax/html_for_asp.net.syntax +0 -424
  71. data/syntax/html_mason.syntax +0 -119
  72. data/syntax/html_rails.syntax +0 -40
  73. data/syntax/html_tcl.syntax +0 -26
  74. data/syntax/icalendar.syntax +0 -32
  75. data/syntax/inform.syntax +0 -48
  76. data/syntax/ini.syntax +0 -55
  77. data/syntax/installer_distribution_script.syntax +0 -77
  78. data/syntax/io.syntax +0 -81
  79. data/syntax/java.syntax +0 -211
  80. data/syntax/javaproperties.syntax +0 -20
  81. data/syntax/javascript.syntax +0 -256
  82. data/syntax/javascript_+_prototype.syntax +0 -72
  83. data/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  84. data/syntax/jquery_javascript.syntax +0 -114
  85. data/syntax/json.syntax +0 -136
  86. data/syntax/languagedefinition.syntax +0 -708
  87. data/syntax/latex.syntax +0 -566
  88. data/syntax/latex_beamer.syntax +0 -41
  89. data/syntax/latex_log.syntax +0 -50
  90. data/syntax/latex_memoir.syntax +0 -64
  91. data/syntax/lexflex.syntax +0 -219
  92. data/syntax/lighttpd.syntax +0 -54
  93. data/syntax/lilypond.syntax +0 -492
  94. data/syntax/lisp.syntax +0 -61
  95. data/syntax/literate_haskell.syntax +0 -24
  96. data/syntax/logo.syntax +0 -29
  97. data/syntax/logtalk.syntax +0 -152
  98. data/syntax/lua.syntax +0 -86
  99. data/syntax/m.syntax +0 -142
  100. data/syntax/macports_portfile.syntax +0 -163
  101. data/syntax/mail.syntax +0 -118
  102. data/syntax/makefile.syntax +0 -36
  103. data/syntax/man.syntax +0 -17
  104. data/syntax/markdown.syntax +0 -543
  105. data/syntax/mediawiki.syntax +0 -567
  106. data/syntax/mel.syntax +0 -92
  107. data/syntax/mips.syntax +0 -66
  108. data/syntax/mod_perl.syntax +0 -50
  109. data/syntax/modula-3.syntax +0 -47
  110. data/syntax/moinmoin.syntax +0 -189
  111. data/syntax/mootools.syntax +0 -572
  112. data/syntax/movable_type.syntax +0 -162
  113. data/syntax/multimarkdown.syntax +0 -39
  114. data/syntax/objective-c++.syntax +0 -18
  115. data/syntax/objective-c.syntax +0 -233
  116. data/syntax/ocaml.syntax +0 -764
  117. data/syntax/ocamllex.syntax +0 -167
  118. data/syntax/ocamlyacc.syntax +0 -184
  119. data/syntax/opengl.syntax +0 -14
  120. data/syntax/pascal.syntax +0 -77
  121. data/syntax/perl.syntax +0 -1115
  122. data/syntax/php.syntax +0 -1253
  123. data/syntax/plain_text.syntax +0 -32
  124. data/syntax/pmwiki.syntax +0 -113
  125. data/syntax/postscript.syntax +0 -114
  126. data/syntax/processing.syntax +0 -106
  127. data/syntax/prolog.syntax +0 -40
  128. data/syntax/property_list.syntax +0 -635
  129. data/syntax/python.syntax +0 -868
  130. data/syntax/python_django.syntax +0 -21
  131. data/syntax/qmake_project.syntax +0 -114
  132. data/syntax/qt_c++.syntax +0 -26
  133. data/syntax/quake3_config.syntax +0 -32
  134. data/syntax/r.syntax +0 -81
  135. data/syntax/r_console.syntax +0 -16
  136. data/syntax/ragel.syntax +0 -201
  137. data/syntax/rd_r_documentation.syntax +0 -91
  138. data/syntax/regexp.syntax +0 -50
  139. data/syntax/regular_expressions_oniguruma.syntax +0 -107
  140. data/syntax/regular_expressions_python.syntax +0 -109
  141. data/syntax/release_notes.syntax +0 -46
  142. data/syntax/remind.syntax +0 -253
  143. data/syntax/restructuredtext.syntax +0 -250
  144. data/syntax/rez.syntax +0 -80
  145. data/syntax/ruby.syntax +0 -1035
  146. data/syntax/ruby_experimental.syntax +0 -145
  147. data/syntax/ruby_on_rails.syntax +0 -88
  148. data/syntax/s5.syntax +0 -69
  149. data/syntax/scheme.syntax +0 -347
  150. data/syntax/scilab.syntax +0 -41
  151. data/syntax/setext.syntax +0 -147
  152. data/syntax/shell-unix-generic.syntax +0 -384
  153. data/syntax/slate.syntax +0 -149
  154. data/syntax/smarty.syntax +0 -63
  155. data/syntax/sql.syntax +0 -237
  156. data/syntax/sql_rails.syntax +0 -18
  157. data/syntax/ssh-config.syntax +0 -33
  158. data/syntax/standard_ml.syntax +0 -121
  159. data/syntax/strings_file.syntax +0 -39
  160. data/syntax/subversion_commit_message.syntax +0 -36
  161. data/syntax/sweave.syntax +0 -84
  162. data/syntax/swig.syntax +0 -57
  163. data/syntax/tcl.syntax +0 -152
  164. data/syntax/template_toolkit.syntax +0 -121
  165. data/syntax/tex.syntax +0 -86
  166. data/syntax/tex_math.syntax +0 -49
  167. data/syntax/textile.syntax +0 -215
  168. data/syntax/tsv.syntax +0 -50
  169. data/syntax/twiki.syntax +0 -241
  170. data/syntax/txt2tags.syntax +0 -79
  171. data/syntax/vectorscript.syntax +0 -57
  172. data/syntax/xhtml_1.0.syntax +0 -4027
  173. data/syntax/xml.syntax +0 -180
  174. data/syntax/xml_strict.syntax +0 -92
  175. data/syntax/xsl.syntax +0 -60
  176. data/syntax/yaml.syntax +0 -160
  177. data/syntax/yui_javascript.syntax +0 -176
  178. data/test/test_uv.rb +0 -0
@@ -1,41 +0,0 @@
1
- ---
2
- name: Scilab
3
- fileTypes:
4
- - sce
5
- - sci
6
- - tst
7
- - dem
8
- scopeName: source.scilab
9
- uuid: 14374AA3-A329-4623-8DFA-1ACC2CE222B9
10
- foldingStartMarker: ^(?!.*//.*).*\b(if|while|for|function|select)\b
11
- patterns:
12
- - name: comment.line.double-slash.scilab
13
- begin: //
14
- end: $\n?
15
- - name: constant.numeric.scilab
16
- match: \b(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?\b
17
- - name: support.constant.scilab
18
- match: (%inf|%i|%pi|%eps|%e|%nan|%s|%t|%f)\b
19
- - name: string.quoted.double.scilab
20
- begin: "\""
21
- end: "\"(?!\")"
22
- patterns:
23
- - name: constant.character.escape.scilab
24
- match: "''|\"\""
25
- - name: string.quoted.single.scilab
26
- begin: (?<![\w\]\)])'
27
- end: "'(?!')"
28
- patterns:
29
- - name: constant.character.escape.scilab
30
- match: "''|\"\""
31
- - captures:
32
- "1":
33
- name: keyword.control.scilab
34
- "2":
35
- name: entity.name.function.scilab
36
- match: \b(function)\s+(?:[^=]+=\s*)?(\w+)(?:\s*\(.*\))?
37
- - name: keyword.control.scilab
38
- match: \b(if|then|else|elseif|while|for|function|end|endfunction|return|select|case|break|global)\b
39
- - name: punctuation.separator.continuation.scilab
40
- match: \.\.\.\s*$
41
- foldingStopMarker: \b(endfunction|end)\b
@@ -1,147 +0,0 @@
1
- ---
2
- name: Setext
3
- fileTypes:
4
- - etx
5
- - etx.txt
6
- firstLineMatch: setext
7
- scopeName: text.setext
8
- repository:
9
- underline:
10
- name: markup.underline.setext
11
- captures:
12
- "1":
13
- name: punctuation.definition.underline.setext
14
- "2":
15
- name: punctuation.definition.underline.setext
16
- "3":
17
- name: punctuation.definition.underline.setext
18
- "4":
19
- name: punctuation.definition.underline.setext
20
- match: \b(_)\w+(?<!_)(_)\b|\b(_).+(?<!_)(_)\b
21
- hotword:
22
- name: meta.link.reference.setext
23
- captures:
24
- "0":
25
- name: constant.other.reference.link.setext
26
- "1":
27
- name: punctuation.definition.reference.setext
28
- match: \b[-\w.]*\w(?<!_)(_)\b
29
- inline:
30
- patterns:
31
- - include: "#italic"
32
- - include: "#bold"
33
- - include: "#underline"
34
- - include: "#hotword"
35
- - include: "#link"
36
- - include: "#doc_separator"
37
- bold:
38
- name: markup.bold.setext
39
- captures:
40
- "1":
41
- name: punctuation.definition.bold.setext
42
- "2":
43
- name: punctuation.definition.bold.setext
44
- match: ([*]{2}).+?([*]{2})
45
- link:
46
- captures:
47
- "1":
48
- name: punctuation.definition.link.setext
49
- "2":
50
- name: markup.underline.link.setext
51
- "3":
52
- name: punctuation.definition.link.setext
53
- match: (<)((?i:mailto|https?|ftp|news)://.*?)(>)
54
- comment: Not actually part of setext, added for Tidbits.
55
- doc_separator:
56
- name: meta.separator.document.setext
57
- captures:
58
- "1":
59
- name: punctuation.definition.separator.setext
60
- match: \s*(\$\$)$\n?
61
- italic:
62
- name: markup.italic.setext
63
- captures:
64
- "1":
65
- name: punctuation.definition.italic.setext
66
- "2":
67
- name: punctuation.definition.italic.setext
68
- match: (~)\w+(~)
69
- uuid: FB227CE6-DC4C-4632-BCA3-965AE0D8E419
70
- patterns:
71
- - include: "#inline"
72
- - name: meta.header.setext
73
- captures:
74
- "1":
75
- name: keyword.other.setext
76
- "2":
77
- name: punctuation.separator.key-value.setext
78
- "3":
79
- name: string.unquoted.setext
80
- match: ^(Subject|Date|From)(:) (.+)
81
- - name: markup.heading.1.setext
82
- match: ^={3,}\s*$\n?
83
- - name: markup.heading.2.setext
84
- match: ^-{3,}\s*$\n?
85
- - name: markup.quote.setext
86
- captures:
87
- "1":
88
- name: punctuation.definition.quote.setext
89
- begin: ^(>)\s
90
- end: $
91
- patterns:
92
- - include: "#inline"
93
- - name: markup.other.bullet.setext
94
- captures:
95
- "1":
96
- name: punctuation.definition.bullet.setext
97
- begin: ^([*])\s
98
- end: $
99
- patterns:
100
- - include: "#inline"
101
- - name: markup.raw.setext
102
- endCaptures:
103
- "0":
104
- name: punctuation.definition.raw.end.setext
105
- begin: `
106
- beginCaptures:
107
- "0":
108
- name: punctuation.definition.raw.begin.setext
109
- end: `
110
- - name: meta.note.def.setext
111
- captures:
112
- "7":
113
- name: punctuation.definition.string.end.setext
114
- "1":
115
- name: punctuation.definition.note.setext
116
- "2":
117
- name: constant.other.reference.note.setext
118
- "3":
119
- name: punctuation.definition.reference.setext
120
- "4":
121
- name: string.quoted.other.note.setext
122
- "5":
123
- name: punctuation.definition.string.begin.setext
124
- match: ^(\.{2}) ((_)[-\w.]+) +((\()(.+(\))|.+))$
125
- - name: meta.link.reference.def.setext
126
- captures:
127
- "1":
128
- name: punctuation.definition.reference.setext
129
- "2":
130
- name: constant.other.reference.link.setext
131
- "3":
132
- name: punctuation.definition.reference.setext
133
- "4":
134
- name: markup.underline.link.setext
135
- match: ^(\.{2}) ((_)[-\w.]+) +(.{2,})$
136
- - name: comment.line.double-dot.setext
137
- captures:
138
- "1":
139
- name: punctuation.definition.comment.setext
140
- match: ^(\.{2}) (?![.]).+$\n?
141
- - name: comment.block.logical_end_of_text.setext
142
- captures:
143
- "1":
144
- name: punctuation.definition.comment.setext
145
- begin: ^(\.{2})$
146
- end: not(?<=possible)
147
- keyEquivalent: ^~S
@@ -1,384 +0,0 @@
1
- ---
2
- name: Shell Script (Bash)
3
- fileTypes:
4
- - sh
5
- - ss
6
- - bashrc
7
- - bash_profile
8
- - bash_login
9
- - profile
10
- - bash_logout
11
- firstLineMatch: ^#!.*(bash|zsh|sh|tcsh)
12
- scopeName: source.shell
13
- repository:
14
- interpolation:
15
- patterns:
16
- - name: string.interpolated.backtick.shell
17
- endCaptures:
18
- "0":
19
- name: punctuation.definition.string.end.shell
20
- begin: `
21
- beginCaptures:
22
- "0":
23
- name: punctuation.definition.string.begin.shell
24
- end: `
25
- patterns:
26
- - name: constant.character.escape.shell
27
- match: \\[`\\$]
28
- - name: string.interpolated.dollar.shell
29
- endCaptures:
30
- "0":
31
- name: punctuation.definition.string.end.shell
32
- begin: \$\(
33
- beginCaptures:
34
- "0":
35
- name: punctuation.definition.string.begin.shell
36
- end: \)
37
- patterns:
38
- - include: $self
39
- variable:
40
- patterns:
41
- - name: variable.other.special.shell
42
- captures:
43
- "1":
44
- name: punctuation.definition.variable.shell
45
- match: (\$)[-*@#?$!0_]
46
- - name: variable.other.positional.shell
47
- captures:
48
- "1":
49
- name: punctuation.definition.variable.shell
50
- match: (\$)[1-9]
51
- - name: variable.other.normal.shell
52
- captures:
53
- "1":
54
- name: punctuation.definition.variable.shell
55
- match: (\$)[a-zA-Z_][a-zA-Z0-9_]*
56
- - name: variable.other.bracket.shell
57
- captures:
58
- "0":
59
- name: punctuation.definition.variable.shell
60
- begin: \$\{
61
- end: \}
62
- uuid: DDEEA3ED-6B1C-11D9-8B10-000D93589AF6
63
- foldingStartMarker: \{
64
- patterns:
65
- - name: support.function.shell
66
- match: \b(time)\b
67
- - name: keyword.operator.list.shell
68
- match: ;|&&|&|\|\|
69
- - name: keyword.operator.pipe.shell
70
- match: "[|!]"
71
- - name: meta.scope.logical-expression.shell
72
- captures:
73
- "1":
74
- name: punctuation.definition.logical-expression.shell
75
- begin: (\[{2})
76
- end: (\]{2})
77
- patterns:
78
- - name: keyword.operator.logical.shell
79
- match: ==|!=|&&|!|\|\|
80
- comment: do we want a special rule for ( expr )?
81
- - include: $self
82
- - name: meta.scope.expression.shell
83
- captures:
84
- "1":
85
- name: punctuation.definition.expression.shell
86
- begin: (\({2})
87
- end: (\){2})
88
- patterns:
89
- - include: $self
90
- - name: meta.scope.subshell.shell
91
- captures:
92
- "1":
93
- name: punctuation.definition.subshell.shell
94
- begin: (\()
95
- end: (\))
96
- patterns:
97
- - include: $self
98
- - name: meta.scope.group.shell
99
- captures:
100
- "1":
101
- name: punctuation.definition.group.shell
102
- begin: (?<=\s|^)(\{)(?=\s|$)
103
- end: (?<=^|;)\s*(\})
104
- patterns:
105
- - include: $self
106
- - name: constant.character.escape.shell
107
- match: \\.
108
- - name: string.quoted.single.shell
109
- endCaptures:
110
- "0":
111
- name: punctuation.definition.string.end.shell
112
- begin: "'"
113
- beginCaptures:
114
- "0":
115
- name: punctuation.definition.string.begin.shell
116
- end: "'"
117
- - name: string.quoted.double.shell
118
- endCaptures:
119
- "0":
120
- name: punctuation.definition.string.end.shell
121
- begin: \$?"
122
- beginCaptures:
123
- "0":
124
- name: punctuation.definition.string.begin.shell
125
- end: "\""
126
- patterns:
127
- - name: constant.character.escape.shell
128
- match: \\[\$`"\\\n]
129
- - include: "#variable"
130
- - include: "#interpolation"
131
- - name: string.quoted.single.dollar.shell
132
- endCaptures:
133
- "0":
134
- name: punctuation.definition.string.end.shell
135
- begin: \$'
136
- beginCaptures:
137
- "0":
138
- name: punctuation.definition.string.begin.shell
139
- end: "'"
140
- patterns:
141
- - name: constant.character.escape.ansi-c.shell
142
- match: \\(a|b|e|f|n|r|t|v|\\|')
143
- - name: constant.character.escape.octal.shell
144
- match: \\[0-9]{3}
145
- - name: constant.character.escape.hex.shell
146
- match: \\x[0-9a-fA-F]{2}
147
- - name: constant.character.escape.control-char.shell
148
- match: \\c.
149
- - name: keyword.operator.tilde.shell
150
- match: (?<=\s|:|=|^)~
151
- - include: "#variable"
152
- - include: "#interpolation"
153
- - name: string.other.math.shell
154
- endCaptures:
155
- "0":
156
- name: punctuation.definition.string.end.shell
157
- begin: \$\({2}
158
- beginCaptures:
159
- "0":
160
- name: punctuation.definition.string.begin.shell
161
- end: \){2}
162
- - name: string.interpolated.process-substitution.shell
163
- endCaptures:
164
- "0":
165
- name: punctuation.definition.string.end.shell
166
- begin: "[><]\\("
167
- beginCaptures:
168
- "0":
169
- name: punctuation.definition.string.begin.shell
170
- end: \)
171
- - name: string.unquoted.heredoc.no-indent.ruby.shell
172
- endCaptures:
173
- "1":
174
- name: keyword.control.heredoc-token.shell
175
- captures:
176
- "0":
177
- name: punctuation.definition.string.shell
178
- begin: (<<)-("|'|)(RUBY)\2
179
- contentName: source.ruby.embedded.shell
180
- beginCaptures:
181
- "1":
182
- name: keyword.operator.heredoc.shell
183
- "3":
184
- name: keyword.control.heredoc-token.shell
185
- end: ^\t*(RUBY)$
186
- patterns:
187
- - include: source.ruby
188
- - name: string.unquoted.heredoc.ruby.shell
189
- endCaptures:
190
- "1":
191
- name: keyword.control.heredoc-token.shell
192
- captures:
193
- "0":
194
- name: punctuation.definition.string.shell
195
- begin: (<<)("|'|)(RUBY)\2
196
- contentName: source.ruby.embedded.shell
197
- beginCaptures:
198
- "1":
199
- name: keyword.operator.heredoc.shell
200
- "3":
201
- name: keyword.control.heredoc-token.shell
202
- end: ^(RUBY)$
203
- patterns:
204
- - include: source.ruby
205
- - name: string.unquoted.heredoc.no-indent.applescript.shell
206
- endCaptures:
207
- "1":
208
- name: keyword.control.heredoc-token.shell
209
- captures:
210
- "0":
211
- name: punctuation.definition.string.shell
212
- begin: (<<)-("|'|)(APPLESCRIPT)\2
213
- contentName: source.applescript.embedded.shell
214
- beginCaptures:
215
- "1":
216
- name: keyword.operator.heredoc.shell
217
- "3":
218
- name: keyword.control.heredoc-token.shell
219
- end: ^\t*(APPLESCRIPT)$
220
- patterns:
221
- - include: source.applescript
222
- - name: string.unquoted.heredoc.applescript.shell
223
- endCaptures:
224
- "1":
225
- name: keyword.control.heredoc-token.shell
226
- captures:
227
- "0":
228
- name: punctuation.definition.string.shell
229
- begin: (<<)("|'|)(APPLESCRIPT)\2
230
- contentName: source.applescript.embedded.shell
231
- beginCaptures:
232
- "1":
233
- name: keyword.operator.heredoc.shell
234
- "3":
235
- name: keyword.control.heredoc-token.shell
236
- end: ^(APPLESCRIPT)$
237
- patterns:
238
- - include: source.applescript
239
- - name: string.unquoted.heredoc.no-indent.html.shell
240
- endCaptures:
241
- "1":
242
- name: keyword.control.heredoc-token.shell
243
- captures:
244
- "0":
245
- name: punctuation.definition.string.shell
246
- begin: (<<)-("|'|)(HTML)\2
247
- contentName: text.html.embedded.shell
248
- beginCaptures:
249
- "1":
250
- name: keyword.operator.heredoc.shell
251
- "3":
252
- name: keyword.control.heredoc-token.shell
253
- end: ^\t*(HTML)$
254
- patterns:
255
- - include: text.html.basic
256
- - name: string.unquoted.heredoc.html.shell
257
- endCaptures:
258
- "1":
259
- name: keyword.control.heredoc-token.shell
260
- captures:
261
- "0":
262
- name: punctuation.definition.string.shell
263
- begin: (<<)("|'|)(HTML)\2
264
- contentName: text.html.embedded.shell
265
- beginCaptures:
266
- "1":
267
- name: keyword.operator.heredoc.shell
268
- "3":
269
- name: keyword.control.heredoc-token.shell
270
- end: ^(HTML)$
271
- patterns:
272
- - include: text.html.basic
273
- - name: string.unquoted.heredoc.no-indent.markdown.shell
274
- endCaptures:
275
- "1":
276
- name: keyword.control.heredoc-token.shell
277
- captures:
278
- "0":
279
- name: punctuation.definition.string.shell
280
- begin: (<<)-("|'|)(MARKDOWN)\2
281
- contentName: text.html.markdown.embedded.shell
282
- beginCaptures:
283
- "1":
284
- name: keyword.operator.heredoc.shell
285
- "3":
286
- name: keyword.control.heredoc-token.shell
287
- end: ^\t*(MARKDOWN)$
288
- patterns:
289
- - include: text.html.markdown
290
- - name: string.unquoted.heredoc.markdown.shell
291
- endCaptures:
292
- "1":
293
- name: keyword.control.heredoc-token.shell
294
- captures:
295
- "0":
296
- name: punctuation.definition.string.shell
297
- begin: (<<)("|'|)(MARKDOWN)\2
298
- contentName: text.html.markdown.embedded.shell
299
- beginCaptures:
300
- "1":
301
- name: keyword.operator.heredoc.shell
302
- "3":
303
- name: keyword.control.heredoc-token.shell
304
- end: ^(MARKDOWN)$
305
- patterns:
306
- - include: text.html.markdown
307
- - name: string.unquoted.heredoc.no-indent.shell
308
- endCaptures:
309
- "1":
310
- name: keyword.control.heredoc-token.shell
311
- captures:
312
- "0":
313
- name: punctuation.definition.string.shell
314
- begin: (<<)-("|'|)\\?(\w+)\2
315
- beginCaptures:
316
- "1":
317
- name: keyword.operator.heredoc.shell
318
- "3":
319
- name: keyword.control.heredoc-token.shell
320
- end: ^\t*(\3)$
321
- - name: string.unquoted.heredoc.shell
322
- endCaptures:
323
- "1":
324
- name: keyword.control.heredoc-token.shell
325
- captures:
326
- "0":
327
- name: punctuation.definition.string.shell
328
- begin: (<<)("|'|)\\?(\w+)\2
329
- beginCaptures:
330
- "1":
331
- name: keyword.operator.heredoc.shell
332
- "3":
333
- name: keyword.control.heredoc-token.shell
334
- end: ^(\3)$
335
- - name: meta.herestring.shell
336
- captures:
337
- "1":
338
- name: keyword.operator.herestring.shell
339
- "2":
340
- name: string.quoted.single.herestring.shell
341
- "3":
342
- name: punctuation.definition.string.begin.shell
343
- "4":
344
- name: punctuation.definition.string.end.shell
345
- match: (<<<)((')[^']*('))
346
- - name: meta.herestring.shell
347
- captures:
348
- "6":
349
- name: punctuation.definition.string.end.shell
350
- "1":
351
- name: keyword.operator.herestring.shell
352
- "2":
353
- name: string.quoted.double.herestring.shell
354
- "3":
355
- name: punctuation.definition.string.begin.shell
356
- match: (<<<)((")(\\("|\\)|[^"])*("))
357
- - name: meta.herestring.shell
358
- captures:
359
- "1":
360
- name: keyword.operator.herestring.shell
361
- "2":
362
- name: string.unquoted.herestring.shell
363
- match: (<<<)(([^\s\\]|\\.)+)
364
- - name: keyword.operator.redirect.shell
365
- match: "&>|\\d*>&\\d*|\\d*(>>|>|<)|\\d*<&|\\d*<>"
366
- comment: "valid: &>word >&word >word [n]>&[n] [n]<word [n]>word [n]>>word [n]<&word (last one is duplicate)"
367
- - name: comment.line.number-sign.shell
368
- captures:
369
- "1":
370
- name: punctuation.definition.comment.shell
371
- match: (?<!\$)(#)(?!\{).*$\n?
372
- - name: meta.function.shell
373
- captures:
374
- "1":
375
- name: entity.name.function.shell
376
- "2":
377
- name: punctuation.definition.arguments.shell
378
- match: \b([^ \t\n]*)\s*(\(\))
379
- - name: keyword.control.shell
380
- match: \b(?:if|then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until)\b
381
- - name: storage.modifier.shell
382
- match: \b(?:export)\b
383
- foldingStopMarker: \}
384
- keyEquivalent: ^~S