ultraviolet 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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"