ultraviolet 0.9.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 (212) hide show
  1. data/History.txt +5 -0
  2. data/Manifest.txt +216 -0
  3. data/README.txt +52 -0
  4. data/Rakefile +51 -0
  5. data/bin/theme2render +104 -0
  6. data/bin/uv +162 -0
  7. data/lib/uv.rb +84 -0
  8. data/lib/uv/html_processor.rb +89 -0
  9. data/render/old/txt2tags.render +131 -0
  10. data/render/xhtml/active4d.render +105 -0
  11. data/render/xhtml/all_hallows_eve.render +69 -0
  12. data/render/xhtml/amy.render +144 -0
  13. data/render/xhtml/blackboard.render +84 -0
  14. data/render/xhtml/brilliance_black.render +575 -0
  15. data/render/xhtml/brilliance_dull.render +534 -0
  16. data/render/xhtml/cobalt.render +135 -0
  17. data/render/xhtml/dawn.render +99 -0
  18. data/render/xhtml/eiffel.render +105 -0
  19. data/render/xhtml/espresso_libre.render +96 -0
  20. data/render/xhtml/files/css/active4d.css +114 -0
  21. data/render/xhtml/files/css/all_hallows_eve.css +72 -0
  22. data/render/xhtml/files/css/amy.css +144 -0
  23. data/render/xhtml/files/css/blackboard.css +88 -0
  24. data/render/xhtml/files/css/brilliance_black.css +632 -0
  25. data/render/xhtml/files/css/brilliance_dull.css +579 -0
  26. data/render/xhtml/files/css/cobalt.css +149 -0
  27. data/render/xhtml/files/css/dawn.css +121 -0
  28. data/render/xhtml/files/css/eiffel.css +121 -0
  29. data/render/xhtml/files/css/espresso_libre.css +109 -0
  30. data/render/xhtml/files/css/idle.css +62 -0
  31. data/render/xhtml/files/css/iplastic.css +80 -0
  32. data/render/xhtml/files/css/lazy.css +73 -0
  33. data/render/xhtml/files/css/mac_classic.css +123 -0
  34. data/render/xhtml/files/css/magicwb_amiga.css +101 -0
  35. data/render/xhtml/files/css/pastels_on_dark.css +188 -0
  36. data/render/xhtml/files/css/slush_poppies.css +85 -0
  37. data/render/xhtml/files/css/spacecadet.css +51 -0
  38. data/render/xhtml/files/css/sunburst.css +180 -0
  39. data/render/xhtml/files/css/twilight.css +137 -0
  40. data/render/xhtml/files/css/zenburnesque.css +88 -0
  41. data/render/xhtml/idle.render +66 -0
  42. data/render/xhtml/iplastic.render +72 -0
  43. data/render/xhtml/lazy.render +69 -0
  44. data/render/xhtml/mac_classic.render +108 -0
  45. data/render/xhtml/magicwb_amiga.render +90 -0
  46. data/render/xhtml/pastels_on_dark.render +177 -0
  47. data/render/xhtml/slush_poppies.render +96 -0
  48. data/render/xhtml/spacecadet.render +54 -0
  49. data/render/xhtml/sunburst.render +159 -0
  50. data/render/xhtml/twilight.render +126 -0
  51. data/render/xhtml/zenburnesque.render +99 -0
  52. data/syntax/actionscript.syntax +97 -0
  53. data/syntax/active4d.syntax +276 -0
  54. data/syntax/active4d_html.syntax +311 -0
  55. data/syntax/active4d_ini.syntax +50 -0
  56. data/syntax/active4d_library.syntax +21 -0
  57. data/syntax/ada.syntax +33 -0
  58. data/syntax/antlr.syntax +128 -0
  59. data/syntax/apache.syntax +176 -0
  60. data/syntax/applescript.syntax +384 -0
  61. data/syntax/asp.syntax +70 -0
  62. data/syntax/asp_vb.net.syntax +129 -0
  63. data/syntax/bibtex.syntax +151 -0
  64. data/syntax/blog_html.syntax +41 -0
  65. data/syntax/blog_markdown.syntax +42 -0
  66. data/syntax/blog_text.syntax +27 -0
  67. data/syntax/blog_textile.syntax +27 -0
  68. data/syntax/buggy/nemerle.yaml +74 -0
  69. data/syntax/build.syntax +53 -0
  70. data/syntax/bulletin_board.syntax +287 -0
  71. data/syntax/c++.syntax +109 -0
  72. data/syntax/c.syntax +326 -0
  73. data/syntax/cake.syntax +55 -0
  74. data/syntax/camlp4.syntax +36 -0
  75. data/syntax/coldfusion.syntax +118 -0
  76. data/syntax/context_free.syntax +176 -0
  77. data/syntax/cs.syntax +59 -0
  78. data/syntax/css.syntax +190 -0
  79. data/syntax/css_experimental.syntax +1925 -0
  80. data/syntax/csv.syntax +68 -0
  81. data/syntax/d.syntax +138 -0
  82. data/syntax/diff.syntax +81 -0
  83. data/syntax/dokuwiki.syntax +204 -0
  84. data/syntax/dot.syntax +47 -0
  85. data/syntax/doxygen.syntax +43 -0
  86. data/syntax/dylan.syntax +62 -0
  87. data/syntax/eiffel.syntax +78 -0
  88. data/syntax/erlang.syntax +922 -0
  89. data/syntax/f-script.syntax +80 -0
  90. data/syntax/fortran.syntax +141 -0
  91. data/syntax/fxscript.syntax +142 -0
  92. data/syntax/greasemonkey.syntax +34 -0
  93. data/syntax/gri.syntax +83 -0
  94. data/syntax/groovy.syntax +189 -0
  95. data/syntax/gtd2_text.syntax +31 -0
  96. data/syntax/gtdalt.syntax +143 -0
  97. data/syntax/haml.syntax +88 -0
  98. data/syntax/haskell.syntax +88 -0
  99. data/syntax/html-asp.syntax +27 -0
  100. data/syntax/html.syntax +362 -0
  101. data/syntax/html_django.syntax +36 -0
  102. data/syntax/html_for_asp.net.syntax +424 -0
  103. data/syntax/html_mason.syntax +119 -0
  104. data/syntax/html_rails.syntax +40 -0
  105. data/syntax/html_tcl.syntax +26 -0
  106. data/syntax/icalendar.syntax +32 -0
  107. data/syntax/inform.syntax +48 -0
  108. data/syntax/ini.syntax +54 -0
  109. data/syntax/installer_distribution_script.syntax +77 -0
  110. data/syntax/io.syntax +81 -0
  111. data/syntax/java.syntax +211 -0
  112. data/syntax/javaproperties.syntax +20 -0
  113. data/syntax/javascript.syntax +255 -0
  114. data/syntax/javascript_+_prototype.syntax +72 -0
  115. data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  116. data/syntax/jquery_javascript.syntax +114 -0
  117. data/syntax/json.syntax +136 -0
  118. data/syntax/languagedefinition.syntax +697 -0
  119. data/syntax/latex.syntax +566 -0
  120. data/syntax/latex_beamer.syntax +41 -0
  121. data/syntax/latex_log.syntax +50 -0
  122. data/syntax/latex_memoir.syntax +64 -0
  123. data/syntax/lexflex.syntax +219 -0
  124. data/syntax/lighttpd.syntax +54 -0
  125. data/syntax/lilypond.syntax +492 -0
  126. data/syntax/lisp.syntax +61 -0
  127. data/syntax/literate_haskell.syntax +24 -0
  128. data/syntax/logo.syntax +29 -0
  129. data/syntax/logtalk.syntax +152 -0
  130. data/syntax/lua.syntax +86 -0
  131. data/syntax/m.syntax +142 -0
  132. data/syntax/macports_portfile.syntax +143 -0
  133. data/syntax/mail.syntax +118 -0
  134. data/syntax/makefile.syntax +35 -0
  135. data/syntax/man.syntax +17 -0
  136. data/syntax/markdown.syntax +543 -0
  137. data/syntax/mediawiki.syntax +567 -0
  138. data/syntax/mel.syntax +92 -0
  139. data/syntax/mips.syntax +66 -0
  140. data/syntax/mod_perl.syntax +50 -0
  141. data/syntax/modula-3.syntax +47 -0
  142. data/syntax/moinmoin.syntax +189 -0
  143. data/syntax/mootools.syntax +572 -0
  144. data/syntax/movable_type.syntax +162 -0
  145. data/syntax/multimarkdown.syntax +39 -0
  146. data/syntax/objective-c++.syntax +18 -0
  147. data/syntax/objective-c.syntax +226 -0
  148. data/syntax/ocaml.syntax +764 -0
  149. data/syntax/ocamllex.syntax +167 -0
  150. data/syntax/ocamlyacc.syntax +184 -0
  151. data/syntax/old/YAML.yaml +160 -0
  152. data/syntax/old/txt2tags.yaml +139 -0
  153. data/syntax/opengl.syntax +14 -0
  154. data/syntax/pascal.syntax +77 -0
  155. data/syntax/perl.syntax +1075 -0
  156. data/syntax/php.syntax +678 -0
  157. data/syntax/plain_text.syntax +32 -0
  158. data/syntax/postscript.syntax +114 -0
  159. data/syntax/processing.syntax +106 -0
  160. data/syntax/prolog.syntax +40 -0
  161. data/syntax/property_list.syntax +645 -0
  162. data/syntax/python.syntax +865 -0
  163. data/syntax/python_django.syntax +21 -0
  164. data/syntax/qmake_project.syntax +114 -0
  165. data/syntax/qt_c++.syntax +26 -0
  166. data/syntax/quake3_config.syntax +32 -0
  167. data/syntax/r.syntax +81 -0
  168. data/syntax/r_console.syntax +16 -0
  169. data/syntax/ragel.syntax +201 -0
  170. data/syntax/rd_r_documentation.syntax +91 -0
  171. data/syntax/regexp.syntax +50 -0
  172. data/syntax/regular_expressions_oniguruma.syntax +107 -0
  173. data/syntax/regular_expressions_python.syntax +109 -0
  174. data/syntax/release_notes.syntax +37 -0
  175. data/syntax/remind.syntax +253 -0
  176. data/syntax/restructuredtext.syntax +250 -0
  177. data/syntax/rez.syntax +80 -0
  178. data/syntax/ruby.syntax +1035 -0
  179. data/syntax/ruby_experimental.syntax +145 -0
  180. data/syntax/ruby_on_rails.syntax +88 -0
  181. data/syntax/s5.syntax +69 -0
  182. data/syntax/scheme.syntax +347 -0
  183. data/syntax/scilab.syntax +41 -0
  184. data/syntax/setext.syntax +147 -0
  185. data/syntax/shell-unix-generic.syntax +384 -0
  186. data/syntax/slate.syntax +149 -0
  187. data/syntax/smarty.syntax +63 -0
  188. data/syntax/sql.syntax +237 -0
  189. data/syntax/sql_rails.syntax +18 -0
  190. data/syntax/ssh-config.syntax +33 -0
  191. data/syntax/standard_ml.syntax +45 -0
  192. data/syntax/strings_file.syntax +39 -0
  193. data/syntax/subversion_commit_message.syntax +36 -0
  194. data/syntax/sweave.syntax +84 -0
  195. data/syntax/swig.syntax +57 -0
  196. data/syntax/tcl.syntax +152 -0
  197. data/syntax/template_toolkit.syntax +121 -0
  198. data/syntax/tex.syntax +86 -0
  199. data/syntax/tex_math.syntax +49 -0
  200. data/syntax/textile.syntax +215 -0
  201. data/syntax/tsv.syntax +50 -0
  202. data/syntax/twiki.syntax +241 -0
  203. data/syntax/txt2tags.syntax +79 -0
  204. data/syntax/vectorscript.syntax +57 -0
  205. data/syntax/xhtml_1.0.syntax +4027 -0
  206. data/syntax/xml.syntax +179 -0
  207. data/syntax/xml_strict.syntax +92 -0
  208. data/syntax/xsl.syntax +60 -0
  209. data/syntax/yaml.syntax +160 -0
  210. data/syntax/yui_javascript.syntax +176 -0
  211. data/test/test_uv.rb +0 -0
  212. metadata +270 -0
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: Rd (R Documentation)
3
+ fileTypes:
4
+ - rd
5
+ scopeName: text.tex.latex.rd
6
+ uuid: 80A00288-FE7E-4E66-B5BF-4948A2828203
7
+ foldingStartMarker: /\w*\{\s*$
8
+ patterns:
9
+ - name: meta.section.rd
10
+ endCaptures:
11
+ "1":
12
+ name: punctuation.definition.arguments.end.rd
13
+ begin: ((\\)(?:alias|docType|keyword|name|title))(\{)
14
+ contentName: entity.name.tag.rd
15
+ beginCaptures:
16
+ "1":
17
+ name: keyword.other.section.rd
18
+ "2":
19
+ name: punctuation.definition.function.rd
20
+ "3":
21
+ name: punctuation.definition.arguments.begin.rd
22
+ end: (\})
23
+ patterns:
24
+ - include: $self
25
+ - name: meta.section.rd
26
+ endCaptures:
27
+ "1":
28
+ name: punctuation.definition.arguments.end.rd
29
+ begin: ((\\)(?:details|format|references|source))(\{)
30
+ beginCaptures:
31
+ "1":
32
+ name: keyword.other.section.rd
33
+ "2":
34
+ name: punctuation.definition.function.rd
35
+ "3":
36
+ name: punctuation.definition.arguments.begin.rd
37
+ end: (\})
38
+ patterns:
39
+ - include: $self
40
+ - name: meta.usage.rd
41
+ endCaptures:
42
+ "1":
43
+ name: punctuation.definition.arguments.end.rd
44
+ begin: ((\\)(?:usage))(\{)(?:\n)?
45
+ contentName: source.r.embedded
46
+ beginCaptures:
47
+ "1":
48
+ name: keyword.other.usage.rd
49
+ "2":
50
+ name: punctuation.definition.function.rd
51
+ "3":
52
+ name: punctuation.definition.arguments.begin.rd
53
+ end: (\})
54
+ patterns:
55
+ - include: source.r
56
+ - name: meta.examples.rd
57
+ endCaptures:
58
+ "1":
59
+ name: punctuation.definition.arguments.end.rd
60
+ begin: ((\\)(?:examples))(\{)(?:\n)?
61
+ contentName: source.r.embedded
62
+ beginCaptures:
63
+ "1":
64
+ name: keyword.other.examples.rd
65
+ "2":
66
+ name: punctuation.definition.function.rd
67
+ "3":
68
+ name: punctuation.definition.arguments.begin.rd
69
+ end: (\})
70
+ patterns:
71
+ - include: source.r
72
+ - name: meta.author.rd
73
+ captures:
74
+ "6":
75
+ name: markup.underline.link.rd
76
+ "7":
77
+ name: punctuation.definition.link.rd
78
+ "1":
79
+ name: keyword.other.author.rd
80
+ "2":
81
+ name: punctuation.definition.function.rd
82
+ "3":
83
+ name: punctuation.definition.arguments.begin.rd
84
+ "4":
85
+ name: entity.name.tag.author.rd
86
+ "5":
87
+ name: punctuation.definition.link.rd
88
+ match: ((\\)(?:author))(\{)([\w\s]+?)\s+(<)([^>]*)(>)
89
+ - include: text.tex.latex
90
+ foldingStopMarker: ^\s*\}
91
+ keyEquivalent: ^~R
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: Regular Expression
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp
6
+ repository:
7
+ escaped_char:
8
+ name: constant.character.escape.regexp
9
+ match: \\.
10
+ comment: escaped character
11
+ character_class:
12
+ name: keyword.control.character-class.regexp
13
+ match: \\[wWsSdDhH]
14
+ uuid: BAFE4C4F-8D59-48CD-A3BC-52A2084531C9
15
+ foldingStartMarker: (/\*|\{|\()
16
+ patterns:
17
+ - name: keyword.operator.regexp
18
+ match: \|
19
+ - name: keyword.control.anchors.regexp
20
+ match: \\[bBAZzG^$]
21
+ - include: "#character_class"
22
+ - include: "#escaped_char"
23
+ - name: keyword.control.set.regexp
24
+ begin: \[(?:\^?\])?
25
+ end: \]
26
+ patterns:
27
+ - include: "#character_class"
28
+ - include: "#escaped_char"
29
+ - name: constant.other.range.regexp
30
+ match: .-.
31
+ - name: keyword.operator.intersection.regexp
32
+ match: .&&.
33
+ - name: string.regexp.group
34
+ begin: \(
35
+ end: \)
36
+ patterns:
37
+ - include: source.regexp
38
+ - name: constant.other.assertion.regexp
39
+ match: (?<=\()\?(<[=!]|>|=|:|!)
40
+ - name: comment.line.number-sign.regexp
41
+ match: (?<=\()\?#
42
+ - name: keyword.other.backref-and-recursion.regexp
43
+ match: \\(\n\d+|\k\w+|(?<!\|)\g\w+)
44
+ - name: constant.character.escape.regexp
45
+ match: \\([tvnrbfae]|[0-8]{3}|x\H\H\{7\H{7}\}|x\H\H|c\d+|C-\d+|M-\d+|M-\\C-\d+)
46
+ - name: keyword.operator.quantifier.regexp
47
+ match: ((?<!\()[?*+][?+]?)|\{\d*,\d*\}
48
+ foldingStopMarker: (\*/|\}|\))
49
+ keyEquivalent: ^~R
50
+ comment: Matches Oniguruma's Ruby regexp syntax (TextMate uses Oniguruma in Ruby mode).
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: Regular Expressions (Oniguruma)
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp.oniguruma
6
+ repository:
7
+ character-class:
8
+ patterns:
9
+ - name: constant.character.character-class.regexp
10
+ match: \\[wWsSdDhH]|\.
11
+ - name: constant.character.escape.backslash.regexp
12
+ match: \\.
13
+ - name: constant.other.character-class.set.regexp
14
+ endCaptures:
15
+ "1":
16
+ name: punctuation.definition.character-class.regexp
17
+ begin: (\[)(\^)?
18
+ beginCaptures:
19
+ "1":
20
+ name: punctuation.definition.character-class.regexp
21
+ "2":
22
+ name: keyword.operator.negation.regexp
23
+ end: (\])
24
+ patterns:
25
+ - include: "#character-class"
26
+ - name: constant.other.character-class.range.regexp
27
+ captures:
28
+ "2":
29
+ name: constant.character.escape.backslash.regexp
30
+ "4":
31
+ name: constant.character.escape.backslash.regexp
32
+ match: (.|(\\.))\-([^\]]|(\\.))
33
+ - name: keyword.operator.intersection.regexp
34
+ match: "&&"
35
+ uuid: D609BF3F-BEDB-41AE-BA6F-903CC77A7BB3
36
+ foldingStartMarker: (/\*|\{|\()
37
+ patterns:
38
+ - name: keyword.control.anchor.regexp
39
+ match: \\[bBAZzG]|\^|\$
40
+ - name: constant.character.numeric.regexp
41
+ match: \\([0-7]{3}|\\x(\h\h|\{\h{,8}\}))
42
+ - name: keyword.other.back-reference.regexp
43
+ match: \\[1-9]\d*
44
+ - name: keyword.other.back-reference.named.regexp
45
+ captures:
46
+ "1":
47
+ name: keyword.other.back-reference.named.regexp
48
+ "2":
49
+ name: entity.name.section.back-reference
50
+ "3":
51
+ name: keyword.other.back-reference.named.regexp
52
+ match: (\\k\<)([a-z]\w*)(\>)
53
+ - name: constant.other.character-class.posix.regexp
54
+ match: \[\:(\^)?(alnum|alpha|ascii|blank|cntrl|x?digit|graph|lower|print|punct|space|upper)\]
55
+ - name: keyword.operator.quantifier.regexp
56
+ match: "[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
57
+ - name: keyword.operator.or.regexp
58
+ match: \|
59
+ - name: comment.block.regexp
60
+ begin: \(\?\#
61
+ end: \)
62
+ - name: comment.line.number-sign.regexp
63
+ match: (?<=^|\s)#\s[[a-zA-Z0-9,. \t?!-:][^\x{00}-\x{7F}]]*$
64
+ comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
65
+ - name: keyword.other.option-toggle.regexp
66
+ match: \(\?[imx-]+\)
67
+ - name: meta.group.assertion.regexp
68
+ endCaptures:
69
+ "1":
70
+ name: punctuation.definition.group.regexp
71
+ begin: (\()((\?=)|(\?!)|(\?<=)|(\?<!))
72
+ beginCaptures:
73
+ "6":
74
+ name: meta.assertion.negative-look-behind.regexp
75
+ "1":
76
+ name: punctuation.definition.group.regexp
77
+ "3":
78
+ name: meta.assertion.look-ahead.regexp
79
+ "4":
80
+ name: meta.assertion.negative-look-ahead.regexp
81
+ "5":
82
+ name: meta.assertion.look-behind.regexp
83
+ end: (\))
84
+ patterns:
85
+ - include: $self
86
+ - name: meta.group.regexp
87
+ endCaptures:
88
+ "1":
89
+ name: punctuation.definition.group.regexp
90
+ begin: (\()((\?(>|[imx-]*:))|(\?<)([a-z]\w*)(>))?
91
+ beginCaptures:
92
+ "6":
93
+ name: entity.name.section.group.regexp
94
+ "7":
95
+ name: keyword.other.group-options.regexp
96
+ "1":
97
+ name: punctuation.definition.group.regexp
98
+ "3":
99
+ name: keyword.other.group-options.regexp
100
+ "5":
101
+ name: keyword.other.group-options.regexp
102
+ end: (\))
103
+ patterns:
104
+ - include: $self
105
+ - include: "#character-class"
106
+ foldingStopMarker: (\*/|\}|\))
107
+ comment: Matches Oniguruma's Ruby regexp syntax (TextMate uses Oniguruma in Ruby mode).
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: Regular Expressions (Python)
3
+ fileTypes:
4
+ - re
5
+ scopeName: source.regexp.python
6
+ repository:
7
+ character-class:
8
+ patterns:
9
+ - name: constant.character.character-class.regexp
10
+ match: \\[wWsSdDhH]|\.
11
+ - name: constant.character.escape.backslash.regexp
12
+ match: \\.
13
+ - name: constant.other.character-class.set.regexp
14
+ endCaptures:
15
+ "1":
16
+ name: punctuation.definition.character-class.regexp
17
+ begin: (\[)(\^)?
18
+ beginCaptures:
19
+ "1":
20
+ name: punctuation.definition.character-class.regexp
21
+ "2":
22
+ name: keyword.operator.negation.regexp
23
+ end: (\])
24
+ patterns:
25
+ - include: "#character-class"
26
+ - name: constant.other.character-class.range.regexp
27
+ captures:
28
+ "2":
29
+ name: constant.character.escape.backslash.regexp
30
+ "4":
31
+ name: constant.character.escape.backslash.regexp
32
+ match: (.|(\\.))\-([^\]]|(\\.))
33
+ uuid: DD867ABF-1EC6-415D-B047-687F550A1D51
34
+ foldingStartMarker: (/\*|\{|\()
35
+ patterns:
36
+ - name: keyword.control.anchor.regexp
37
+ match: \\[bBAZzG]|\^|\$
38
+ - name: keyword.other.back-reference.regexp
39
+ match: \\[1-9][0-9]?
40
+ - name: keyword.operator.quantifier.regexp
41
+ match: "[?+*][?+]?|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"
42
+ - name: keyword.operator.or.regexp
43
+ match: \|
44
+ - name: comment.block.regexp
45
+ begin: \(\?\#
46
+ end: \)
47
+ - name: comment.line.number-sign.regexp
48
+ match: (?<=^|\s)#\s[[a-zA-Z0-9,. \t?!-:][^\x{00}-\x{7F}]]*$
49
+ comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
50
+ - name: keyword.other.option-toggle.regexp
51
+ match: \(\?[iLmsux]+\)
52
+ - name: keyword.other.back-reference.named.regexp
53
+ match: (\()(\?P=([a-zA-Z_][a-zA-Z_0-9]*\w*))(\))
54
+ - name: meta.group.assertion.regexp
55
+ endCaptures:
56
+ "1":
57
+ name: punctuation.definition.group.regexp
58
+ begin: (\()((\?=)|(\?!)|(\?<=)|(\?<!))
59
+ beginCaptures:
60
+ "6":
61
+ name: meta.assertion.negative-look-behind.regexp
62
+ "1":
63
+ name: punctuation.definition.group.regexp
64
+ "2":
65
+ name: punctuation.definition.group.assertion.regexp
66
+ "3":
67
+ name: meta.assertion.look-ahead.regexp
68
+ "4":
69
+ name: meta.assertion.negative-look-ahead.regexp
70
+ "5":
71
+ name: meta.assertion.look-behind.regexp
72
+ end: (\))
73
+ patterns:
74
+ - include: $self
75
+ - name: meta.group.assertion.conditional.regexp
76
+ begin: (\()(\?\(([1-9][0-9]?|[a-zA-Z_][a-zA-Z_0-9]*)\))
77
+ beginCaptures:
78
+ "1":
79
+ name: punctuation.definition.group.regexp
80
+ "2":
81
+ name: punctuation.definition.group.assertion.conditional.regexp
82
+ "3":
83
+ name: entity.name.section.back-reference.regexp
84
+ end: (\))
85
+ patterns:
86
+ - include: $self
87
+ comment: we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.
88
+ - name: meta.group.regexp
89
+ endCaptures:
90
+ "1":
91
+ name: punctuation.definition.group.regexp
92
+ begin: (\()((\?P<)([a-z]\w*)(>)|(\?:))?
93
+ beginCaptures:
94
+ "6":
95
+ name: punctuation.definition.group.no-capture.regexp
96
+ "1":
97
+ name: punctuation.definition.group.regexp
98
+ "3":
99
+ name: punctuation.definition.group.capture.regexp
100
+ "4":
101
+ name: entity.name.section.group.regexp
102
+ "5":
103
+ name: punctuation.definition.group.capture.regexp
104
+ end: (\))
105
+ patterns:
106
+ - include: $self
107
+ - include: "#character-class"
108
+ foldingStopMarker: (\*/|\}|\))
109
+ comment: Matches Python's regular expression syntax.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: Release Notes
3
+ fileTypes:
4
+ - tmReleaseNotes
5
+ scopeName: text.plain.release-notes
6
+ uuid: 8926CAFE-1CF3-4CF9-A056-4FF90F596E9A
7
+ patterns:
8
+ - name: meta.separator.release-notes
9
+ captures:
10
+ "1":
11
+ name: punctuation.definition.separator.release-notes
12
+ "2":
13
+ name: meta.toc-list.release-notes
14
+ "3":
15
+ name: punctuation.definition.separator.release-notes
16
+ match: "^(\\[)(?:[\\d-]+: )?(REVISION (\\d+|v[\\d.b]+))(\\])$\\n"
17
+ - begin: ^([ \t]*)(?=\S)
18
+ contentName: meta.paragraph.text
19
+ end: ^(?!\1(?=\S))
20
+ patterns:
21
+ - name: markup.underline.link
22
+ match: (https?|ftp|mailto):\S+?(?=[)>,.':;"]*(\s|$)|$)
23
+ - name: keyword.other.release-notes
24
+ captures:
25
+ "1":
26
+ name: punctuation.definition.keyword.release-notes
27
+ match: (\[)(NEW|FIXED|CHANGED|REMOVED|INFO)(\])
28
+ - name: meta.ticket.release-notes
29
+ captures:
30
+ "1":
31
+ name: storage.type.ticket.release-notes
32
+ "2":
33
+ name: constant.numeric.ticket.release-notes
34
+ match: ([Tt]icket) ([0-9A-F]{8})\b
35
+ - name: meta.word.camel-case
36
+ match: \b[A-Z]*[a-z]+[A-Z]\w*\b
37
+ comment: "I do not want spell checking for CamelCase words. Since this is generally when quoting various API\xE2\x80\x99s, I have deliberately used A-Z and a-z (ASCII) -- Allan"
@@ -0,0 +1,253 @@
1
+ ---
2
+ name: Remind
3
+ fileTypes:
4
+ - defs.rem
5
+ - REM*.txt
6
+ - .reminders
7
+ firstLineMatch: ^REM*
8
+ scopeName: source.remind
9
+ repository:
10
+ message:
11
+ endCaptures:
12
+ "0":
13
+ name: keyword.control.endline.commandline.remind
14
+ begin: \b(?i:MSG|MSF|RUN|CAL|SPECIAL|PS|PSFILE)\b\s*
15
+ beginCaptures:
16
+ "0":
17
+ name: keyword.control.message.commandline.remind
18
+ end: (%?[ \t]*)(?=\n|\z)
19
+ patterns:
20
+ - include: "#message-body"
21
+ trigger:
22
+ patterns:
23
+ - name: meta.attime.trigger.remind
24
+ captures:
25
+ "1":
26
+ name: keyword.other.attime.trigger.remind
27
+ "2":
28
+ name: constant.other.time.trigger.remind
29
+ "3":
30
+ name: variable.other.component.trigger.remind
31
+ "4":
32
+ name: variable.other.comp.trigger.remind
33
+ match: \b(?i:(AT))\s+(\d{1,2}[:.]\d{2})(?:\s+(\+{1,2}\d+))?(?:\s+(\*\d+))?(?=\s)
34
+ - name: meta.duration.trigger.remind
35
+ captures:
36
+ "1":
37
+ name: keyword.other.duration.trigger.remind
38
+ "2":
39
+ name: constant.other.time.trigger.remind
40
+ match: \b(?i:(DURATION))\s+(\d{1,2}[:.]\d{2})(?=\s)
41
+ - name: keyword.control.command.trigger.remind
42
+ match: \b(?i:OMIT)\b
43
+ - name: keyword.control.move-reminder.trigger.remind
44
+ match: \b(?i:ONCE|SKIP|BEFORE|AFTER)\b
45
+ - name: variable.other.component.delta.trigger.remind
46
+ captures:
47
+ "1":
48
+ name: punctuation.definition.variable.remind
49
+ match: (\+{1,2})\d+
50
+ - name: variable.other.component.back.trigger.remind
51
+ captures:
52
+ "1":
53
+ name: punctuation.definition.variable.remind
54
+ match: (\-{1,2})\d+
55
+ - name: variable.other.component.repeat.trigger.remind
56
+ captures:
57
+ "1":
58
+ name: punctuation.definition.variable.remind
59
+ match: (\*)\d+
60
+ - include: "#date-item"
61
+ expression:
62
+ patterns:
63
+ - captures:
64
+ "0":
65
+ name: punctuation.section.scope.remind
66
+ begin: \(
67
+ end: \)
68
+ patterns:
69
+ - include: "#expression"
70
+ - name: keyword.operator.remind
71
+ match: -|\*|/|%|\+|-|[!<>=]=?|&&|\|\|
72
+ - name: string.quoted.double.remind
73
+ endCaptures:
74
+ "0":
75
+ name: punctuation.definition.string.end.remind
76
+ begin: "\""
77
+ beginCaptures:
78
+ "0":
79
+ name: punctuation.definition.string.begin.remind
80
+ end: "\""
81
+ patterns:
82
+ - name: constant.character.escape.remind
83
+ match: \\.
84
+ - name: constant.other.date.remind
85
+ match: "'\\d{4}([\\-/])\\d{1,2}\\1\\d{1,2}'"
86
+ - name: constant.other.time.remind
87
+ match: \d{1,2}[:.]\d{2}
88
+ - name: constant.numeric.integer.remind
89
+ match: \d+
90
+ - name: variable.language.system.remind
91
+ match: \$(?:CalcUTC|CalMode|Daemon|DefaultPrio|DontFork|DontTrigAts|DontQueue|EndSent|EndSentIg|FirstIndent|FoldYear|FormWidth|HushMode|IgnoreOnce|InfDelta|LatDeg|LatMin|LatSec|Location|LongDeg|LongMin|LongSec|MaxSatIter|MinsFromUTC|NextMode|NumQueued|NumTrig|PrefixLineNo|PSCal|RunOff|SimpleCal|SortByDate|SortByPrio|SortByTime|SubsIndent)\b
92
+ - name: meta.function.builtin.remind
93
+ captures:
94
+ "0":
95
+ name: support.function.builtin.remind
96
+ begin: \b(?:abs|access|args|asc|baseyr|char|choose|coerce|date|dawn|day|daysinmon|defined|dosubst|dusk|easterdate|filedate|filedir|filename|getenv|hour|iif|index|isdst|isleap|isomitted|hebdate|hebday|hebmon|hebyear|language|lower|max|min|minsfromutc|minute|min|monnum|moondate|moontime|moonphase|now|ord|ostype|plural|psmoon|psshade|realnow|realtoday|sgn|shell|strlen|substr|sunrise|sunset|time|today|trigdate|trigger|trigtime|trigvalid|typeof|upper|value|version|wkday|wkdaynum|year)\(
97
+ end: \)
98
+ patterns:
99
+ - include: "#expression"
100
+ - name: meta.function.user.remind
101
+ endCaptures:
102
+ "1":
103
+ name: punctuation.definition.arguments.remind
104
+ begin: \b(\w+)(\()
105
+ beginCaptures:
106
+ "1":
107
+ name: entity.name.function.remind
108
+ "2":
109
+ name: punctuation.definition.arguments.remind
110
+ end: (\))
111
+ patterns:
112
+ - include: "#expression"
113
+ - name: variable.parameter.user.remind
114
+ match: \b\w+\b
115
+ date-item:
116
+ patterns:
117
+ - name: support.constant.month.dateitem.remind
118
+ match: \b(?i:January|Jan|February|Feb|March|Mar|April|Apr|May|June|Jun|July|Jul|August|Aug|September|Sep|October|Oct|November|Nov|December|Dec)\b
119
+ - name: support.constant.weekday.dateitem.remind
120
+ match: \b(?i:Monday|Mon|Tuesday|Tue|Wednesday|Wed|Thursday|Thu|Friday|Fri|Saturday|Sat|Sunday|Sun)\b
121
+ - name: support.constant.day.dateitem.remind
122
+ match: \b(?:\d{1,2})\b
123
+ - name: support.constant.year.dateitem.remind
124
+ match: \b(?:\d{4})\b
125
+ message-body:
126
+ patterns:
127
+ - name: constant.other.placeholder.remind
128
+ captures:
129
+ "1":
130
+ name: punctuation.definition.constant.remind
131
+ match: (%)[a-zA-Z0-9_!@#]
132
+ - name: string.quoted.double.remind
133
+ endCaptures:
134
+ "0":
135
+ name: punctuation.definition.string.end.remind
136
+ begin: "%\""
137
+ beginCaptures:
138
+ "0":
139
+ name: punctuation.definition.string.begin.remind
140
+ end: "%\""
141
+ - include: "#bracketed-expression"
142
+ bracketed-expression:
143
+ captures:
144
+ "0":
145
+ name: punctuation.section.scope.remind
146
+ begin: \[
147
+ end: \]
148
+ patterns:
149
+ - include: "#expression"
150
+ uuid: 8D255A1E-9CBC-4B22-8AAD-F8536C276727
151
+ patterns:
152
+ - name: comment.line.number-sign.remind
153
+ captures:
154
+ "1":
155
+ name: punctuation.definition.comment.remind
156
+ match: "[ ]*(#).*\\n?"
157
+ - name: comment.line.semicolon.remind
158
+ captures:
159
+ "1":
160
+ name: punctuation.definition.comment.remind
161
+ match: "[ ]*(;).*\\n?"
162
+ - name: meta.single.command.remind
163
+ captures:
164
+ "0":
165
+ name: keyword.control.single.command.remind
166
+ match: \b(?i:(?:RUN\s+(ON|OFF))|(PUSH|CLEAR|POP)-OMIT-CONTEXT)\b
167
+ - name: meta.setline.remind
168
+ begin: \b(?i:(SET))\s+(\$?\w+)\s+
169
+ beginCaptures:
170
+ "1":
171
+ name: keyword.control.set.setline.remind
172
+ "2":
173
+ name: variable.other.setline.remind
174
+ end: (?=#|\n|\z)
175
+ patterns:
176
+ - include: "#expression"
177
+ - name: meta.fsetline.remind
178
+ begin: \b(?i:(FSET))\s+(\w+(\())(\w+)?(?:,(\w+))*(\))
179
+ beginCaptures:
180
+ "6":
181
+ name: punctuation.definition.arguments.remind
182
+ "1":
183
+ name: keyword.control.fset.fsetline.remind
184
+ "2":
185
+ name: entity.name.function.fsetline.remind
186
+ "3":
187
+ name: punctuation.definition.arguments.remind
188
+ "4":
189
+ name: variable.parameter.fsetline.remind
190
+ "5":
191
+ name: variable.parameter.fsetline.remind
192
+ end: (?=#|\n|\z)
193
+ patterns:
194
+ - include: "#expression"
195
+ - name: meta.unsetline.remind
196
+ begin: \b(?i:(UNSET))\b
197
+ beginCaptures:
198
+ "1":
199
+ name: keyword.control.set.unsetline.remind
200
+ end: (?=#|\n|\z)
201
+ patterns:
202
+ - name: variable.other.unsetline.remind
203
+ match: \b\w+\b
204
+ - name: meta.if.remind
205
+ captures:
206
+ "1":
207
+ name: keyword.control.if.remind
208
+ begin: \b(?i:(IF))\b
209
+ end: (?=#|\n|\z)
210
+ patterns:
211
+ - include: "#expression"
212
+ - name: meta.iftrig.remind
213
+ captures:
214
+ "1":
215
+ name: keyword.control.iftrig.remind
216
+ begin: \b(?i:(IFTRIG))\b
217
+ end: (?=#|\n|\z)
218
+ patterns:
219
+ - include: "#trigger"
220
+ - name: keyword.control.else-or-endif.remind
221
+ match: \b(?i:(ELSE|ENDIF))\s*(?=#|\n|\z)
222
+ - name: meta.includeline.remind
223
+ begin: \b(?i:INCLUDE)\b
224
+ beginCaptures:
225
+ "0":
226
+ name: keyword.control.include.commandline.remind
227
+ end: (?=#|\n|\z)
228
+ - name: meta.commandline.remind
229
+ endCaptures:
230
+ "0":
231
+ name: keyword.control.endline.commandline.remind
232
+ begin: \b(?i:REM|OMIT|BANNER)\b
233
+ beginCaptures:
234
+ "0":
235
+ name: keyword.control.command.commandline.remind
236
+ end: (%?[ \t]*)(?=(#|\n|\z))
237
+ patterns:
238
+ - name: keyword.control.expiry.commandline.remind
239
+ match: \b(?i:SCHED|WARN|SCANFROM|SCAN|UNTIL)\b
240
+ - name: meta.satisfy.remind
241
+ begin: \b(?i:SATISFY)\b
242
+ beginCaptures:
243
+ "0":
244
+ name: keyword.control.satisfy.commandline.remind
245
+ end: (?=(#|\n|\z))
246
+ patterns:
247
+ - include: "#expression"
248
+ - include: "#trigger"
249
+ - include: "#message-body"
250
+ - include: "#bracketed-expression"
251
+ - include: "#message"
252
+ - include: "#bracketed-expression"
253
+ - include: "#message"