rmthemegen 0.0.46 → 0.0.47

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 (270) hide show
  1. data/.rvmrc +1 -0
  2. data/lib/rmthemegen.rb +2 -1
  3. data/lib/rmthemegen/rmtg_textmate.rb +28 -25
  4. data/lib/rmthemegen/rmthemegen_parent.rb +2 -2
  5. data/lib/rmthemegen/token_list.rb +1 -1
  6. data/lib/rmthemegen/version.rb +1 -1
  7. data/test/create_syntax.rb +23 -0
  8. data/test/css/active4d.css +114 -0
  9. data/test/css/all_hallows_eve.css +72 -0
  10. data/test/css/amy.css +147 -0
  11. data/test/css/blackboard.css +88 -0
  12. data/test/css/brilliance_black.css +605 -0
  13. data/test/css/brilliance_dull.css +599 -0
  14. data/test/css/cobalt.css +149 -0
  15. data/test/css/dawn.css +121 -0
  16. data/test/css/eiffel.css +121 -0
  17. data/test/css/espresso_libre.css +109 -0
  18. data/test/css/idle.css +62 -0
  19. data/test/css/iplastic.css +80 -0
  20. data/test/css/lazy.css +73 -0
  21. data/test/css/mac_classic.css +123 -0
  22. data/test/css/magicwb_amiga.css +104 -0
  23. data/test/css/pastels_on_dark.css +188 -0
  24. data/test/css/slush_poppies.css +85 -0
  25. data/test/css/spacecadet.css +51 -0
  26. data/test/css/sunburst.css +180 -0
  27. data/test/css/twilight.css +137 -0
  28. data/test/css/zenburnesque.css +91 -0
  29. data/test/{rmt_plastic_scale.tmTheme → output.html} +0 -0
  30. data/test/{rmt_maximum_hyena.tmTheme → rmt_frail_creature.tmTheme} +93 -93
  31. data/test/{rmt_vivacious_parrot.tmTheme → rmt_light_phone.tmTheme} +83 -83
  32. data/test/rmt_outside_wrist.tmTheme +820 -0
  33. data/test/{rmt_annoying_step-mother.tmTheme → rmt_scary_stranger.tmTheme} +83 -83
  34. data/test/tc.html +54 -0
  35. data/test/test_generate_themes.rb +2 -1
  36. data/vendor/ultraviolet-0.10.2/History.txt +25 -0
  37. data/vendor/ultraviolet-0.10.2/Manifest.txt +233 -0
  38. data/vendor/ultraviolet-0.10.2/README.txt +52 -0
  39. data/vendor/ultraviolet-0.10.2/Rakefile +51 -0
  40. data/vendor/ultraviolet-0.10.2/bin/theme2latexrender +122 -0
  41. data/vendor/ultraviolet-0.10.2/bin/theme2xhtmlrender +156 -0
  42. data/vendor/ultraviolet-0.10.2/bin/uv +140 -0
  43. data/vendor/ultraviolet-0.10.2/lib/uv.rb +94 -0
  44. data/vendor/ultraviolet-0.10.2/lib/uv/render_processor.rb +131 -0
  45. data/vendor/ultraviolet-0.10.2/lib/uv/utility.rb +206 -0
  46. data/vendor/ultraviolet-0.10.2/render/latex/active4d.render +132 -0
  47. data/vendor/ultraviolet-0.10.2/render/latex/all_hallows_eve.render +96 -0
  48. data/vendor/ultraviolet-0.10.2/render/latex/amy.render +171 -0
  49. data/vendor/ultraviolet-0.10.2/render/latex/blackboard.render +111 -0
  50. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_black.render +552 -0
  51. data/vendor/ultraviolet-0.10.2/render/latex/brilliance_dull.render +561 -0
  52. data/vendor/ultraviolet-0.10.2/render/latex/cobalt.render +162 -0
  53. data/vendor/ultraviolet-0.10.2/render/latex/dawn.render +126 -0
  54. data/vendor/ultraviolet-0.10.2/render/latex/eiffel.render +132 -0
  55. data/vendor/ultraviolet-0.10.2/render/latex/espresso_libre.render +123 -0
  56. data/vendor/ultraviolet-0.10.2/render/latex/idle.render +93 -0
  57. data/vendor/ultraviolet-0.10.2/render/latex/iplastic.render +99 -0
  58. data/vendor/ultraviolet-0.10.2/render/latex/lazy.render +96 -0
  59. data/vendor/ultraviolet-0.10.2/render/latex/mac_classic.render +135 -0
  60. data/vendor/ultraviolet-0.10.2/render/latex/magicwb_amiga.render +117 -0
  61. data/vendor/ultraviolet-0.10.2/render/latex/pastels_on_dark.render +204 -0
  62. data/vendor/ultraviolet-0.10.2/render/latex/slush_poppies.render +123 -0
  63. data/vendor/ultraviolet-0.10.2/render/latex/spacecadet.render +81 -0
  64. data/vendor/ultraviolet-0.10.2/render/latex/sunburst.render +186 -0
  65. data/vendor/ultraviolet-0.10.2/render/latex/twilight.render +153 -0
  66. data/vendor/ultraviolet-0.10.2/render/latex/zenburnesque.render +126 -0
  67. data/vendor/ultraviolet-0.10.2/render/old/txt2tags.render +131 -0
  68. data/vendor/ultraviolet-0.10.2/render/xhtml/active4d.render +140 -0
  69. data/vendor/ultraviolet-0.10.2/render/xhtml/all_hallows_eve.render +104 -0
  70. data/vendor/ultraviolet-0.10.2/render/xhtml/amy.render +179 -0
  71. data/vendor/ultraviolet-0.10.2/render/xhtml/blackboard.render +119 -0
  72. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_black.render +560 -0
  73. data/vendor/ultraviolet-0.10.2/render/xhtml/brilliance_dull.render +569 -0
  74. data/vendor/ultraviolet-0.10.2/render/xhtml/cobalt.render +170 -0
  75. data/vendor/ultraviolet-0.10.2/render/xhtml/dawn.render +134 -0
  76. data/vendor/ultraviolet-0.10.2/render/xhtml/eiffel.render +140 -0
  77. data/vendor/ultraviolet-0.10.2/render/xhtml/espresso_libre.render +131 -0
  78. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/active4d.css +114 -0
  79. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/all_hallows_eve.css +72 -0
  80. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/amy.css +147 -0
  81. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/blackboard.css +88 -0
  82. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_black.css +605 -0
  83. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/brilliance_dull.css +599 -0
  84. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/cobalt.css +149 -0
  85. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/dawn.css +121 -0
  86. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/eiffel.css +121 -0
  87. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/espresso_libre.css +109 -0
  88. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/idle.css +62 -0
  89. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/iplastic.css +80 -0
  90. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/lazy.css +73 -0
  91. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/mac_classic.css +123 -0
  92. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/magicwb_amiga.css +104 -0
  93. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/pastels_on_dark.css +188 -0
  94. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/slush_poppies.css +85 -0
  95. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/spacecadet.css +51 -0
  96. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/sunburst.css +180 -0
  97. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/twilight.css +137 -0
  98. data/vendor/ultraviolet-0.10.2/render/xhtml/files/css/zenburnesque.css +91 -0
  99. data/vendor/ultraviolet-0.10.2/render/xhtml/idle.render +101 -0
  100. data/vendor/ultraviolet-0.10.2/render/xhtml/iplastic.render +107 -0
  101. data/vendor/ultraviolet-0.10.2/render/xhtml/lazy.render +104 -0
  102. data/vendor/ultraviolet-0.10.2/render/xhtml/mac_classic.render +143 -0
  103. data/vendor/ultraviolet-0.10.2/render/xhtml/magicwb_amiga.render +125 -0
  104. data/vendor/ultraviolet-0.10.2/render/xhtml/pastels_on_dark.render +212 -0
  105. data/vendor/ultraviolet-0.10.2/render/xhtml/slush_poppies.render +131 -0
  106. data/vendor/ultraviolet-0.10.2/render/xhtml/spacecadet.render +89 -0
  107. data/vendor/ultraviolet-0.10.2/render/xhtml/sunburst.render +194 -0
  108. data/vendor/ultraviolet-0.10.2/render/xhtml/twilight.render +161 -0
  109. data/vendor/ultraviolet-0.10.2/render/xhtml/zenburnesque.render +134 -0
  110. data/vendor/ultraviolet-0.10.2/syntax/actionscript.syntax +97 -0
  111. data/vendor/ultraviolet-0.10.2/syntax/active4d.syntax +276 -0
  112. data/vendor/ultraviolet-0.10.2/syntax/active4d_html.syntax +311 -0
  113. data/vendor/ultraviolet-0.10.2/syntax/active4d_ini.syntax +50 -0
  114. data/vendor/ultraviolet-0.10.2/syntax/active4d_library.syntax +21 -0
  115. data/vendor/ultraviolet-0.10.2/syntax/ada.syntax +33 -0
  116. data/vendor/ultraviolet-0.10.2/syntax/antlr.syntax +151 -0
  117. data/vendor/ultraviolet-0.10.2/syntax/apache.syntax +191 -0
  118. data/vendor/ultraviolet-0.10.2/syntax/applescript.syntax +384 -0
  119. data/vendor/ultraviolet-0.10.2/syntax/asp.syntax +70 -0
  120. data/vendor/ultraviolet-0.10.2/syntax/asp_vb.net.syntax +129 -0
  121. data/vendor/ultraviolet-0.10.2/syntax/bibtex.syntax +151 -0
  122. data/vendor/ultraviolet-0.10.2/syntax/blog_html.syntax +41 -0
  123. data/vendor/ultraviolet-0.10.2/syntax/blog_markdown.syntax +42 -0
  124. data/vendor/ultraviolet-0.10.2/syntax/blog_text.syntax +27 -0
  125. data/vendor/ultraviolet-0.10.2/syntax/blog_textile.syntax +27 -0
  126. data/vendor/ultraviolet-0.10.2/syntax/build.syntax +53 -0
  127. data/vendor/ultraviolet-0.10.2/syntax/bulletin_board.syntax +287 -0
  128. data/vendor/ultraviolet-0.10.2/syntax/c++.syntax +109 -0
  129. data/vendor/ultraviolet-0.10.2/syntax/c.syntax +326 -0
  130. data/vendor/ultraviolet-0.10.2/syntax/cake.syntax +55 -0
  131. data/vendor/ultraviolet-0.10.2/syntax/camlp4.syntax +36 -0
  132. data/vendor/ultraviolet-0.10.2/syntax/cm.syntax +32 -0
  133. data/vendor/ultraviolet-0.10.2/syntax/coldfusion.syntax +119 -0
  134. data/vendor/ultraviolet-0.10.2/syntax/context_free.syntax +176 -0
  135. data/vendor/ultraviolet-0.10.2/syntax/cs.syntax +59 -0
  136. data/vendor/ultraviolet-0.10.2/syntax/css.syntax +195 -0
  137. data/vendor/ultraviolet-0.10.2/syntax/css_experimental.syntax +1925 -0
  138. data/vendor/ultraviolet-0.10.2/syntax/csv.syntax +68 -0
  139. data/vendor/ultraviolet-0.10.2/syntax/d.syntax +142 -0
  140. data/vendor/ultraviolet-0.10.2/syntax/diff.syntax +81 -0
  141. data/vendor/ultraviolet-0.10.2/syntax/dokuwiki.syntax +204 -0
  142. data/vendor/ultraviolet-0.10.2/syntax/dot.syntax +47 -0
  143. data/vendor/ultraviolet-0.10.2/syntax/doxygen.syntax +43 -0
  144. data/vendor/ultraviolet-0.10.2/syntax/dylan.syntax +62 -0
  145. data/vendor/ultraviolet-0.10.2/syntax/eiffel.syntax +78 -0
  146. data/vendor/ultraviolet-0.10.2/syntax/erlang.syntax +922 -0
  147. data/vendor/ultraviolet-0.10.2/syntax/f-script.syntax +80 -0
  148. data/vendor/ultraviolet-0.10.2/syntax/fortran.syntax +141 -0
  149. data/vendor/ultraviolet-0.10.2/syntax/fxscript.syntax +142 -0
  150. data/vendor/ultraviolet-0.10.2/syntax/greasemonkey.syntax +34 -0
  151. data/vendor/ultraviolet-0.10.2/syntax/gri.syntax +83 -0
  152. data/vendor/ultraviolet-0.10.2/syntax/groovy.syntax +191 -0
  153. data/vendor/ultraviolet-0.10.2/syntax/gtd.syntax +22 -0
  154. data/vendor/ultraviolet-0.10.2/syntax/gtdalt.syntax +143 -0
  155. data/vendor/ultraviolet-0.10.2/syntax/haml.syntax +88 -0
  156. data/vendor/ultraviolet-0.10.2/syntax/haskell.syntax +88 -0
  157. data/vendor/ultraviolet-0.10.2/syntax/html-asp.syntax +27 -0
  158. data/vendor/ultraviolet-0.10.2/syntax/html.syntax +362 -0
  159. data/vendor/ultraviolet-0.10.2/syntax/html_django.syntax +36 -0
  160. data/vendor/ultraviolet-0.10.2/syntax/html_for_asp.net.syntax +424 -0
  161. data/vendor/ultraviolet-0.10.2/syntax/html_mason.syntax +119 -0
  162. data/vendor/ultraviolet-0.10.2/syntax/html_rails.syntax +40 -0
  163. data/vendor/ultraviolet-0.10.2/syntax/html_tcl.syntax +26 -0
  164. data/vendor/ultraviolet-0.10.2/syntax/icalendar.syntax +32 -0
  165. data/vendor/ultraviolet-0.10.2/syntax/inform.syntax +48 -0
  166. data/vendor/ultraviolet-0.10.2/syntax/ini.syntax +55 -0
  167. data/vendor/ultraviolet-0.10.2/syntax/installer_distribution_script.syntax +77 -0
  168. data/vendor/ultraviolet-0.10.2/syntax/io.syntax +81 -0
  169. data/vendor/ultraviolet-0.10.2/syntax/java.syntax +211 -0
  170. data/vendor/ultraviolet-0.10.2/syntax/javaproperties.syntax +20 -0
  171. data/vendor/ultraviolet-0.10.2/syntax/javascript.syntax +256 -0
  172. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype.syntax +72 -0
  173. data/vendor/ultraviolet-0.10.2/syntax/javascript_+_prototype_bracketed.syntax +140 -0
  174. data/vendor/ultraviolet-0.10.2/syntax/jquery_javascript.syntax +114 -0
  175. data/vendor/ultraviolet-0.10.2/syntax/json.syntax +136 -0
  176. data/vendor/ultraviolet-0.10.2/syntax/languagedefinition.syntax +708 -0
  177. data/vendor/ultraviolet-0.10.2/syntax/latex.syntax +566 -0
  178. data/vendor/ultraviolet-0.10.2/syntax/latex_beamer.syntax +41 -0
  179. data/vendor/ultraviolet-0.10.2/syntax/latex_log.syntax +50 -0
  180. data/vendor/ultraviolet-0.10.2/syntax/latex_memoir.syntax +64 -0
  181. data/vendor/ultraviolet-0.10.2/syntax/lexflex.syntax +219 -0
  182. data/vendor/ultraviolet-0.10.2/syntax/lighttpd.syntax +54 -0
  183. data/vendor/ultraviolet-0.10.2/syntax/lilypond.syntax +492 -0
  184. data/vendor/ultraviolet-0.10.2/syntax/lisp.syntax +61 -0
  185. data/vendor/ultraviolet-0.10.2/syntax/literate_haskell.syntax +24 -0
  186. data/vendor/ultraviolet-0.10.2/syntax/logo.syntax +29 -0
  187. data/vendor/ultraviolet-0.10.2/syntax/logtalk.syntax +152 -0
  188. data/vendor/ultraviolet-0.10.2/syntax/lua.syntax +86 -0
  189. data/vendor/ultraviolet-0.10.2/syntax/m.syntax +142 -0
  190. data/vendor/ultraviolet-0.10.2/syntax/macports_portfile.syntax +163 -0
  191. data/vendor/ultraviolet-0.10.2/syntax/mail.syntax +118 -0
  192. data/vendor/ultraviolet-0.10.2/syntax/makefile.syntax +36 -0
  193. data/vendor/ultraviolet-0.10.2/syntax/man.syntax +17 -0
  194. data/vendor/ultraviolet-0.10.2/syntax/markdown.syntax +543 -0
  195. data/vendor/ultraviolet-0.10.2/syntax/mediawiki.syntax +567 -0
  196. data/vendor/ultraviolet-0.10.2/syntax/mel.syntax +92 -0
  197. data/vendor/ultraviolet-0.10.2/syntax/mips.syntax +66 -0
  198. data/vendor/ultraviolet-0.10.2/syntax/mod_perl.syntax +50 -0
  199. data/vendor/ultraviolet-0.10.2/syntax/modula-3.syntax +47 -0
  200. data/vendor/ultraviolet-0.10.2/syntax/moinmoin.syntax +189 -0
  201. data/vendor/ultraviolet-0.10.2/syntax/mootools.syntax +572 -0
  202. data/vendor/ultraviolet-0.10.2/syntax/movable_type.syntax +162 -0
  203. data/vendor/ultraviolet-0.10.2/syntax/multimarkdown.syntax +39 -0
  204. data/vendor/ultraviolet-0.10.2/syntax/objective-c++.syntax +18 -0
  205. data/vendor/ultraviolet-0.10.2/syntax/objective-c.syntax +233 -0
  206. data/vendor/ultraviolet-0.10.2/syntax/ocaml.syntax +764 -0
  207. data/vendor/ultraviolet-0.10.2/syntax/ocamllex.syntax +167 -0
  208. data/vendor/ultraviolet-0.10.2/syntax/ocamlyacc.syntax +184 -0
  209. data/vendor/ultraviolet-0.10.2/syntax/opengl.syntax +14 -0
  210. data/vendor/ultraviolet-0.10.2/syntax/pascal.syntax +77 -0
  211. data/vendor/ultraviolet-0.10.2/syntax/perl.syntax +1115 -0
  212. data/vendor/ultraviolet-0.10.2/syntax/php.syntax +1253 -0
  213. data/vendor/ultraviolet-0.10.2/syntax/plain_text.syntax +32 -0
  214. data/vendor/ultraviolet-0.10.2/syntax/pmwiki.syntax +113 -0
  215. data/vendor/ultraviolet-0.10.2/syntax/postscript.syntax +114 -0
  216. data/vendor/ultraviolet-0.10.2/syntax/processing.syntax +106 -0
  217. data/vendor/ultraviolet-0.10.2/syntax/prolog.syntax +40 -0
  218. data/vendor/ultraviolet-0.10.2/syntax/property_list.syntax +635 -0
  219. data/vendor/ultraviolet-0.10.2/syntax/python.syntax +868 -0
  220. data/vendor/ultraviolet-0.10.2/syntax/python_django.syntax +21 -0
  221. data/vendor/ultraviolet-0.10.2/syntax/qmake_project.syntax +114 -0
  222. data/vendor/ultraviolet-0.10.2/syntax/qt_c++.syntax +26 -0
  223. data/vendor/ultraviolet-0.10.2/syntax/quake3_config.syntax +32 -0
  224. data/vendor/ultraviolet-0.10.2/syntax/r.syntax +81 -0
  225. data/vendor/ultraviolet-0.10.2/syntax/r_console.syntax +16 -0
  226. data/vendor/ultraviolet-0.10.2/syntax/ragel.syntax +201 -0
  227. data/vendor/ultraviolet-0.10.2/syntax/rd_r_documentation.syntax +91 -0
  228. data/vendor/ultraviolet-0.10.2/syntax/regexp.syntax +50 -0
  229. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_oniguruma.syntax +107 -0
  230. data/vendor/ultraviolet-0.10.2/syntax/regular_expressions_python.syntax +109 -0
  231. data/vendor/ultraviolet-0.10.2/syntax/release_notes.syntax +46 -0
  232. data/vendor/ultraviolet-0.10.2/syntax/remind.syntax +253 -0
  233. data/vendor/ultraviolet-0.10.2/syntax/restructuredtext.syntax +250 -0
  234. data/vendor/ultraviolet-0.10.2/syntax/rez.syntax +80 -0
  235. data/vendor/ultraviolet-0.10.2/syntax/ruby.syntax +1035 -0
  236. data/vendor/ultraviolet-0.10.2/syntax/ruby_experimental.syntax +145 -0
  237. data/vendor/ultraviolet-0.10.2/syntax/ruby_on_rails.syntax +88 -0
  238. data/vendor/ultraviolet-0.10.2/syntax/s5.syntax +69 -0
  239. data/vendor/ultraviolet-0.10.2/syntax/scheme.syntax +347 -0
  240. data/vendor/ultraviolet-0.10.2/syntax/scilab.syntax +41 -0
  241. data/vendor/ultraviolet-0.10.2/syntax/setext.syntax +147 -0
  242. data/vendor/ultraviolet-0.10.2/syntax/shell-unix-generic.syntax +384 -0
  243. data/vendor/ultraviolet-0.10.2/syntax/slate.syntax +149 -0
  244. data/vendor/ultraviolet-0.10.2/syntax/smarty.syntax +63 -0
  245. data/vendor/ultraviolet-0.10.2/syntax/sql.syntax +237 -0
  246. data/vendor/ultraviolet-0.10.2/syntax/sql_rails.syntax +18 -0
  247. data/vendor/ultraviolet-0.10.2/syntax/ssh-config.syntax +33 -0
  248. data/vendor/ultraviolet-0.10.2/syntax/standard_ml.syntax +121 -0
  249. data/vendor/ultraviolet-0.10.2/syntax/strings_file.syntax +39 -0
  250. data/vendor/ultraviolet-0.10.2/syntax/subversion_commit_message.syntax +36 -0
  251. data/vendor/ultraviolet-0.10.2/syntax/sweave.syntax +84 -0
  252. data/vendor/ultraviolet-0.10.2/syntax/swig.syntax +57 -0
  253. data/vendor/ultraviolet-0.10.2/syntax/tcl.syntax +152 -0
  254. data/vendor/ultraviolet-0.10.2/syntax/template_toolkit.syntax +121 -0
  255. data/vendor/ultraviolet-0.10.2/syntax/tex.syntax +86 -0
  256. data/vendor/ultraviolet-0.10.2/syntax/tex_math.syntax +49 -0
  257. data/vendor/ultraviolet-0.10.2/syntax/textile.syntax +215 -0
  258. data/vendor/ultraviolet-0.10.2/syntax/tsv.syntax +50 -0
  259. data/vendor/ultraviolet-0.10.2/syntax/twiki.syntax +241 -0
  260. data/vendor/ultraviolet-0.10.2/syntax/txt2tags.syntax +79 -0
  261. data/vendor/ultraviolet-0.10.2/syntax/vectorscript.syntax +57 -0
  262. data/vendor/ultraviolet-0.10.2/syntax/xhtml_1.0.syntax +4027 -0
  263. data/vendor/ultraviolet-0.10.2/syntax/xml.syntax +180 -0
  264. data/vendor/ultraviolet-0.10.2/syntax/xml_strict.syntax +92 -0
  265. data/vendor/ultraviolet-0.10.2/syntax/xsl.syntax +60 -0
  266. data/vendor/ultraviolet-0.10.2/syntax/yaml.syntax +160 -0
  267. data/vendor/ultraviolet-0.10.2/syntax/yui_javascript.syntax +176 -0
  268. data/vendor/ultraviolet-0.10.2/test/test_uv.rb +0 -0
  269. metadata +335 -92
  270. data/test/index.html +0 -2
