rouge-alda 3.3.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 (335) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +28 -0
  3. data/LICENSE +186 -0
  4. data/bin/rougify +18 -0
  5. data/lib/rouge/cli.rb +432 -0
  6. data/lib/rouge/demos/abap +6 -0
  7. data/lib/rouge/demos/actionscript +4 -0
  8. data/lib/rouge/demos/alda +10 -0
  9. data/lib/rouge/demos/apache +21 -0
  10. data/lib/rouge/demos/apiblueprint +33 -0
  11. data/lib/rouge/demos/applescript +2 -0
  12. data/lib/rouge/demos/awk +4 -0
  13. data/lib/rouge/demos/biml +38 -0
  14. data/lib/rouge/demos/bsl +7 -0
  15. data/lib/rouge/demos/c +8 -0
  16. data/lib/rouge/demos/ceylon +7 -0
  17. data/lib/rouge/demos/cfscript +18 -0
  18. data/lib/rouge/demos/clojure +5 -0
  19. data/lib/rouge/demos/cmake +7 -0
  20. data/lib/rouge/demos/coffeescript +5 -0
  21. data/lib/rouge/demos/common_lisp +1 -0
  22. data/lib/rouge/demos/conf +4 -0
  23. data/lib/rouge/demos/console +6 -0
  24. data/lib/rouge/demos/coq +13 -0
  25. data/lib/rouge/demos/cpp +8 -0
  26. data/lib/rouge/demos/crystal +45 -0
  27. data/lib/rouge/demos/csharp +5 -0
  28. data/lib/rouge/demos/css +4 -0
  29. data/lib/rouge/demos/d +16 -0
  30. data/lib/rouge/demos/dart +6 -0
  31. data/lib/rouge/demos/diff +7 -0
  32. data/lib/rouge/demos/digdag +19 -0
  33. data/lib/rouge/demos/docker +9 -0
  34. data/lib/rouge/demos/dot +5 -0
  35. data/lib/rouge/demos/eiffel +30 -0
  36. data/lib/rouge/demos/elixir +1 -0
  37. data/lib/rouge/demos/elm +4 -0
  38. data/lib/rouge/demos/erb +1 -0
  39. data/lib/rouge/demos/erlang +7 -0
  40. data/lib/rouge/demos/factor +5 -0
  41. data/lib/rouge/demos/fortran +22 -0
  42. data/lib/rouge/demos/fsharp +12 -0
  43. data/lib/rouge/demos/gherkin +17 -0
  44. data/lib/rouge/demos/glsl +14 -0
  45. data/lib/rouge/demos/go +7 -0
  46. data/lib/rouge/demos/gradle +10 -0
  47. data/lib/rouge/demos/graphql +17 -0
  48. data/lib/rouge/demos/groovy +9 -0
  49. data/lib/rouge/demos/hack +5 -0
  50. data/lib/rouge/demos/haml +5 -0
  51. data/lib/rouge/demos/handlebars +7 -0
  52. data/lib/rouge/demos/haskell +6 -0
  53. data/lib/rouge/demos/hcl +7 -0
  54. data/lib/rouge/demos/html +8 -0
  55. data/lib/rouge/demos/http +14 -0
  56. data/lib/rouge/demos/hylang +10 -0
  57. data/lib/rouge/demos/idlang +8 -0
  58. data/lib/rouge/demos/igorpro +9 -0
  59. data/lib/rouge/demos/ini +4 -0
  60. data/lib/rouge/demos/io +11 -0
  61. data/lib/rouge/demos/irb +4 -0
  62. data/lib/rouge/demos/irb_output +2 -0
  63. data/lib/rouge/demos/java +5 -0
  64. data/lib/rouge/demos/javascript +1 -0
  65. data/lib/rouge/demos/jinja +9 -0
  66. data/lib/rouge/demos/json +1 -0
  67. data/lib/rouge/demos/json-doc +1 -0
  68. data/lib/rouge/demos/jsonnet +28 -0
  69. data/lib/rouge/demos/jsp +29 -0
  70. data/lib/rouge/demos/jsx +17 -0
  71. data/lib/rouge/demos/julia +11 -0
  72. data/lib/rouge/demos/kotlin +3 -0
  73. data/lib/rouge/demos/lasso +12 -0
  74. data/lib/rouge/demos/liquid +11 -0
  75. data/lib/rouge/demos/literate_coffeescript +3 -0
  76. data/lib/rouge/demos/literate_haskell +7 -0
  77. data/lib/rouge/demos/llvm +20 -0
  78. data/lib/rouge/demos/lua +12 -0
  79. data/lib/rouge/demos/m68k +16 -0
  80. data/lib/rouge/demos/make +6 -0
  81. data/lib/rouge/demos/markdown +4 -0
  82. data/lib/rouge/demos/mathematica +8 -0
  83. data/lib/rouge/demos/matlab +6 -0
  84. data/lib/rouge/demos/moonscript +16 -0
  85. data/lib/rouge/demos/mosel +10 -0
  86. data/lib/rouge/demos/mxml +22 -0
  87. data/lib/rouge/demos/nasm +26 -0
  88. data/lib/rouge/demos/nginx +5 -0
  89. data/lib/rouge/demos/nim +27 -0
  90. data/lib/rouge/demos/nix +19 -0
  91. data/lib/rouge/demos/objective_c +18 -0
  92. data/lib/rouge/demos/ocaml +12 -0
  93. data/lib/rouge/demos/pascal +14 -0
  94. data/lib/rouge/demos/perl +5 -0
  95. data/lib/rouge/demos/php +3 -0
  96. data/lib/rouge/demos/plaintext +1 -0
  97. data/lib/rouge/demos/plist +142 -0
  98. data/lib/rouge/demos/pony +17 -0
  99. data/lib/rouge/demos/powershell +49 -0
  100. data/lib/rouge/demos/praat +26 -0
  101. data/lib/rouge/demos/prolog +9 -0
  102. data/lib/rouge/demos/prometheus +9 -0
  103. data/lib/rouge/demos/properties +7 -0
  104. data/lib/rouge/demos/protobuf +5 -0
  105. data/lib/rouge/demos/puppet +6 -0
  106. data/lib/rouge/demos/python +6 -0
  107. data/lib/rouge/demos/q +2 -0
  108. data/lib/rouge/demos/qml +9 -0
  109. data/lib/rouge/demos/r +8 -0
  110. data/lib/rouge/demos/racket +24 -0
  111. data/lib/rouge/demos/ruby +9 -0
  112. data/lib/rouge/demos/rust +12 -0
  113. data/lib/rouge/demos/sass +3 -0
  114. data/lib/rouge/demos/scala +3 -0
  115. data/lib/rouge/demos/scheme +4 -0
  116. data/lib/rouge/demos/scss +5 -0
  117. data/lib/rouge/demos/sed +4 -0
  118. data/lib/rouge/demos/shell +2 -0
  119. data/lib/rouge/demos/sieve +10 -0
  120. data/lib/rouge/demos/slim +17 -0
  121. data/lib/rouge/demos/smalltalk +6 -0
  122. data/lib/rouge/demos/smarty +12 -0
  123. data/lib/rouge/demos/sml +4 -0
  124. data/lib/rouge/demos/sqf +14 -0
  125. data/lib/rouge/demos/sql +1 -0
  126. data/lib/rouge/demos/swift +5 -0
  127. data/lib/rouge/demos/tap +5 -0
  128. data/lib/rouge/demos/tcl +1 -0
  129. data/lib/rouge/demos/terraform +31 -0
  130. data/lib/rouge/demos/tex +1 -0
  131. data/lib/rouge/demos/toml +9 -0
  132. data/lib/rouge/demos/tsx +17 -0
  133. data/lib/rouge/demos/tulip +13 -0
  134. data/lib/rouge/demos/turtle +26 -0
  135. data/lib/rouge/demos/twig +9 -0
  136. data/lib/rouge/demos/typescript +1 -0
  137. data/lib/rouge/demos/vala +8 -0
  138. data/lib/rouge/demos/vb +4 -0
  139. data/lib/rouge/demos/verilog +27 -0
  140. data/lib/rouge/demos/vhdl +23 -0
  141. data/lib/rouge/demos/viml +14 -0
  142. data/lib/rouge/demos/vue +11 -0
  143. data/lib/rouge/demos/wollok +11 -0
  144. data/lib/rouge/demos/xml +2 -0
  145. data/lib/rouge/demos/yaml +4 -0
  146. data/lib/rouge/formatter.rb +76 -0
  147. data/lib/rouge/formatters/html.rb +38 -0
  148. data/lib/rouge/formatters/html_inline.rb +31 -0
  149. data/lib/rouge/formatters/html_legacy.rb +45 -0
  150. data/lib/rouge/formatters/html_linewise.rb +28 -0
  151. data/lib/rouge/formatters/html_pygments.rb +18 -0
  152. data/lib/rouge/formatters/html_table.rb +62 -0
  153. data/lib/rouge/formatters/null.rb +20 -0
  154. data/lib/rouge/formatters/terminal256.rb +181 -0
  155. data/lib/rouge/guesser.rb +57 -0
  156. data/lib/rouge/guessers/disambiguation.rb +106 -0
  157. data/lib/rouge/guessers/filename.rb +27 -0
  158. data/lib/rouge/guessers/glob_mapping.rb +45 -0
  159. data/lib/rouge/guessers/mimetype.rb +16 -0
  160. data/lib/rouge/guessers/modeline.rb +46 -0
  161. data/lib/rouge/guessers/source.rb +31 -0
  162. data/lib/rouge/guessers/util.rb +34 -0
  163. data/lib/rouge/lexer.rb +462 -0
  164. data/lib/rouge/lexers/abap.rb +240 -0
  165. data/lib/rouge/lexers/actionscript.rb +196 -0
  166. data/lib/rouge/lexers/alda.rb +43 -0
  167. data/lib/rouge/lexers/apache/keywords.yml +764 -0
  168. data/lib/rouge/lexers/apache.rb +73 -0
  169. data/lib/rouge/lexers/apiblueprint.rb +49 -0
  170. data/lib/rouge/lexers/apple_script.rb +369 -0
  171. data/lib/rouge/lexers/awk.rb +162 -0
  172. data/lib/rouge/lexers/biml.rb +43 -0
  173. data/lib/rouge/lexers/bsl.rb +82 -0
  174. data/lib/rouge/lexers/c.rb +213 -0
  175. data/lib/rouge/lexers/ceylon.rb +124 -0
  176. data/lib/rouge/lexers/cfscript.rb +154 -0
  177. data/lib/rouge/lexers/clojure.rb +113 -0
  178. data/lib/rouge/lexers/cmake.rb +207 -0
  179. data/lib/rouge/lexers/coffeescript.rb +175 -0
  180. data/lib/rouge/lexers/common_lisp.rb +346 -0
  181. data/lib/rouge/lexers/conf.rb +25 -0
  182. data/lib/rouge/lexers/console.rb +137 -0
  183. data/lib/rouge/lexers/coq.rb +188 -0
  184. data/lib/rouge/lexers/cpp.rb +79 -0
  185. data/lib/rouge/lexers/crystal.rb +430 -0
  186. data/lib/rouge/lexers/csharp.rb +115 -0
  187. data/lib/rouge/lexers/css.rb +274 -0
  188. data/lib/rouge/lexers/d.rb +177 -0
  189. data/lib/rouge/lexers/dart.rb +105 -0
  190. data/lib/rouge/lexers/diff.rb +33 -0
  191. data/lib/rouge/lexers/digdag.rb +70 -0
  192. data/lib/rouge/lexers/docker.rb +51 -0
  193. data/lib/rouge/lexers/dot.rb +69 -0
  194. data/lib/rouge/lexers/eiffel.rb +66 -0
  195. data/lib/rouge/lexers/elixir.rb +134 -0
  196. data/lib/rouge/lexers/elm.rb +90 -0
  197. data/lib/rouge/lexers/erb.rb +53 -0
  198. data/lib/rouge/lexers/erlang.rb +115 -0
  199. data/lib/rouge/lexers/factor.rb +303 -0
  200. data/lib/rouge/lexers/fortran.rb +178 -0
  201. data/lib/rouge/lexers/fsharp.rb +119 -0
  202. data/lib/rouge/lexers/gherkin/keywords.rb +16 -0
  203. data/lib/rouge/lexers/gherkin.rb +138 -0
  204. data/lib/rouge/lexers/glsl.rb +136 -0
  205. data/lib/rouge/lexers/go.rb +175 -0
  206. data/lib/rouge/lexers/gradle.rb +38 -0
  207. data/lib/rouge/lexers/graphql.rb +254 -0
  208. data/lib/rouge/lexers/groovy.rb +113 -0
  209. data/lib/rouge/lexers/hack.rb +49 -0
  210. data/lib/rouge/lexers/haml.rb +230 -0
  211. data/lib/rouge/lexers/handlebars.rb +80 -0
  212. data/lib/rouge/lexers/haskell.rb +198 -0
  213. data/lib/rouge/lexers/hcl.rb +163 -0
  214. data/lib/rouge/lexers/html.rb +140 -0
  215. data/lib/rouge/lexers/http.rb +81 -0
  216. data/lib/rouge/lexers/hylang.rb +94 -0
  217. data/lib/rouge/lexers/idlang.rb +312 -0
  218. data/lib/rouge/lexers/igorpro.rb +664 -0
  219. data/lib/rouge/lexers/ini.rb +54 -0
  220. data/lib/rouge/lexers/io.rb +69 -0
  221. data/lib/rouge/lexers/irb.rb +67 -0
  222. data/lib/rouge/lexers/java.rb +88 -0
  223. data/lib/rouge/lexers/javascript.rb +283 -0
  224. data/lib/rouge/lexers/jinja.rb +138 -0
  225. data/lib/rouge/lexers/json.rb +30 -0
  226. data/lib/rouge/lexers/json_doc.rb +24 -0
  227. data/lib/rouge/lexers/jsonnet.rb +152 -0
  228. data/lib/rouge/lexers/jsp.rb +120 -0
  229. data/lib/rouge/lexers/jsx.rb +104 -0
  230. data/lib/rouge/lexers/julia.rb +167 -0
  231. data/lib/rouge/lexers/kotlin.rb +127 -0
  232. data/lib/rouge/lexers/lasso/keywords.yml +446 -0
  233. data/lib/rouge/lexers/lasso.rb +215 -0
  234. data/lib/rouge/lexers/liquid.rb +288 -0
  235. data/lib/rouge/lexers/literate_coffeescript.rb +34 -0
  236. data/lib/rouge/lexers/literate_haskell.rb +37 -0
  237. data/lib/rouge/lexers/llvm.rb +81 -0
  238. data/lib/rouge/lexers/lua/builtins.rb +24 -0
  239. data/lib/rouge/lexers/lua.rb +126 -0
  240. data/lib/rouge/lexers/m68k.rb +144 -0
  241. data/lib/rouge/lexers/make.rb +113 -0
  242. data/lib/rouge/lexers/markdown.rb +155 -0
  243. data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
  244. data/lib/rouge/lexers/mathematica.rb +96 -0
  245. data/lib/rouge/lexers/matlab/builtins.rb +13 -0
  246. data/lib/rouge/lexers/matlab.rb +72 -0
  247. data/lib/rouge/lexers/moonscript.rb +115 -0
  248. data/lib/rouge/lexers/mosel.rb +232 -0
  249. data/lib/rouge/lexers/mxml.rb +69 -0
  250. data/lib/rouge/lexers/nasm.rb +199 -0
  251. data/lib/rouge/lexers/nginx.rb +72 -0
  252. data/lib/rouge/lexers/nim.rb +153 -0
  253. data/lib/rouge/lexers/nix.rb +211 -0
  254. data/lib/rouge/lexers/objective_c.rb +195 -0
  255. data/lib/rouge/lexers/ocaml.rb +101 -0
  256. data/lib/rouge/lexers/pascal.rb +67 -0
  257. data/lib/rouge/lexers/perl.rb +201 -0
  258. data/lib/rouge/lexers/php/builtins.rb +196 -0
  259. data/lib/rouge/lexers/php.rb +194 -0
  260. data/lib/rouge/lexers/plain_text.rb +27 -0
  261. data/lib/rouge/lexers/plist.rb +47 -0
  262. data/lib/rouge/lexers/pony.rb +94 -0
  263. data/lib/rouge/lexers/powershell.rb +679 -0
  264. data/lib/rouge/lexers/praat.rb +351 -0
  265. data/lib/rouge/lexers/prolog.rb +61 -0
  266. data/lib/rouge/lexers/prometheus.rb +123 -0
  267. data/lib/rouge/lexers/properties.rb +52 -0
  268. data/lib/rouge/lexers/protobuf.rb +71 -0
  269. data/lib/rouge/lexers/puppet.rb +129 -0
  270. data/lib/rouge/lexers/python.rb +247 -0
  271. data/lib/rouge/lexers/q.rb +125 -0
  272. data/lib/rouge/lexers/qml.rb +74 -0
  273. data/lib/rouge/lexers/r.rb +90 -0
  274. data/lib/rouge/lexers/racket.rb +545 -0
  275. data/lib/rouge/lexers/ruby.rb +439 -0
  276. data/lib/rouge/lexers/rust.rb +198 -0
  277. data/lib/rouge/lexers/sass/common.rb +181 -0
  278. data/lib/rouge/lexers/sass.rb +75 -0
  279. data/lib/rouge/lexers/scala.rb +143 -0
  280. data/lib/rouge/lexers/scheme.rb +113 -0
  281. data/lib/rouge/lexers/scss.rb +35 -0
  282. data/lib/rouge/lexers/sed.rb +173 -0
  283. data/lib/rouge/lexers/shell.rb +190 -0
  284. data/lib/rouge/lexers/sieve.rb +97 -0
  285. data/lib/rouge/lexers/slim.rb +229 -0
  286. data/lib/rouge/lexers/smalltalk.rb +117 -0
  287. data/lib/rouge/lexers/smarty.rb +81 -0
  288. data/lib/rouge/lexers/sml.rb +345 -0
  289. data/lib/rouge/lexers/sqf/commands.rb +15 -0
  290. data/lib/rouge/lexers/sqf.rb +109 -0
  291. data/lib/rouge/lexers/sql.rb +141 -0
  292. data/lib/rouge/lexers/swift.rb +182 -0
  293. data/lib/rouge/lexers/tap.rb +89 -0
  294. data/lib/rouge/lexers/tcl.rb +193 -0
  295. data/lib/rouge/lexers/terraform.rb +105 -0
  296. data/lib/rouge/lexers/tex.rb +70 -0
  297. data/lib/rouge/lexers/toml.rb +68 -0
  298. data/lib/rouge/lexers/tsx.rb +20 -0
  299. data/lib/rouge/lexers/tulip.rb +108 -0
  300. data/lib/rouge/lexers/turtle.rb +64 -0
  301. data/lib/rouge/lexers/twig.rb +40 -0
  302. data/lib/rouge/lexers/typescript/common.rb +34 -0
  303. data/lib/rouge/lexers/typescript.rb +23 -0
  304. data/lib/rouge/lexers/vala.rb +78 -0
  305. data/lib/rouge/lexers/vb.rb +165 -0
  306. data/lib/rouge/lexers/verilog.rb +165 -0
  307. data/lib/rouge/lexers/vhdl.rb +98 -0
  308. data/lib/rouge/lexers/viml/keywords.rb +14 -0
  309. data/lib/rouge/lexers/viml.rb +102 -0
  310. data/lib/rouge/lexers/vue.rb +124 -0
  311. data/lib/rouge/lexers/wollok.rb +104 -0
  312. data/lib/rouge/lexers/xml.rb +58 -0
  313. data/lib/rouge/lexers/yaml.rb +374 -0
  314. data/lib/rouge/plugins/redcarpet.rb +31 -0
  315. data/lib/rouge/regex_lexer.rb +442 -0
  316. data/lib/rouge/template_lexer.rb +21 -0
  317. data/lib/rouge/text_analyzer.rb +50 -0
  318. data/lib/rouge/theme.rb +214 -0
  319. data/lib/rouge/themes/base16.rb +131 -0
  320. data/lib/rouge/themes/colorful.rb +68 -0
  321. data/lib/rouge/themes/github.rb +72 -0
  322. data/lib/rouge/themes/gruvbox.rb +168 -0
  323. data/lib/rouge/themes/igor_pro.rb +21 -0
  324. data/lib/rouge/themes/molokai.rb +83 -0
  325. data/lib/rouge/themes/monokai.rb +93 -0
  326. data/lib/rouge/themes/monokai_sublime.rb +92 -0
  327. data/lib/rouge/themes/pastie.rb +70 -0
  328. data/lib/rouge/themes/thankful_eyes.rb +75 -0
  329. data/lib/rouge/themes/tulip.rb +70 -0
  330. data/lib/rouge/token.rb +183 -0
  331. data/lib/rouge/util.rb +102 -0
  332. data/lib/rouge/version.rb +8 -0
  333. data/lib/rouge.rb +84 -0
  334. data/rouge.gemspec +25 -0
  335. metadata +384 -0
