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,84 @@
1
+ require 'textpow'
2
+ require 'uv/html_processor.rb'
3
+
4
+
5
+ module Uv
6
+
7
+ def Uv.path
8
+ result = []
9
+ result << File.join(File.dirname(__FILE__), ".." )
10
+ end
11
+
12
+ def Uv.init_syntaxes
13
+ @syntaxes = {}
14
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
15
+ @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
16
+ end
17
+ end
18
+
19
+ def Uv.syntaxes
20
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).collect do |f|
21
+ File.basename(f, '.syntax')
22
+ end
23
+ end
24
+
25
+ def Uv.themes
26
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'render', 'xhtml', 'files', 'css', '*.css') ).collect do |f|
27
+ File.basename(f, '.css')
28
+ end
29
+ end
30
+
31
+ def Uv.syntax_for_file file_name
32
+ init_syntaxes unless @syntaxes
33
+ first_line = ""
34
+ File.open( file_name, 'r' ) { |f|
35
+ while (first_line = f.readline).strip.size == 0; end
36
+ }
37
+ result = []
38
+ @syntaxes.each do |key, value|
39
+ assigned = false
40
+ if value.fileTypes
41
+ value.fileTypes.each do |t|
42
+ if t == File.basename( file_name ) || t == File.extname( file_name )[1..-1]
43
+ result << [key, value]
44
+ assigned = true
45
+ break
46
+ end
47
+ end
48
+ end
49
+ unless assigned
50
+ if value.firstLineMatch && value.firstLineMatch =~ first_line
51
+ result << [key, value]
52
+ end
53
+ end
54
+ end
55
+ result
56
+ end
57
+
58
+ def Uv.parse text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic"
59
+ init_syntaxes unless @syntaxes
60
+ renderer = File.join( File.dirname(__FILE__), '..',"render", output,"#{render_style}.render")
61
+ css_class = render_style
62
+ render_options = YAML.load( File.open( renderer ) )
63
+ if output == "xhtml"
64
+ render_processor = HtmlProcessor.new( render_options, line_numbers )
65
+ @syntaxes[syntax_name].parse( text, render_processor )
66
+ "<pre class =\"#{css_class}\">#{render_processor.string}</pre>"
67
+ else
68
+ raise( ArgumentError, "Output for #{output} is not yet implemented" )
69
+ end
70
+ end
71
+
72
+ def Uv.debug text, syntax_name
73
+ unless @syntaxes
74
+ @syntaxes = {}
75
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
76
+ @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
77
+ end
78
+ end
79
+ processor = Textpow::DebugProcessor.new
80
+
81
+ @syntaxes[syntax_name].parse( text, processor )
82
+ end
83
+
84
+ end
@@ -0,0 +1,89 @@
1
+ require 'cgi'
2
+
3
+ module Uv
4
+
5
+
6
+ class HtmlProcessor
7
+ @@score_manager = Textpow::ScoreManager.new
8
+
9
+ attr_reader :string
10
+ attr_accessor :escapeHTML
11
+
12
+ def initialize render_options, line_numbers = false, score_manager = nil
13
+ @score_manager = score_manager || @@score_manager
14
+ @render_options = render_options
15
+ @options = {}
16
+ @line_numbers = line_numbers
17
+ @escapeHTML = true
18
+ end
19
+
20
+ def start_parsing
21
+ @stack = []
22
+ @string = ""
23
+ @line = nil
24
+ @line_number = 0
25
+ end
26
+
27
+ def print string
28
+ @string << string
29
+ end
30
+
31
+ def escape string
32
+ if @escapeHTML
33
+ CGI.escapeHTML( string )
34
+ else
35
+ string
36
+ end
37
+ end
38
+
39
+ def open_tag name, position
40
+ @stack << name
41
+ print escape(@line[@position...position]) if position > @position
42
+ @position = position
43
+ opt = options
44
+ print opt["begin"] if opt
45
+ end
46
+
47
+ def close_tag name, position
48
+ print escape(@line[@position...position]) if position > @position
49
+ @position = position
50
+ opt = options
51
+ print opt["end"] if opt
52
+ @stack.pop
53
+ end
54
+
55
+ def new_line line
56
+ print escape(@line[@position..-1]) if @line
57
+ @position = 0
58
+ @line_number += 1
59
+ @line = line
60
+ if @line_numbers
61
+ print @render_options["line-numbers"]["begin"]
62
+ print @line_number.to_s.rjust(4).ljust(5)
63
+ print @render_options["line-numbers"]["end"]
64
+ print " "
65
+ end
66
+ end
67
+
68
+ def end_parsing
69
+ print escape(@line[@position..-1].gsub("\n", '')) if @line
70
+ while ! @stack.empty?
71
+ opt = options
72
+ print opt["end"] if opt
73
+ @stack.pop
74
+ end
75
+ end
76
+
77
+ def options
78
+ ref = @stack.join ' '
79
+ return @options[ref] if @options.has_key? ref
80
+
81
+ result = @render_options['tags'].max do |a, b|
82
+ @score_manager.score( a['selector'], ref ) <=> @score_manager.score( b['selector'], ref )
83
+ end
84
+ result = nil if @score_manager.score( result['selector'], ref ) == 0
85
+ @options[ref] = result
86
+ end
87
+ end
88
+ end
89
+
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: TXT2TAGS
3
+ tags:
4
+ #- selector : TXT2TAGS
5
+ # begin : "<html>\n<body>\n"
6
+ # end : "</body>\n</html>\n"
7
+ # filters:
8
+ # - indent
9
+ - selector : markup.other.paragraph - markup.raw
10
+ begin : "<p>\n"
11
+ end : "\n</p>\n"
12
+ filters:
13
+ - strip
14
+ - indent
15
+ - selector : markup.heading.plain
16
+ cbegin : '"<h#{predecessor.text.size}>"'
17
+ cend : '"</h#{successor.text.size}>\n"'
18
+ filters :
19
+ - strip
20
+ - selector : other.filler
21
+ invisible: true
22
+ - selector : keyword.other - markup.raw
23
+ invisible: true
24
+ - selector : comment
25
+ invisible: true
26
+ - selector : variable - markup.raw
27
+ invisible: true
28
+ - selector : markup.other.email - markup.raw
29
+ cbegin : '"<a href=\"mailto:#{text}\">"'
30
+ end : </a>
31
+ - selector : markup.other.link - markup.raw
32
+ cbegin : '"<a href=\"#{text}\">"'
33
+ end : </a>
34
+ - selector : meta.link.complex markup.other.link - markup.raw
35
+ invisible: true
36
+ - selector : meta.link.complex - markup.raw
37
+ ccontent : |-
38
+ "<a href='#{children[3].text}'>#{children[1].text}</a>"
39
+ - selector : markup.bold - markup.raw
40
+ begin : <b>
41
+ end : </b>
42
+ - selector : markup.italic - markup.raw
43
+ begin : <i>
44
+ end : </i>
45
+ - selector : markup.underline - markup.raw
46
+ begin : <u>
47
+ end : </u>
48
+ - selector : markup.raw.verbatim
49
+ begin : "<code>"
50
+ end : "</code>"
51
+ - selector : markup.raw.verbatim.line
52
+ begin : "<pre>\n"
53
+ end : "\n</pre>\n"
54
+ - selector : markup.raw.verbatim.block
55
+ begin : "<pre>\n"
56
+ end : "</pre>\n"
57
+ - selector : markup.quote.line - markup.raw
58
+ cbegin : |-
59
+ @@quote_depth ||= []
60
+ depth = predecessor.text.size
61
+ if @@quote_depth.empty?
62
+ @@quote_depth << depth
63
+ ("\t" * depth) + "<blockquote>\n"
64
+ elsif depth > @@quote_depth.last
65
+ @@quote_depth << depth
66
+ "\n" + ("\t" * depth) + "<blockquote>\n"
67
+ else
68
+ ""
69
+ end
70
+ cend : |-
71
+ next_depth = successor.text.size
72
+ if ! next_depth || successor.name != predecessor.name
73
+ result = "\n"
74
+ while ! @@quote_depth.empty?
75
+ depth = @@quote_depth.pop
76
+ result += ("\t" * depth) + "</blockquote>\n"
77
+ end
78
+ result
79
+ elsif next_depth < @@quote_depth.last
80
+ depth = @@quote_depth.pop
81
+ "\n" + ("\t" * depth) + "</blockquote>\n"
82
+ else
83
+ ""
84
+ end
85
+ filters :
86
+ - strip
87
+ - selector : markup.list.unnumbered - markup.raw
88
+ cbegin : |-
89
+ @@list_stack ||= []
90
+ res = ""
91
+ depth = predecessor.text.size
92
+ if @@list_stack.empty?
93
+ res += (" " * depth) + "<ul>\n"
94
+ elsif depth > @@list_stack.last
95
+ res += "\n" + (" " * depth) + "<ul>\n"
96
+ end
97
+ @@list_stack << depth
98
+ res += "\n" + (" " * depth) + "<li>\n"
99
+ cend : |-
100
+ depth = predecessor.text.size
101
+ res = ""
102
+ if depth < @@list_stack.last
103
+ res += "\n"
104
+ while depth < @@list_stack.last
105
+ res += (" " * @@list_stack.pop) + "</ul>\n"
106
+ end
107
+ res
108
+ end
109
+ res += "\n" + (" " * depth ) + "</li>\n"
110
+ if successor.name != predecessor.name
111
+ res = "\n"
112
+ while ! @@list_stack.empty?
113
+ depth = @@list_stack.pop
114
+ res += (" " * depth) + "</ul>\n"
115
+ end
116
+ end
117
+ res
118
+ filters :
119
+ - strip
120
+ - selector : line.blank
121
+ invisible: true
122
+ begin : <line.blank>
123
+ end : </line.blank>
124
+ - selector : markup.other.bar.thin - markup.raw
125
+ begin : <hr noshade size=1>
126
+ nocontent: true
127
+ - selector : markup.other.bar.thick - markup.raw
128
+ begin : <hr noshade size=5>
129
+ nocontent: true
130
+ - selector : markup.raw line.blank
131
+
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: Active4D
3
+ tags:
4
+ - begin: <span class="EmbeddedSource">
5
+ end: </span>
6
+ selector: text.html source.active4d
7
+ - begin: <span class="PlainXmlText">
8
+ end: </span>
9
+ selector: text.xml
10
+ - begin: <span class="LineComment">
11
+ end: </span>
12
+ selector: comment.line
13
+ - begin: <span class="BlockComment">
14
+ end: </span>
15
+ selector: comment.block
16
+ - begin: <span class="String">
17
+ end: </span>
18
+ selector: string
19
+ - begin: <span class="InterpolatedEntity">
20
+ end: </span>
21
+ selector: string.interpolated variable
22
+ - begin: <span class="Number">
23
+ end: </span>
24
+ selector: constant.numeric
25
+ - begin: <span class="UserDefinedConstant">
26
+ end: </span>
27
+ selector: constant.character, constant.other
28
+ - begin: <span class="DateTimeLiteral">
29
+ end: </span>
30
+ selector: constant.other.date, constant.other.time
31
+ - begin: <span class="BuiltInConstant">
32
+ end: </span>
33
+ selector: constant.language
34
+ - begin: <span class="LocalVariable">
35
+ end: </span>
36
+ selector: variable.other.local
37
+ - begin: <span class="Variable">
38
+ end: </span>
39
+ selector: variable
40
+ - begin: <span class="TableField">
41
+ end: </span>
42
+ selector: variable.other.table-field
43
+ - begin: <span class="Keyword">
44
+ end: </span>
45
+ selector: keyword
46
+ - begin: <span class="Operator">
47
+ end: </span>
48
+ selector: keyword.operator
49
+ - begin: <span class="Storage">
50
+ end: </span>
51
+ selector: storage
52
+ - begin: <span class="TypeName">
53
+ end: </span>
54
+ selector: entity.name.type
55
+ - begin: <span class="InheritedClass">
56
+ end: </span>
57
+ selector: entity.other.inherited-class
58
+ - begin: <span class="FunctionName">
59
+ end: </span>
60
+ selector: entity.name.function
61
+ - begin: <span class="FunctionArgument">
62
+ end: </span>
63
+ selector: variable.parameter
64
+ - begin: <span class="TagContainer">
65
+ end: </span>
66
+ selector: meta.tag
67
+ - begin: <span class="TagName">
68
+ end: </span>
69
+ selector: entity.name.tag
70
+ - begin: <span class="TagAttribute">
71
+ end: </span>
72
+ selector: entity.other.attribute-name
73
+ - begin: <span class="CommandMethod">
74
+ end: </span>
75
+ selector: support.function
76
+ - begin: <span class="NamedConstant">
77
+ end: </span>
78
+ selector: support.constant
79
+ - begin: <span class="LibraryClassType">
80
+ end: </span>
81
+ selector: support.type, support.class
82
+ - begin: <span class="LibraryVariable">
83
+ end: </span>
84
+ selector: support.variable
85
+ - begin: <span class="Invalid">
86
+ end: </span>
87
+ selector: invalid
88
+ - begin: <span class="DiffHeader">
89
+ end: </span>
90
+ selector: meta.diff
91
+ - begin: <span class="DiffLineRange">
92
+ end: </span>
93
+ selector: meta.diff.range
94
+ - begin: <span class="DiffDeletedLine">
95
+ end: </span>
96
+ selector: markup.deleted.diff
97
+ - begin: <span class="DiffInsertedLine">
98
+ end: </span>
99
+ selector: markup.inserted.diff
100
+ - begin: <span class="DiffUnchangedLine">
101
+ end: </span>
102
+ selector: source.diff
103
+ line-numbers:
104
+ begin: <span class="line-numbers">
105
+ end: </span>
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: All Hallow's Eve
3
+ tags:
4
+ - begin: <span class="TextBase">
5
+ end: </span>
6
+ selector: text
7
+ - begin: <span class="SourceBase">
8
+ end: </span>
9
+ selector: source
10
+ - begin: <span class="Comment">
11
+ end: </span>
12
+ selector: comment
13
+ - begin: <span class="Constant">
14
+ end: </span>
15
+ selector: constant
16
+ - begin: <span class="Keyword">
17
+ end: </span>
18
+ selector: keyword
19
+ - begin: <span class="PreProcessorLine">
20
+ end: </span>
21
+ selector: meta.preprocessor.c
22
+ - begin: <span class="PreProcessorDirective">
23
+ end: </span>
24
+ selector: keyword.control.import
25
+ - begin: <span class="FunctionName">
26
+ end: </span>
27
+ selector: entity.name.function
28
+ - begin: <span class="FunctionArgument">
29
+ end: </span>
30
+ selector: variable.parameter
31
+ - begin: <span class="BlockComment">
32
+ end: </span>
33
+ selector: source comment.block
34
+ - begin: <span class="String">
35
+ end: </span>
36
+ selector: string
37
+ - begin: <span class="StringEscapes">
38
+ end: </span>
39
+ selector: string constant.character.escape
40
+ - begin: <span class="StringExecuted">
41
+ end: </span>
42
+ selector: string.interpolated
43
+ - begin: <span class="RegularExpression">
44
+ end: </span>
45
+ selector: string.regexp
46
+ - begin: <span class="StringLiteral">
47
+ end: </span>
48
+ selector: string.literal
49
+ - begin: <span class="StringEscapesExecuted">
50
+ end: </span>
51
+ selector: string.interpolated constant.character.escape
52
+ - begin: <span class="TypeName">
53
+ end: </span>
54
+ selector: entity.name.type
55
+ - begin: <span class="ClassInheritance">
56
+ end: </span>
57
+ selector: entity.other.inherited-class
58
+ - begin: <span class="TagName">
59
+ end: </span>
60
+ selector: entity.name.tag
61
+ - begin: <span class="TagAttribute">
62
+ end: </span>
63
+ selector: entity.other.attribute-name
64
+ - begin: <span class="SupportFunction">
65
+ end: </span>
66
+ selector: support.function
67
+ line-numbers:
68
+ begin: <span class="line-numbers">
69
+ end: </span>