@@ -0,0 +1,156 @@
1
+ #! /usr/bin/env ruby
2
+ begin
3
+ require 'plist'
4
+ rescue LoadError
5
+ require 'rubygems'
6
+ require 'plist'
7
+ end
8
+ require 'uv/utility'
9
+
10
+ base_dir = File.join( File.dirname(__FILE__), '..', 'render' )
11
+
12
+
13
+ def settings
14
+ unless @settings
15
+ @settings = @theme["settings"].find { |s| ! s["name"] }["settings"]
16
+ end
17
+ @settings
18
+ end
19
+
20
+ puts "Processing #{ARGV[0]}"
21
+
22
+ @theme = Plist::parse_xml( ARGV[0] )
23
+ render = {"name" => @theme["name"]}
24
+ css = {}
25
+
26
+ standard_name = File.basename( ARGV[0] ).downcase.gsub(/\s+/, '_').gsub('.tmtheme', '').gsub(/\W/, '').gsub(/_+/, '_')
27
+ code_name = "pre.#{standard_name}"
28
+
29
+ render["tags"] = []
30
+ count_names = {}
31
+ @theme["settings"].each do |t|
32
+ if t["scope"]
33
+ class_name = t["name"].downcase.gsub(/\W/, ' ').gsub('.tmtheme', '').split(' ').collect{|s| s.capitalize}.join
34
+ if class_name == ""
35
+ class_name = "x" * t["name"].size
36
+ end
37
+
38
+ if count_names[class_name]
39
+ tname = class_name
40
+ class_name = "#{class_name}#{count_names[class_name]}"
41
+ count_names[tname] += count_names[tname] + 1
42
+ else
43
+ count_names[class_name] = 1
44
+ end
45
+
46
+ tag = {}
47
+ tag["selector"] = t["scope"]
48
+ tag["begin"] = "<span class=\"#{class_name}\">"
49
+ tag["end"] = "</span>"
50
+ render["tags"] << tag
51
+
52
+ if s = t["settings"]
53
+ style = {}
54
+ style["color"] = Uv.normalize_color(settings, s["foreground"], true)
55
+ style["background-color"] = Uv.normalize_color(settings, s["background"])
56
+ case s["fontStyle"]
57
+ when /bold/ then style["font-weight"] = "bold"
58
+ when /italic/ then style["font-style"] = "italic"
59
+ when /underline/ then style["text-decoration"] = "underline"
60
+ end
61
+ css[".#{class_name}"] = style
62
+ end
63
+ elsif ! t["name"]
64
+ if s = t["settings"]
65
+ style = {}
66
+ style["color"] = Uv.normalize_color(settings, s["foreground"], true)
67
+ style["background-color"] = Uv.alpha_blend(s["background"], s["background"])
68
+ css[code_name] = style
69
+ @style = style
70
+ style = {}
71
+ style["background-color"] = Uv.alpha_blend(s["selection"], s["selection"])
72
+ style["color"] = Uv.foreground( style["background-color"] )
73
+ css[".line-numbers"] = style
74
+
75
+ tag = {}
76
+ tag["begin"] = "<span class=\"line-numbers\">"
77
+ tag["end"] = "</span>"
78
+ render["line-numbers"] = tag
79
+ end
80
+ end
81
+ end
82
+
83
+ render["filter"] = "CGI.escapeHTML( @escaped )"
84
+
85
+ tag = {}
86
+ tag["begin"] = ""
87
+ tag["end"] = ""
88
+ render["line"] = tag
89
+
90
+
91
+ tag = {}
92
+ tag["begin"] = "<pre class=\"#{standard_name}\">"
93
+ tag["end"] = "</pre>"
94
+ render["listing"] = tag
95
+
96
+ tag = {}
97
+ tag["begin"] = <<END
98
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
99
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
100
+
101
+ <head>
102
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
103
+ <meta http-equiv="cache-control" content="no-cache" />
104
+ <meta http-equiv="expires" content="3600" />
105
+ <meta name="revisit-after" content="2 days" />
106
+ <meta name="robots" content="index,follow" />
107
+ <meta name="publisher" content="Dichodaemon" />
108
+ <meta name="copyright" content="Dichodaemon" />
109
+
110
+ <meta name="author" content="Dichodaemon" />
111
+ <meta name="distribution" content="global" />
112
+ <meta name="description" content="Ocatarinetabellachithchix" />
113
+ <meta name="keywords" content="arzaversperia flexilimosos toves" />
114
+ <link rel="stylesheet" type="text/css" media="screen,projection,print" href="css/#{standard_name}.css" />
115
+ <title>#{standard_name}</title>
116
+
117
+ </head>
118
+
119
+ <body>
120
+ END
121
+
122
+ tag["end"] = <<END
123
+ <p>
124
+ <a href="http://validator.w3.org/check?uri=referer">
125
+ <img style="border:0"
126
+ src="http://www.w3.org/Icons/valid-xhtml10"
127
+ alt="Valid XHTML 1.0 Strict" height="31" width="88" />
128
+ </a>
129
+ <a href="http://jigsaw.w3.org/css-validator/check?uri=referer">
130
+ <img style="border:0;width:88px;height:31px"
131
+ src="http://jigsaw.w3.org/css-validator/images/vcss"
132
+ alt="Valid CSS!" />
133
+ </a>
134
+ </p>
135
+ </body>
136
+ </html>
137
+ END
138
+
139
+ render["document"] = tag
140
+
141
+ File.open( File.join( base_dir, "xhtml", "#{standard_name}.render" ), "w" ) {|f| YAML.dump( render, f ) }
142
+
143
+ File.open( File.join( base_dir, "xhtml", "files", "css", "#{standard_name}.css" ), "w" ) do |f|
144
+ css.each do |key, values|
145
+ if key == code_name
146
+ f.puts "#{code_name} {"
147
+ #puts @style
148
+ else
149
+ f.puts "#{code_name} #{key} {"
150
+ end
151
+ values.each do |style, value|
152
+ f.puts " #{style}: #{value};" if value
153
+ end
154
+ f.puts "}"
155
+ end
156
+ end
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'rubygems'
5
+ require 'uv'
6
+ rescue LoadError
7
+ $:.unshift File.join( File.dirname(__FILE__), '..', 'lib' )
8
+ require 'uv'
9
+ end
10
+
11
+ require 'optparse'
12
+ require 'ostruct'
13
+
14
+ o = OpenStruct.new
15
+ o.copy_files = false
16
+ o.output = "xhtml"
17
+ o.headers = false
18
+ o.theme = "espresso_libre"
19
+ o.lines = true
20
+
21
+ options = OptionParser.new
22
+
23
+ options.banner =<<END
24
+
25
+ Usage: uv [options] input_file
26
+
27
+ Parses input_file (or stdin, if no input_file is given) and
28
+ outputs the coresponding HTML to stdout. If no syntax is specified,
29
+ it tries to guess the best one. If no theme is specified, defaults
30
+ to espresso_libre.
31
+
32
+ Example:
33
+
34
+ uv -t amy -h ~/.bashrc > bashrc.html
35
+
36
+ Renders the contents of ~/.bashrc to file bashrc.html
37
+ as a standalone web page.
38
+
39
+ All options are non-mandatory
40
+
41
+ Options:
42
+
43
+ END
44
+
45
+ options.on( "-c DIR", "--copy-files DIR", <<DESCRIPTION ) {|val| o.copy_files = val}
46
+ Copy the required files to the specified output directory (css, images, etc).
47
+ DESCRIPTION
48
+
49
+ options.on( "-s SYNTAX", "--syntax SYNTAX", <<DESCRIPTION, Uv.syntaxes) {|val| o.syntax = val}
50
+ The file's syntax (e.g. ruby, c++, etc.)
51
+ DESCRIPTION
52
+
53
+ options.on( "-o OUTPUT", "--output OUTPUT", <<DESCRIPTION) {|val| o.output = val}
54
+ The output format (xhtml, latex, etc.) default to xhtml
55
+ DESCRIPTION
56
+
57
+ options.on( "-t THEME", "--theme THEME", <<DESCRIPTION, Uv.themes) {|val| o.theme = val}
58
+ The theme to be used (e.g. amy, espresso_libre, etc.)
59
+ DESCRIPTION
60
+
61
+ options.on( "-n", "--no-lines", <<DESCRIPTION ) {|val| o.lines = false}
62
+ Produces output without line numbers
63
+ DESCRIPTION
64
+
65
+
66
+ options.on( "-h", "--headers", <<DESCRIPTION ) {|val| o.headers = val}
67
+ Include headers, outputs a self-contained web page/document
68
+ DESCRIPTION
69
+
70
+ options.on( "-d", "--debug", <<DESCRIPTION ) {|val| o.debug = val}
71
+ Outputs debug information instead of normal page rendering
72
+ DESCRIPTION
73
+
74
+ options.on( "-l [syntaxes|themes]", "--list [syntaxes|themes]", ['syntaxes', 'themes'], <<DESCRIPTION ) {|val| o.list = val}
75
+ Lists all the available syntaxes/themes
76
+ DESCRIPTION
77
+
78
+
79
+ options.on( "-?", "--help", <<DESCRIPTION ) {|val| o.help = val}
80
+ Show this message
81
+ DESCRIPTION
82
+
83
+ rest = options.parse( ARGV )
84
+
85
+
86
+ if o.help
87
+ puts options
88
+ exit
89
+ elsif o.list
90
+ if o.list == 'syntaxes'
91
+ puts "Available syntaxes:\n"
92
+ Uv.syntaxes.sort.each{ |s| puts " - #{s}"}
93
+ elsif o.list == 'themes'
94
+ puts "Available themes:\n"
95
+ Uv.themes.sort.each{ |t| puts " - #{t}"}
96
+ else
97
+ STDERR.puts "Option #{o.list} is not valid should be one of [syntaxes, themes]"
98
+ end
99
+ exit
100
+ end
101
+
102
+ if o.copy_files
103
+ unless File.exists?(o.copy_files)
104
+ STDERR.puts "The specified output directory: #{o.copy_files} does not exist."
105
+ exit -1
106
+ end
107
+ Uv.copy_files o.output, o.copy_files
108
+ end
109
+
110
+ o.filename = rest[0]
111
+
112
+ if o.filename && ! o.syntax
113
+ candidates = Uv.syntax_for_file o.filename
114
+ if candidates.size > 1
115
+ STDERR.puts "Many syntaxes match, please specify"
116
+ STDERR.puts "\nMatching syntaxes:"
117
+ candidates.sort.each { |name, syntax| STDERR.puts "\t - " + name}
118
+ exit -1
119
+ end
120
+ o.syntax = candidates.first.first unless candidates.size == 0
121
+ end
122
+
123
+ unless o.syntax
124
+ STDERR.puts "No default syntax found, please specify"
125
+ exit -1
126
+ end
127
+
128
+ if o.filename
129
+ o.text = File.read(o.filename)
130
+ else
131
+ o.text = STDIN
132
+ end
133
+
134
+ if o.debug
135
+ Uv.debug( o.text, o.syntax )
136
+ exit
137
+ end
138
+
139
+ puts Uv.parse( o.text, o.output, o.syntax, o.lines, o.theme, o.headers )
140
+
@@ -0,0 +1,94 @@
1
+ require 'fileutils'
2
+ require 'textpow'
3
+ require File.expand_path('../uv/render_processor.rb',__FILE__)
4
+ require File.expand_path('../uv/utility.rb',__FILE__)
5
+
6
+ module Uv
7
+
8
+ def Uv.syntaxes_hash
9
+ Uv.init_syntaxes unless @syntaxes
10
+ @syntaxes
11
+ end
12
+
13
+ def Uv.path
14
+ result = []
15
+ result << File.join(File.dirname(__FILE__), ".." )
16
+ end
17
+
18
+ def Uv.copy_files output, output_dir
19
+ Uv.path.each do |dir|
20
+ dir_name = File.join( dir, "render", output, "files" )
21
+ FileUtils.cp_r( Dir.glob(File.join( dir_name, "." )), output_dir ) if File.exists?( dir_name )
22
+ end
23
+ end
24
+
25
+ def Uv.init_syntaxes
26
+ @syntaxes = {}
27
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
28
+ @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
29
+ end
30
+ end
31
+
32
+ def Uv.syntaxes
33
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).collect do |f|
34
+ File.basename(f, '.syntax')
35
+ end
36
+ end
37
+
38
+ def Uv.themes
39
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'render', 'xhtml', 'files', 'css', '*.css') ).collect do |f|
40
+ File.basename(f, '.css')
41
+ end
42
+ end
43
+
44
+ def Uv.syntax_for_file file_name
45
+ init_syntaxes unless @syntaxes
46
+ first_line = ""
47
+ File.open( file_name, 'r' ) { |f|
48
+ while (first_line = f.readline).strip.size == 0; end
49
+ }
50
+ result = []
51
+ @syntaxes.each do |key, value|
52
+ assigned = false
53
+ if value.fileTypes
54
+ value.fileTypes.each do |t|
55
+ if t == File.basename( file_name ) || t == File.extname( file_name )[1..-1]
56
+ result << [key, value]
57
+ assigned = true
58
+ break
59
+ end
60
+ end
61
+ end
62
+ unless assigned
63
+ if value.firstLineMatch && value.firstLineMatch =~ first_line
64
+ result << [key, value]
65
+ end
66
+ end
67
+ end
68
+ result
69
+ end
70
+
71
+ def Uv.parse text, output = "xhtml", syntax_name = nil, line_numbers = false, render_style = "classic", headers = false
72
+ init_syntaxes unless @syntaxes
73
+ renderer = File.join( File.dirname(__FILE__), '..',"render", output,"#{render_style}.render")
74
+ raise( ArgumentError, "Output for #{output} is not yet implemented" ) unless File.exists?(renderer)
75
+ css_class = render_style
76
+ render_options = YAML.load( File.open( renderer ) )
77
+ render_processor = RenderProcessor.new( render_options, line_numbers, headers )
78
+ @syntaxes[syntax_name].parse( text, render_processor )
79
+ render_processor.string
80
+ end
81
+
82
+ def Uv.debug text, syntax_name
83
+ unless @syntaxes
84
+ @syntaxes = {}
85
+ Dir.glob( File.join(File.dirname(__FILE__), '..', 'syntax', '*.syntax') ).each do |f|
86
+ @syntaxes[File.basename(f, '.syntax')] = Textpow::SyntaxNode.load( f )
87
+ end
88
+ end
89
+ processor = Textpow::DebugProcessor.new
90
+
91
+ @syntaxes[syntax_name].parse( text, processor )
92
+ end
93
+
94
+ end
@@ -0,0 +1,131 @@
1
+ require 'cgi'
2
+
3
+ module Uv
4
+
5
+
6
+ class RenderProcessor
7
+ @@score_manager = Textpow::ScoreManager.new
8
+
9
+ attr_reader :string
10
+ attr_accessor :escapeHTML
11
+
12
+ def initialize render_options, line_numbers = false, headers = true, score_manager = nil
13
+ @score_manager = score_manager || @@score_manager
14
+ @render_options = render_options
15
+ @options = {}
16
+ @headers = headers
17
+ @line_numbers = line_numbers
18
+ @escapeHTML = true
19
+ end
20
+
21
+ def start_parsing name
22
+ @stack = [name]
23
+ @string = ""
24
+ @line = nil
25
+ @line_number = 0
26
+ print @render_options["document"]["begin"] if @headers
27
+ print @render_options["listing"]["begin"]
28
+ # opt = options @stack
29
+ # print opt["begin"] if opt
30
+ end
31
+
32
+ def print string
33
+ @string << string
34
+ end
35
+
36
+ def escape string
37
+ if @render_options["filter"]
38
+ @escaped = string
39
+ @escaped = self.instance_eval( @render_options["filter"] )
40
+ @escaped
41
+ else
42
+ string
43
+ end
44
+ end
45
+
46
+ def open_tag name, position
47
+ @stack << name
48
+ print escape(@line[@position...position].gsub(/\n|\r/, '')) if position > @position
49
+ @position = position
50
+ opt = options @stack
51
+ print opt["begin"] if opt
52
+ end
53
+
54
+ def close_tag name, position
55
+ print escape(@line[@position...position].gsub(/\n|\r/, '')) if position > @position
56
+ @position = position
57
+ opt = options @stack
58
+ print opt["end"] if opt
59
+ @stack.pop
60
+ end
61
+
62
+ def close_line
63
+ stack = @stack[0..-1]
64
+ while stack.size > 1
65
+ opt = options stack
66
+ print opt["end"] if opt
67
+ stack.pop
68
+ end
69
+ end
70
+
71
+ def open_line
72
+ stack = [@stack.first]
73
+ clone = @stack[1..-1]
74
+ while stack.size < @stack.size
75
+ stack << clone.shift
76
+ opt = options stack
77
+ print opt["begin"] if opt
78
+ end
79
+ end
80
+
81
+ def new_line line
82
+ if @line
83
+ print escape(@line[@position..-1].gsub(/\n|\r/, ''))
84
+ close_line
85
+ print @render_options["line"]["end"]
86
+ print "\n"
87
+ end
88
+ @position = 0
89
+ @line_number += 1
90
+ @line = line
91
+ print @render_options["line"]["begin"]
92
+ if @line_numbers
93
+ print @render_options["line-numbers"]["begin"]
94
+ print @line_number.to_s.rjust(4).ljust(5)
95
+ print @render_options["line-numbers"]["end"]
96
+ print " "
97
+ end
98
+ open_line
99
+ end
100
+
101
+ def end_parsing name
102
+ if @line
103
+ print escape(@line[@position..-1].gsub(/\n|\r/, ''))
104
+ while @stack.size > 1
105
+ opt = options @stack
106
+ print opt["end"] if opt
107
+ @stack.pop
108
+ end
109
+ print @render_options["line"]["end"]
110
+ print "\n"
111
+ end
112
+ # opt = options @stack
113
+ # print opt["end"] if opt
114
+ @stack.pop
115
+ print @render_options["listing"]["end"]
116
+ print @render_options["document"]["end"] if @headers
117
+ end
118
+
119
+ def options stack
120
+ ref = stack.join ' '
121
+ return @options[ref] if @options.has_key? ref
122
+
123
+ result = @render_options['tags'].max do |a, b|
124
+ @score_manager.score( a['selector'], ref ) <=> @score_manager.score( b['selector'], ref )
125
+ end
126
+ result = nil if @score_manager.score( result['selector'], ref ) == 0
127
+ @options[ref] = result
128
+ end
129
+ end
130
+ end
131
+