data/lib/rouge/util.rb ADDED
@@ -0,0 +1,102 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ class InheritableHash < Hash
6
+ def initialize(parent=nil)
7
+ @parent = parent
8
+ end
9
+
10
+ def [](k)
11
+ value = super
12
+ return value if own_keys.include?(k)
13
+
14
+ value || parent[k]
15
+ end
16
+
17
+ def parent
18
+ @parent ||= {}
19
+ end
20
+
21
+ def include?(k)
22
+ super or parent.include?(k)
23
+ end
24
+
25
+ def each(&b)
26
+ keys.each do |k|
27
+ b.call(k, self[k])
28
+ end
29
+ end
30
+
31
+ alias own_keys keys
32
+ def keys
33
+ keys = own_keys.concat(parent.keys)
34
+ keys.uniq!
35
+ keys
36
+ end
37
+ end
38
+
39
+ class InheritableList
40
+ include Enumerable
41
+
42
+ def initialize(parent=nil)
43
+ @parent = parent
44
+ end
45
+
46
+ def parent
47
+ @parent ||= []
48
+ end
49
+
50
+ def each(&b)
51
+ return enum_for(:each) unless block_given?
52
+
53
+ parent.each(&b)
54
+ own_entries.each(&b)
55
+ end
56
+
57
+ def own_entries
58
+ @own_entries ||= []
59
+ end
60
+
61
+ def push(o)
62
+ own_entries << o
63
+ end
64
+ alias << push
65
+ end
66
+
67
+ # shared methods for some indentation-sensitive lexers
68
+ module Indentation
69
+ def reset!
70
+ super
71
+ @block_state = @block_indentation = nil
72
+ end
73
+
74
+ # push a state for the next indented block
75
+ def starts_block(block_state)
76
+ @block_state = block_state
77
+ @block_indentation = @last_indentation || ''
78
+ puts " starts_block #{block_state.inspect}" if @debug
79
+ puts " block_indentation: #{@block_indentation.inspect}" if @debug
80
+ end
81
+
82
+ # handle a single indented line
83
+ def indentation(indent_str)
84
+ puts " indentation #{indent_str.inspect}" if @debug
85
+ puts " block_indentation: #{@block_indentation.inspect}" if @debug
86
+ @last_indentation = indent_str
87
+
88
+ # if it's an indent and we know where to go next,
89
+ # push that state. otherwise, push content and
90
+ # clear the block state.
91
+ if (@block_state &&
92
+ indent_str.start_with?(@block_indentation) &&
93
+ indent_str != @block_indentation
94
+ )
95
+ push @block_state
96
+ else
97
+ @block_state = @block_indentation = nil
98
+ push :content
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,8 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ def self.version
6
+ "3.3.0"
7
+ end
8
+ end
data/lib/rouge.rb ADDED
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ # stdlib
5
+ require 'pathname'
6
+
7
+ # The containing module for Rouge
8
+ module Rouge
9
+ class << self
10
+ def reload!
11
+ Object.send :remove_const, :Rouge
12
+ load __FILE__
13
+ end
14
+
15
+ # Highlight some text with a given lexer and formatter.
16
+ #
17
+ # @example
18
+ # Rouge.highlight('@foo = 1', 'ruby', 'html')
19
+ # Rouge.highlight('var foo = 1;', 'js', 'terminal256')
20
+ #
21
+ # # streaming - chunks become available as they are lexed
22
+ # Rouge.highlight(large_string, 'ruby', 'html') do |chunk|
23
+ # $stdout.print chunk
24
+ # end
25
+ def highlight(text, lexer, formatter, &b)
26
+ lexer = Lexer.find(lexer) unless lexer.respond_to? :lex
27
+ raise "unknown lexer #{lexer}" unless lexer
28
+
29
+ formatter = Formatter.find(formatter) unless formatter.respond_to? :format
30
+ raise "unknown formatter #{formatter}" unless formatter
31
+
32
+ formatter.format(lexer.lex(text), &b)
33
+ end
34
+ end
35
+ end
36
+
37
+ load_dir = Pathname.new(__FILE__).dirname
38
+ load load_dir.join('rouge/version.rb')
39
+
40
+ load load_dir.join('rouge/util.rb')
41
+
42
+ load load_dir.join('rouge/text_analyzer.rb')
43
+ load load_dir.join('rouge/token.rb')
44
+
45
+ load load_dir.join('rouge/lexer.rb')
46
+ load load_dir.join('rouge/regex_lexer.rb')
47
+ load load_dir.join('rouge/template_lexer.rb')
48
+
49
+ lexers_dir = load_dir.join('rouge/lexers')
50
+ Dir.glob(lexers_dir.join('*.rb')).each do |f|
51
+ Rouge::Lexers.load_lexer(Pathname.new(f).relative_path_from(lexers_dir).to_s)
52
+ end
53
+
54
+ load load_dir.join('rouge/guesser.rb')
55
+ load load_dir.join('rouge/guessers/util.rb')
56
+ load load_dir.join('rouge/guessers/glob_mapping.rb')
57
+ load load_dir.join('rouge/guessers/modeline.rb')
58
+ load load_dir.join('rouge/guessers/filename.rb')
59
+ load load_dir.join('rouge/guessers/mimetype.rb')
60
+ load load_dir.join('rouge/guessers/source.rb')
61
+ load load_dir.join('rouge/guessers/disambiguation.rb')
62
+
63
+ load load_dir.join('rouge/formatter.rb')
64
+ load load_dir.join('rouge/formatters/html.rb')
65
+ load load_dir.join('rouge/formatters/html_table.rb')
66
+ load load_dir.join('rouge/formatters/html_pygments.rb')
67
+ load load_dir.join('rouge/formatters/html_legacy.rb')
68
+ load load_dir.join('rouge/formatters/html_linewise.rb')
69
+ load load_dir.join('rouge/formatters/html_inline.rb')
70
+ load load_dir.join('rouge/formatters/terminal256.rb')
71
+ load load_dir.join('rouge/formatters/null.rb')
72
+
73
+ load load_dir.join('rouge/theme.rb')
74
+ load load_dir.join('rouge/themes/thankful_eyes.rb')
75
+ load load_dir.join('rouge/themes/colorful.rb')
76
+ load load_dir.join('rouge/themes/base16.rb')
77
+ load load_dir.join('rouge/themes/github.rb')
78
+ load load_dir.join('rouge/themes/igor_pro.rb')
79
+ load load_dir.join('rouge/themes/monokai.rb')
80
+ load load_dir.join('rouge/themes/molokai.rb')
81
+ load load_dir.join('rouge/themes/monokai_sublime.rb')
82
+ load load_dir.join('rouge/themes/gruvbox.rb')
83
+ load load_dir.join('rouge/themes/tulip.rb')
84
+ load load_dir.join('rouge/themes/pastie.rb')
data/rouge.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require './lib/rouge/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "rouge-alda"
7
+ s.version = Rouge.version
8
+ s.authors = ["Jeanine Adkisson", "Andrew Hill"]
9
+ s.email = ["jneen@jneen.net", "andrew@andrewkhill.com"]
10
+ s.summary = "A pure-ruby colorizer based on pygments"
11
+ s.description = <<-desc.strip.gsub(/\s+/, ' ')
12
+ Rouge aims to a be a simple, easy-to-extend drop-in replacement
13
+ for pygments. This fork includes support for the Alda language
14
+ desc
15
+ s.homepage = "http://rouge.jneen.net/"
16
+ s.rubyforge_project = "rouge"
17
+ s.files = Dir['Gemfile', 'LICENSE', 'rouge.gemspec', 'lib/**/*.rb', 'lib/**/*.yml', 'bin/rougify', 'lib/rouge/demos/*']
18
+ s.executables = %w(rougify)
19
+ s.licenses = ['MIT', 'BSD-2-Clause']
20
+ s.required_ruby_version = '>= 2.0'
21
+ s.metadata = {
22
+ 'source_code_uri' => 'https://github.com/astroengisci/rouge/tree/feature.alda',
23
+ 'changelog_uri' => 'https://github.com/jneen/rouge/blob/master/CHANGELOG.md'
24
+ }
25
+ end
metadata ADDED
@@ -0,0 +1,384 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rouge-alda
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Jeanine Adkisson
8
+ - Andrew Hill
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-10-11 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Rouge aims to a be a simple, easy-to-extend drop-in replacement for pygments.
15
+ This fork includes support for the Alda language
16
+ email:
17
+ - jneen@jneen.net
18
+ - andrew@andrewkhill.com
19
+ executables:
20
+ - rougify
21
+ extensions: []
22
+ extra_rdoc_files: []
23
+ files:
24
+ - Gemfile
25
+ - LICENSE
26
+ - bin/rougify
27
+ - lib/rouge.rb
28
+ - lib/rouge/cli.rb
29
+ - lib/rouge/demos/abap
30
+ - lib/rouge/demos/actionscript
31
+ - lib/rouge/demos/alda
32
+ - lib/rouge/demos/apache
33
+ - lib/rouge/demos/apiblueprint
34
+ - lib/rouge/demos/applescript
35
+ - lib/rouge/demos/awk
36
+ - lib/rouge/demos/biml
37
+ - lib/rouge/demos/bsl
38
+ - lib/rouge/demos/c
39
+ - lib/rouge/demos/ceylon
40
+ - lib/rouge/demos/cfscript
41
+ - lib/rouge/demos/clojure
42
+ - lib/rouge/demos/cmake
43
+ - lib/rouge/demos/coffeescript
44
+ - lib/rouge/demos/common_lisp
45
+ - lib/rouge/demos/conf
46
+ - lib/rouge/demos/console
47
+ - lib/rouge/demos/coq
48
+ - lib/rouge/demos/cpp
49
+ - lib/rouge/demos/crystal
50
+ - lib/rouge/demos/csharp
51
+ - lib/rouge/demos/css
52
+ - lib/rouge/demos/d
53
+ - lib/rouge/demos/dart
54
+ - lib/rouge/demos/diff
55
+ - lib/rouge/demos/digdag
56
+ - lib/rouge/demos/docker
57
+ - lib/rouge/demos/dot
58
+ - lib/rouge/demos/eiffel
59
+ - lib/rouge/demos/elixir
60
+ - lib/rouge/demos/elm
61
+ - lib/rouge/demos/erb
62
+ - lib/rouge/demos/erlang
63
+ - lib/rouge/demos/factor
64
+ - lib/rouge/demos/fortran
65
+ - lib/rouge/demos/fsharp
66
+ - lib/rouge/demos/gherkin
67
+ - lib/rouge/demos/glsl
68
+ - lib/rouge/demos/go
69
+ - lib/rouge/demos/gradle
70
+ - lib/rouge/demos/graphql
71
+ - lib/rouge/demos/groovy
72
+ - lib/rouge/demos/hack
73
+ - lib/rouge/demos/haml
74
+ - lib/rouge/demos/handlebars
75
+ - lib/rouge/demos/haskell
76
+ - lib/rouge/demos/hcl
77
+ - lib/rouge/demos/html
78
+ - lib/rouge/demos/http
79
+ - lib/rouge/demos/hylang
80
+ - lib/rouge/demos/idlang
81
+ - lib/rouge/demos/igorpro
82
+ - lib/rouge/demos/ini
83
+ - lib/rouge/demos/io
84
+ - lib/rouge/demos/irb
85
+ - lib/rouge/demos/irb_output
86
+ - lib/rouge/demos/java
87
+ - lib/rouge/demos/javascript
88
+ - lib/rouge/demos/jinja
89
+ - lib/rouge/demos/json
90
+ - lib/rouge/demos/json-doc
91
+ - lib/rouge/demos/jsonnet
92
+ - lib/rouge/demos/jsp
93
+ - lib/rouge/demos/jsx
94
+ - lib/rouge/demos/julia
95
+ - lib/rouge/demos/kotlin
96
+ - lib/rouge/demos/lasso
97
+ - lib/rouge/demos/liquid
98
+ - lib/rouge/demos/literate_coffeescript
99
+ - lib/rouge/demos/literate_haskell
100
+ - lib/rouge/demos/llvm
101
+ - lib/rouge/demos/lua
102
+ - lib/rouge/demos/m68k
103
+ - lib/rouge/demos/make
104
+ - lib/rouge/demos/markdown
105
+ - lib/rouge/demos/mathematica
106
+ - lib/rouge/demos/matlab
107
+ - lib/rouge/demos/moonscript
108
+ - lib/rouge/demos/mosel
109
+ - lib/rouge/demos/mxml
110
+ - lib/rouge/demos/nasm
111
+ - lib/rouge/demos/nginx
112
+ - lib/rouge/demos/nim
113
+ - lib/rouge/demos/nix
114
+ - lib/rouge/demos/objective_c
115
+ - lib/rouge/demos/ocaml
116
+ - lib/rouge/demos/pascal
117
+ - lib/rouge/demos/perl
118
+ - lib/rouge/demos/php
119
+ - lib/rouge/demos/plaintext
120
+ - lib/rouge/demos/plist
121
+ - lib/rouge/demos/pony
122
+ - lib/rouge/demos/powershell
123
+ - lib/rouge/demos/praat
124
+ - lib/rouge/demos/prolog
125
+ - lib/rouge/demos/prometheus
126
+ - lib/rouge/demos/properties
127
+ - lib/rouge/demos/protobuf
128
+ - lib/rouge/demos/puppet
129
+ - lib/rouge/demos/python
130
+ - lib/rouge/demos/q
131
+ - lib/rouge/demos/qml
132
+ - lib/rouge/demos/r
133
+ - lib/rouge/demos/racket
134
+ - lib/rouge/demos/ruby
135
+ - lib/rouge/demos/rust
136
+ - lib/rouge/demos/sass
137
+ - lib/rouge/demos/scala
138
+ - lib/rouge/demos/scheme
139
+ - lib/rouge/demos/scss
140
+ - lib/rouge/demos/sed
141
+ - lib/rouge/demos/shell
142
+ - lib/rouge/demos/sieve
143
+ - lib/rouge/demos/slim
144
+ - lib/rouge/demos/smalltalk
145
+ - lib/rouge/demos/smarty
146
+ - lib/rouge/demos/sml
147
+ - lib/rouge/demos/sqf
148
+ - lib/rouge/demos/sql
149
+ - lib/rouge/demos/swift
150
+ - lib/rouge/demos/tap
151
+ - lib/rouge/demos/tcl
152
+ - lib/rouge/demos/terraform
153
+ - lib/rouge/demos/tex
154
+ - lib/rouge/demos/toml
155
+ - lib/rouge/demos/tsx
156
+ - lib/rouge/demos/tulip
157
+ - lib/rouge/demos/turtle
158
+ - lib/rouge/demos/twig
159
+ - lib/rouge/demos/typescript
160
+ - lib/rouge/demos/vala
161
+ - lib/rouge/demos/vb
162
+ - lib/rouge/demos/verilog
163
+ - lib/rouge/demos/vhdl
164
+ - lib/rouge/demos/viml
165
+ - lib/rouge/demos/vue
166
+ - lib/rouge/demos/wollok
167
+ - lib/rouge/demos/xml
168
+ - lib/rouge/demos/yaml
169
+ - lib/rouge/formatter.rb
170
+ - lib/rouge/formatters/html.rb
171
+ - lib/rouge/formatters/html_inline.rb
172
+ - lib/rouge/formatters/html_legacy.rb
173
+ - lib/rouge/formatters/html_linewise.rb
174
+ - lib/rouge/formatters/html_pygments.rb
175
+ - lib/rouge/formatters/html_table.rb
176
+ - lib/rouge/formatters/null.rb
177
+ - lib/rouge/formatters/terminal256.rb
178
+ - lib/rouge/guesser.rb
179
+ - lib/rouge/guessers/disambiguation.rb
180
+ - lib/rouge/guessers/filename.rb
181
+ - lib/rouge/guessers/glob_mapping.rb
182
+ - lib/rouge/guessers/mimetype.rb
183
+ - lib/rouge/guessers/modeline.rb
184
+ - lib/rouge/guessers/source.rb
185
+ - lib/rouge/guessers/util.rb
186
+ - lib/rouge/lexer.rb
187
+ - lib/rouge/lexers/abap.rb
188
+ - lib/rouge/lexers/actionscript.rb
189
+ - lib/rouge/lexers/alda.rb
190
+ - lib/rouge/lexers/apache.rb
191
+ - lib/rouge/lexers/apache/keywords.yml
192
+ - lib/rouge/lexers/apiblueprint.rb
193
+ - lib/rouge/lexers/apple_script.rb
194
+ - lib/rouge/lexers/awk.rb
195
+ - lib/rouge/lexers/biml.rb
196
+ - lib/rouge/lexers/bsl.rb
197
+ - lib/rouge/lexers/c.rb
198
+ - lib/rouge/lexers/ceylon.rb
199
+ - lib/rouge/lexers/cfscript.rb
200
+ - lib/rouge/lexers/clojure.rb
201
+ - lib/rouge/lexers/cmake.rb
202
+ - lib/rouge/lexers/coffeescript.rb
203
+ - lib/rouge/lexers/common_lisp.rb
204
+ - lib/rouge/lexers/conf.rb
205
+ - lib/rouge/lexers/console.rb
206
+ - lib/rouge/lexers/coq.rb
207
+ - lib/rouge/lexers/cpp.rb
208
+ - lib/rouge/lexers/crystal.rb
209
+ - lib/rouge/lexers/csharp.rb
210
+ - lib/rouge/lexers/css.rb
211
+ - lib/rouge/lexers/d.rb
212
+ - lib/rouge/lexers/dart.rb
213
+ - lib/rouge/lexers/diff.rb
214
+ - lib/rouge/lexers/digdag.rb
215
+ - lib/rouge/lexers/docker.rb
216
+ - lib/rouge/lexers/dot.rb
217
+ - lib/rouge/lexers/eiffel.rb
218
+ - lib/rouge/lexers/elixir.rb
219
+ - lib/rouge/lexers/elm.rb
220
+ - lib/rouge/lexers/erb.rb
221
+ - lib/rouge/lexers/erlang.rb
222
+ - lib/rouge/lexers/factor.rb
223
+ - lib/rouge/lexers/fortran.rb
224
+ - lib/rouge/lexers/fsharp.rb
225
+ - lib/rouge/lexers/gherkin.rb
226
+ - lib/rouge/lexers/gherkin/keywords.rb
227
+ - lib/rouge/lexers/glsl.rb
228
+ - lib/rouge/lexers/go.rb
229
+ - lib/rouge/lexers/gradle.rb
230
+ - lib/rouge/lexers/graphql.rb
231
+ - lib/rouge/lexers/groovy.rb
232
+ - lib/rouge/lexers/hack.rb
233
+ - lib/rouge/lexers/haml.rb
234
+ - lib/rouge/lexers/handlebars.rb
235
+ - lib/rouge/lexers/haskell.rb
236
+ - lib/rouge/lexers/hcl.rb
237
+ - lib/rouge/lexers/html.rb
238
+ - lib/rouge/lexers/http.rb
239
+ - lib/rouge/lexers/hylang.rb
240
+ - lib/rouge/lexers/idlang.rb
241
+ - lib/rouge/lexers/igorpro.rb
242
+ - lib/rouge/lexers/ini.rb
243
+ - lib/rouge/lexers/io.rb
244
+ - lib/rouge/lexers/irb.rb
245
+ - lib/rouge/lexers/java.rb
246
+ - lib/rouge/lexers/javascript.rb
247
+ - lib/rouge/lexers/jinja.rb
248
+ - lib/rouge/lexers/json.rb
249
+ - lib/rouge/lexers/json_doc.rb
250
+ - lib/rouge/lexers/jsonnet.rb
251
+ - lib/rouge/lexers/jsp.rb
252
+ - lib/rouge/lexers/jsx.rb
253
+ - lib/rouge/lexers/julia.rb
254
+ - lib/rouge/lexers/kotlin.rb
255
+ - lib/rouge/lexers/lasso.rb
256
+ - lib/rouge/lexers/lasso/keywords.yml
257
+ - lib/rouge/lexers/liquid.rb
258
+ - lib/rouge/lexers/literate_coffeescript.rb
259
+ - lib/rouge/lexers/literate_haskell.rb
260
+ - lib/rouge/lexers/llvm.rb
261
+ - lib/rouge/lexers/lua.rb
262
+ - lib/rouge/lexers/lua/builtins.rb
263
+ - lib/rouge/lexers/m68k.rb
264
+ - lib/rouge/lexers/make.rb
265
+ - lib/rouge/lexers/markdown.rb
266
+ - lib/rouge/lexers/mathematica.rb
267
+ - lib/rouge/lexers/mathematica/builtins.rb
268
+ - lib/rouge/lexers/matlab.rb
269
+ - lib/rouge/lexers/matlab/builtins.rb
270
+ - lib/rouge/lexers/moonscript.rb
271
+ - lib/rouge/lexers/mosel.rb
272
+ - lib/rouge/lexers/mxml.rb
273
+ - lib/rouge/lexers/nasm.rb
274
+ - lib/rouge/lexers/nginx.rb
275
+ - lib/rouge/lexers/nim.rb
276
+ - lib/rouge/lexers/nix.rb
277
+ - lib/rouge/lexers/objective_c.rb
278
+ - lib/rouge/lexers/ocaml.rb
279
+ - lib/rouge/lexers/pascal.rb
280
+ - lib/rouge/lexers/perl.rb
281
+ - lib/rouge/lexers/php.rb
282
+ - lib/rouge/lexers/php/builtins.rb
283
+ - lib/rouge/lexers/plain_text.rb
284
+ - lib/rouge/lexers/plist.rb
285
+ - lib/rouge/lexers/pony.rb
286
+ - lib/rouge/lexers/powershell.rb
287
+ - lib/rouge/lexers/praat.rb
288
+ - lib/rouge/lexers/prolog.rb
289
+ - lib/rouge/lexers/prometheus.rb
290
+ - lib/rouge/lexers/properties.rb
291
+ - lib/rouge/lexers/protobuf.rb
292
+ - lib/rouge/lexers/puppet.rb
293
+ - lib/rouge/lexers/python.rb
294
+ - lib/rouge/lexers/q.rb
295
+ - lib/rouge/lexers/qml.rb
296
+ - lib/rouge/lexers/r.rb
297
+ - lib/rouge/lexers/racket.rb
298
+ - lib/rouge/lexers/ruby.rb
299
+ - lib/rouge/lexers/rust.rb
300
+ - lib/rouge/lexers/sass.rb
301
+ - lib/rouge/lexers/sass/common.rb
302
+ - lib/rouge/lexers/scala.rb
303
+ - lib/rouge/lexers/scheme.rb
304
+ - lib/rouge/lexers/scss.rb
305
+ - lib/rouge/lexers/sed.rb
306
+ - lib/rouge/lexers/shell.rb
307
+ - lib/rouge/lexers/sieve.rb
308
+ - lib/rouge/lexers/slim.rb
309
+ - lib/rouge/lexers/smalltalk.rb
310
+ - lib/rouge/lexers/smarty.rb
311
+ - lib/rouge/lexers/sml.rb
312
+ - lib/rouge/lexers/sqf.rb
313
+ - lib/rouge/lexers/sqf/commands.rb
314
+ - lib/rouge/lexers/sql.rb
315
+ - lib/rouge/lexers/swift.rb
316
+ - lib/rouge/lexers/tap.rb
317
+ - lib/rouge/lexers/tcl.rb
318
+ - lib/rouge/lexers/terraform.rb
319
+ - lib/rouge/lexers/tex.rb
320
+ - lib/rouge/lexers/toml.rb
321
+ - lib/rouge/lexers/tsx.rb
322
+ - lib/rouge/lexers/tulip.rb
323
+ - lib/rouge/lexers/turtle.rb
324
+ - lib/rouge/lexers/twig.rb
325
+ - lib/rouge/lexers/typescript.rb
326
+ - lib/rouge/lexers/typescript/common.rb
327
+ - lib/rouge/lexers/vala.rb
328
+ - lib/rouge/lexers/vb.rb
329
+ - lib/rouge/lexers/verilog.rb
330
+ - lib/rouge/lexers/vhdl.rb
331
+ - lib/rouge/lexers/viml.rb
332
+ - lib/rouge/lexers/viml/keywords.rb
333
+ - lib/rouge/lexers/vue.rb
334
+ - lib/rouge/lexers/wollok.rb
335
+ - lib/rouge/lexers/xml.rb
336
+ - lib/rouge/lexers/yaml.rb
337
+ - lib/rouge/plugins/redcarpet.rb
338
+ - lib/rouge/regex_lexer.rb
339
+ - lib/rouge/template_lexer.rb
340
+ - lib/rouge/text_analyzer.rb
341
+ - lib/rouge/theme.rb
342
+ - lib/rouge/themes/base16.rb
343
+ - lib/rouge/themes/colorful.rb
344
+ - lib/rouge/themes/github.rb
345
+ - lib/rouge/themes/gruvbox.rb
346
+ - lib/rouge/themes/igor_pro.rb
347
+ - lib/rouge/themes/molokai.rb
348
+ - lib/rouge/themes/monokai.rb
349
+ - lib/rouge/themes/monokai_sublime.rb
350
+ - lib/rouge/themes/pastie.rb
351
+ - lib/rouge/themes/thankful_eyes.rb
352
+ - lib/rouge/themes/tulip.rb
353
+ - lib/rouge/token.rb
354
+ - lib/rouge/util.rb
355
+ - lib/rouge/version.rb
356
+ - rouge.gemspec
357
+ homepage: http://rouge.jneen.net/
358
+ licenses:
359
+ - MIT
360
+ - BSD-2-Clause
361
+ metadata:
362
+ source_code_uri: https://github.com/astroengisci/rouge/tree/feature.alda
363
+ changelog_uri: https://github.com/jneen/rouge/blob/master/CHANGELOG.md
364
+ post_install_message:
365
+ rdoc_options: []
366
+ require_paths:
367
+ - lib
368
+ required_ruby_version: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - ">="
371
+ - !ruby/object:Gem::Version
372
+ version: '2.0'
373
+ required_rubygems_version: !ruby/object:Gem::Requirement
374
+ requirements:
375
+ - - ">="
376
+ - !ruby/object:Gem::Version
377
+ version: '0'
378
+ requirements: []
379
+ rubyforge_project: rouge
380
+ rubygems_version: 2.7.6
381
+ signing_key:
382
+ specification_version: 4
383
+ summary: A pure-ruby colorizer based on pygments
384
+ test_files: []