rouge 3.18.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 (444) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +40 -0
  3. data/LICENSE +186 -0
  4. data/bin/rougify +18 -0
  5. data/lib/rouge.rb +107 -0
  6. data/lib/rouge/cli.rb +498 -0
  7. data/lib/rouge/demos/abap +6 -0
  8. data/lib/rouge/demos/actionscript +4 -0
  9. data/lib/rouge/demos/ada +26 -0
  10. data/lib/rouge/demos/apache +21 -0
  11. data/lib/rouge/demos/apex +9 -0
  12. data/lib/rouge/demos/apiblueprint +33 -0
  13. data/lib/rouge/demos/applescript +2 -0
  14. data/lib/rouge/demos/armasm +12 -0
  15. data/lib/rouge/demos/awk +4 -0
  16. data/lib/rouge/demos/batchfile +3 -0
  17. data/lib/rouge/demos/bbcbasic +6 -0
  18. data/lib/rouge/demos/biml +38 -0
  19. data/lib/rouge/demos/bpf +7 -0
  20. data/lib/rouge/demos/brainfuck +5 -0
  21. data/lib/rouge/demos/bsl +7 -0
  22. data/lib/rouge/demos/c +8 -0
  23. data/lib/rouge/demos/ceylon +7 -0
  24. data/lib/rouge/demos/cfscript +18 -0
  25. data/lib/rouge/demos/clean +6 -0
  26. data/lib/rouge/demos/clojure +5 -0
  27. data/lib/rouge/demos/cmake +7 -0
  28. data/lib/rouge/demos/cmhg +8 -0
  29. data/lib/rouge/demos/coffeescript +5 -0
  30. data/lib/rouge/demos/common_lisp +1 -0
  31. data/lib/rouge/demos/conf +4 -0
  32. data/lib/rouge/demos/console +6 -0
  33. data/lib/rouge/demos/coq +13 -0
  34. data/lib/rouge/demos/cpp +8 -0
  35. data/lib/rouge/demos/crystal +45 -0
  36. data/lib/rouge/demos/csharp +5 -0
  37. data/lib/rouge/demos/css +4 -0
  38. data/lib/rouge/demos/csvs +8 -0
  39. data/lib/rouge/demos/cuda +11 -0
  40. data/lib/rouge/demos/cypher +5 -0
  41. data/lib/rouge/demos/cython +6 -0
  42. data/lib/rouge/demos/d +16 -0
  43. data/lib/rouge/demos/dart +6 -0
  44. data/lib/rouge/demos/datastudio +21 -0
  45. data/lib/rouge/demos/diff +7 -0
  46. data/lib/rouge/demos/digdag +19 -0
  47. data/lib/rouge/demos/docker +9 -0
  48. data/lib/rouge/demos/dot +5 -0
  49. data/lib/rouge/demos/ecl +18 -0
  50. data/lib/rouge/demos/eex +1 -0
  51. data/lib/rouge/demos/eiffel +30 -0
  52. data/lib/rouge/demos/elixir +1 -0
  53. data/lib/rouge/demos/elm +4 -0
  54. data/lib/rouge/demos/epp +4 -0
  55. data/lib/rouge/demos/erb +1 -0
  56. data/lib/rouge/demos/erlang +7 -0
  57. data/lib/rouge/demos/escape +3 -0
  58. data/lib/rouge/demos/factor +5 -0
  59. data/lib/rouge/demos/fortran +22 -0
  60. data/lib/rouge/demos/freefem +16 -0
  61. data/lib/rouge/demos/fsharp +12 -0
  62. data/lib/rouge/demos/gdscript +18 -0
  63. data/lib/rouge/demos/ghc-cmm +23 -0
  64. data/lib/rouge/demos/ghc-core +26 -0
  65. data/lib/rouge/demos/gherkin +17 -0
  66. data/lib/rouge/demos/glsl +14 -0
  67. data/lib/rouge/demos/go +7 -0
  68. data/lib/rouge/demos/gradle +10 -0
  69. data/lib/rouge/demos/graphql +17 -0
  70. data/lib/rouge/demos/groovy +9 -0
  71. data/lib/rouge/demos/hack +5 -0
  72. data/lib/rouge/demos/haml +5 -0
  73. data/lib/rouge/demos/handlebars +7 -0
  74. data/lib/rouge/demos/haskell +6 -0
  75. data/lib/rouge/demos/haxe +5 -0
  76. data/lib/rouge/demos/hcl +7 -0
  77. data/lib/rouge/demos/hocon +8 -0
  78. data/lib/rouge/demos/hql +5 -0
  79. data/lib/rouge/demos/html +8 -0
  80. data/lib/rouge/demos/http +14 -0
  81. data/lib/rouge/demos/hylang +10 -0
  82. data/lib/rouge/demos/idlang +8 -0
  83. data/lib/rouge/demos/igorpro +9 -0
  84. data/lib/rouge/demos/ini +4 -0
  85. data/lib/rouge/demos/io +11 -0
  86. data/lib/rouge/demos/irb +4 -0
  87. data/lib/rouge/demos/irb_output +2 -0
  88. data/lib/rouge/demos/isbl +4 -0
  89. data/lib/rouge/demos/java +5 -0
  90. data/lib/rouge/demos/javascript +1 -0
  91. data/lib/rouge/demos/jinja +9 -0
  92. data/lib/rouge/demos/jsl +3 -0
  93. data/lib/rouge/demos/json +1 -0
  94. data/lib/rouge/demos/json-doc +1 -0
  95. data/lib/rouge/demos/jsonnet +28 -0
  96. data/lib/rouge/demos/jsp +29 -0
  97. data/lib/rouge/demos/jsx +17 -0
  98. data/lib/rouge/demos/julia +11 -0
  99. data/lib/rouge/demos/kotlin +3 -0
  100. data/lib/rouge/demos/lasso +12 -0
  101. data/lib/rouge/demos/liquid +10 -0
  102. data/lib/rouge/demos/literate_coffeescript +3 -0
  103. data/lib/rouge/demos/literate_haskell +7 -0
  104. data/lib/rouge/demos/llvm +20 -0
  105. data/lib/rouge/demos/lua +12 -0
  106. data/lib/rouge/demos/lustre +6 -0
  107. data/lib/rouge/demos/lutin +18 -0
  108. data/lib/rouge/demos/m68k +16 -0
  109. data/lib/rouge/demos/magik +6 -0
  110. data/lib/rouge/demos/make +6 -0
  111. data/lib/rouge/demos/markdown +4 -0
  112. data/lib/rouge/demos/mason +22 -0
  113. data/lib/rouge/demos/mathematica +8 -0
  114. data/lib/rouge/demos/matlab +6 -0
  115. data/lib/rouge/demos/minizinc +23 -0
  116. data/lib/rouge/demos/moonscript +16 -0
  117. data/lib/rouge/demos/mosel +10 -0
  118. data/lib/rouge/demos/msgtrans +4 -0
  119. data/lib/rouge/demos/mxml +22 -0
  120. data/lib/rouge/demos/nasm +26 -0
  121. data/lib/rouge/demos/nesasm +11 -0
  122. data/lib/rouge/demos/nginx +5 -0
  123. data/lib/rouge/demos/nim +27 -0
  124. data/lib/rouge/demos/nix +19 -0
  125. data/lib/rouge/demos/objective_c +18 -0
  126. data/lib/rouge/demos/objective_cpp +17 -0
  127. data/lib/rouge/demos/ocaml +12 -0
  128. data/lib/rouge/demos/openedge +4 -0
  129. data/lib/rouge/demos/opentype_feature_file +6 -0
  130. data/lib/rouge/demos/pascal +14 -0
  131. data/lib/rouge/demos/perl +5 -0
  132. data/lib/rouge/demos/php +3 -0
  133. data/lib/rouge/demos/plaintext +1 -0
  134. data/lib/rouge/demos/plist +11 -0
  135. data/lib/rouge/demos/pony +17 -0
  136. data/lib/rouge/demos/powershell +13 -0
  137. data/lib/rouge/demos/praat +26 -0
  138. data/lib/rouge/demos/prolog +9 -0
  139. data/lib/rouge/demos/prometheus +9 -0
  140. data/lib/rouge/demos/properties +7 -0
  141. data/lib/rouge/demos/protobuf +5 -0
  142. data/lib/rouge/demos/puppet +6 -0
  143. data/lib/rouge/demos/python +6 -0
  144. data/lib/rouge/demos/q +8 -0
  145. data/lib/rouge/demos/qml +9 -0
  146. data/lib/rouge/demos/r +8 -0
  147. data/lib/rouge/demos/racket +24 -0
  148. data/lib/rouge/demos/reasonml +12 -0
  149. data/lib/rouge/demos/rego +8 -0
  150. data/lib/rouge/demos/robot_framework +27 -0
  151. data/lib/rouge/demos/ruby +9 -0
  152. data/lib/rouge/demos/rust +12 -0
  153. data/lib/rouge/demos/sas +13 -0
  154. data/lib/rouge/demos/sass +3 -0
  155. data/lib/rouge/demos/scala +3 -0
  156. data/lib/rouge/demos/scheme +4 -0
  157. data/lib/rouge/demos/scss +5 -0
  158. data/lib/rouge/demos/sed +4 -0
  159. data/lib/rouge/demos/shell +2 -0
  160. data/lib/rouge/demos/sieve +10 -0
  161. data/lib/rouge/demos/slice +10 -0
  162. data/lib/rouge/demos/slim +17 -0
  163. data/lib/rouge/demos/smalltalk +6 -0
  164. data/lib/rouge/demos/smarty +12 -0
  165. data/lib/rouge/demos/sml +4 -0
  166. data/lib/rouge/demos/solidity +13 -0
  167. data/lib/rouge/demos/sparql +6 -0
  168. data/lib/rouge/demos/sqf +14 -0
  169. data/lib/rouge/demos/sql +1 -0
  170. data/lib/rouge/demos/supercollider +11 -0
  171. data/lib/rouge/demos/swift +5 -0
  172. data/lib/rouge/demos/tap +5 -0
  173. data/lib/rouge/demos/tcl +1 -0
  174. data/lib/rouge/demos/terraform +16 -0
  175. data/lib/rouge/demos/tex +1 -0
  176. data/lib/rouge/demos/toml +9 -0
  177. data/lib/rouge/demos/tsx +17 -0
  178. data/lib/rouge/demos/ttcn3 +6 -0
  179. data/lib/rouge/demos/tulip +13 -0
  180. data/lib/rouge/demos/turtle +26 -0
  181. data/lib/rouge/demos/twig +9 -0
  182. data/lib/rouge/demos/typescript +1 -0
  183. data/lib/rouge/demos/vala +8 -0
  184. data/lib/rouge/demos/vb +4 -0
  185. data/lib/rouge/demos/vcl +12 -0
  186. data/lib/rouge/demos/verilog +27 -0
  187. data/lib/rouge/demos/vhdl +23 -0
  188. data/lib/rouge/demos/viml +14 -0
  189. data/lib/rouge/demos/vue +11 -0
  190. data/lib/rouge/demos/wollok +11 -0
  191. data/lib/rouge/demos/xml +2 -0
  192. data/lib/rouge/demos/xojo +14 -0
  193. data/lib/rouge/demos/xpath +2 -0
  194. data/lib/rouge/demos/xquery +22 -0
  195. data/lib/rouge/demos/yaml +4 -0
  196. data/lib/rouge/demos/yang +17 -0
  197. data/lib/rouge/formatter.rb +112 -0
  198. data/lib/rouge/formatters/html.rb +56 -0
  199. data/lib/rouge/formatters/html_inline.rb +31 -0
  200. data/lib/rouge/formatters/html_legacy.rb +45 -0
  201. data/lib/rouge/formatters/html_line_table.rb +53 -0
  202. data/lib/rouge/formatters/html_linewise.rb +23 -0
  203. data/lib/rouge/formatters/html_pygments.rb +18 -0
  204. data/lib/rouge/formatters/html_table.rb +51 -0
  205. data/lib/rouge/formatters/null.rb +20 -0
  206. data/lib/rouge/formatters/terminal256.rb +198 -0
  207. data/lib/rouge/formatters/terminal_truecolor.rb +37 -0
  208. data/lib/rouge/formatters/tex.rb +92 -0
  209. data/lib/rouge/guesser.rb +57 -0
  210. data/lib/rouge/guessers/disambiguation.rb +136 -0
  211. data/lib/rouge/guessers/filename.rb +27 -0
  212. data/lib/rouge/guessers/glob_mapping.rb +45 -0
  213. data/lib/rouge/guessers/mimetype.rb +16 -0
  214. data/lib/rouge/guessers/modeline.rb +46 -0
  215. data/lib/rouge/guessers/source.rb +31 -0
  216. data/lib/rouge/guessers/util.rb +34 -0
  217. data/lib/rouge/lexer.rb +517 -0
  218. data/lib/rouge/lexers/abap.rb +240 -0
  219. data/lib/rouge/lexers/actionscript.rb +196 -0
  220. data/lib/rouge/lexers/ada.rb +162 -0
  221. data/lib/rouge/lexers/apache.rb +69 -0
  222. data/lib/rouge/lexers/apache/keywords.rb +15 -0
  223. data/lib/rouge/lexers/apex.rb +126 -0
  224. data/lib/rouge/lexers/apiblueprint.rb +49 -0
  225. data/lib/rouge/lexers/apple_script.rb +370 -0
  226. data/lib/rouge/lexers/armasm.rb +145 -0
  227. data/lib/rouge/lexers/awk.rb +162 -0
  228. data/lib/rouge/lexers/batchfile.rb +164 -0
  229. data/lib/rouge/lexers/bbcbasic.rb +112 -0
  230. data/lib/rouge/lexers/biml.rb +43 -0
  231. data/lib/rouge/lexers/bpf.rb +118 -0
  232. data/lib/rouge/lexers/brainfuck.rb +53 -0
  233. data/lib/rouge/lexers/bsl.rb +82 -0
  234. data/lib/rouge/lexers/c.rb +190 -0
  235. data/lib/rouge/lexers/ceylon.rb +96 -0
  236. data/lib/rouge/lexers/cfscript.rb +154 -0
  237. data/lib/rouge/lexers/clean.rb +156 -0
  238. data/lib/rouge/lexers/clojure.rb +113 -0
  239. data/lib/rouge/lexers/cmake.rb +208 -0
  240. data/lib/rouge/lexers/cmhg.rb +34 -0
  241. data/lib/rouge/lexers/coffeescript.rb +215 -0
  242. data/lib/rouge/lexers/common_lisp.rb +346 -0
  243. data/lib/rouge/lexers/conf.rb +25 -0
  244. data/lib/rouge/lexers/console.rb +190 -0
  245. data/lib/rouge/lexers/coq.rb +191 -0
  246. data/lib/rouge/lexers/cpp.rb +89 -0
  247. data/lib/rouge/lexers/crystal.rb +430 -0
  248. data/lib/rouge/lexers/csharp.rb +114 -0
  249. data/lib/rouge/lexers/css.rb +274 -0
  250. data/lib/rouge/lexers/csvs.rb +44 -0
  251. data/lib/rouge/lexers/cuda.rb +35 -0
  252. data/lib/rouge/lexers/cypher.rb +108 -0
  253. data/lib/rouge/lexers/cython.rb +151 -0
  254. data/lib/rouge/lexers/d.rb +177 -0
  255. data/lib/rouge/lexers/dart.rb +105 -0
  256. data/lib/rouge/lexers/datastudio.rb +138 -0
  257. data/lib/rouge/lexers/diff.rb +37 -0
  258. data/lib/rouge/lexers/digdag.rb +70 -0
  259. data/lib/rouge/lexers/docker.rb +51 -0
  260. data/lib/rouge/lexers/dot.rb +69 -0
  261. data/lib/rouge/lexers/ecl.rb +175 -0
  262. data/lib/rouge/lexers/eex.rb +52 -0
  263. data/lib/rouge/lexers/eiffel.rb +66 -0
  264. data/lib/rouge/lexers/elixir.rb +149 -0
  265. data/lib/rouge/lexers/elm.rb +90 -0
  266. data/lib/rouge/lexers/epp.rb +51 -0
  267. data/lib/rouge/lexers/erb.rb +53 -0
  268. data/lib/rouge/lexers/erlang.rb +115 -0
  269. data/lib/rouge/lexers/escape.rb +58 -0
  270. data/lib/rouge/lexers/factor.rb +303 -0
  271. data/lib/rouge/lexers/fortran.rb +178 -0
  272. data/lib/rouge/lexers/freefem.rb +240 -0
  273. data/lib/rouge/lexers/fsharp.rb +120 -0
  274. data/lib/rouge/lexers/gdscript.rb +171 -0
  275. data/lib/rouge/lexers/ghc_cmm.rb +340 -0
  276. data/lib/rouge/lexers/ghc_core.rb +151 -0
  277. data/lib/rouge/lexers/gherkin.rb +140 -0
  278. data/lib/rouge/lexers/gherkin/keywords.rb +16 -0
  279. data/lib/rouge/lexers/glsl.rb +132 -0
  280. data/lib/rouge/lexers/go.rb +175 -0
  281. data/lib/rouge/lexers/gradle.rb +38 -0
  282. data/lib/rouge/lexers/graphql.rb +261 -0
  283. data/lib/rouge/lexers/groovy.rb +111 -0
  284. data/lib/rouge/lexers/hack.rb +49 -0
  285. data/lib/rouge/lexers/haml.rb +226 -0
  286. data/lib/rouge/lexers/handlebars.rb +91 -0
  287. data/lib/rouge/lexers/haskell.rb +199 -0
  288. data/lib/rouge/lexers/haxe.rb +246 -0
  289. data/lib/rouge/lexers/hcl.rb +163 -0
  290. data/lib/rouge/lexers/hocon.rb +86 -0
  291. data/lib/rouge/lexers/hql.rb +139 -0
  292. data/lib/rouge/lexers/html.rb +141 -0
  293. data/lib/rouge/lexers/http.rb +81 -0
  294. data/lib/rouge/lexers/hylang.rb +94 -0
  295. data/lib/rouge/lexers/idlang.rb +312 -0
  296. data/lib/rouge/lexers/igorpro.rb +664 -0
  297. data/lib/rouge/lexers/ini.rb +54 -0
  298. data/lib/rouge/lexers/io.rb +69 -0
  299. data/lib/rouge/lexers/irb.rb +67 -0
  300. data/lib/rouge/lexers/isbl.rb +97 -0
  301. data/lib/rouge/lexers/isbl/builtins.rb +17 -0
  302. data/lib/rouge/lexers/java.rb +91 -0
  303. data/lib/rouge/lexers/javascript.rb +279 -0
  304. data/lib/rouge/lexers/jinja.rb +154 -0
  305. data/lib/rouge/lexers/jsl.rb +55 -0
  306. data/lib/rouge/lexers/json.rb +72 -0
  307. data/lib/rouge/lexers/json_doc.rb +26 -0
  308. data/lib/rouge/lexers/jsonnet.rb +152 -0
  309. data/lib/rouge/lexers/jsp.rb +120 -0
  310. data/lib/rouge/lexers/jsx.rb +104 -0
  311. data/lib/rouge/lexers/julia.rb +290 -0
  312. data/lib/rouge/lexers/kotlin.rb +131 -0
  313. data/lib/rouge/lexers/lasso.rb +210 -0
  314. data/lib/rouge/lexers/lasso/keywords.rb +14 -0
  315. data/lib/rouge/lexers/liquid.rb +285 -0
  316. data/lib/rouge/lexers/literate_coffeescript.rb +34 -0
  317. data/lib/rouge/lexers/literate_haskell.rb +37 -0
  318. data/lib/rouge/lexers/llvm.rb +97 -0
  319. data/lib/rouge/lexers/lua.rb +164 -0
  320. data/lib/rouge/lexers/lua/builtins.rb +24 -0
  321. data/lib/rouge/lexers/lustre.rb +79 -0
  322. data/lib/rouge/lexers/lutin.rb +33 -0
  323. data/lib/rouge/lexers/m68k.rb +143 -0
  324. data/lib/rouge/lexers/magik.rb +127 -0
  325. data/lib/rouge/lexers/make.rb +135 -0
  326. data/lib/rouge/lexers/markdown.rb +182 -0
  327. data/lib/rouge/lexers/mason.rb +110 -0
  328. data/lib/rouge/lexers/mathematica.rb +96 -0
  329. data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
  330. data/lib/rouge/lexers/matlab.rb +80 -0
  331. data/lib/rouge/lexers/matlab/builtins.rb +11 -0
  332. data/lib/rouge/lexers/minizinc.rb +87 -0
  333. data/lib/rouge/lexers/moonscript.rb +115 -0
  334. data/lib/rouge/lexers/mosel.rb +232 -0
  335. data/lib/rouge/lexers/msgtrans.rb +26 -0
  336. data/lib/rouge/lexers/mxml.rb +69 -0
  337. data/lib/rouge/lexers/nasm.rb +72 -0
  338. data/lib/rouge/lexers/nesasm.rb +78 -0
  339. data/lib/rouge/lexers/nginx.rb +72 -0
  340. data/lib/rouge/lexers/nim.rb +154 -0
  341. data/lib/rouge/lexers/nix.rb +211 -0
  342. data/lib/rouge/lexers/objective_c.rb +21 -0
  343. data/lib/rouge/lexers/objective_c/common.rb +184 -0
  344. data/lib/rouge/lexers/objective_cpp.rb +31 -0
  345. data/lib/rouge/lexers/ocaml.rb +65 -0
  346. data/lib/rouge/lexers/ocaml/common.rb +53 -0
  347. data/lib/rouge/lexers/openedge.rb +429 -0
  348. data/lib/rouge/lexers/opentype_feature_file.rb +113 -0
  349. data/lib/rouge/lexers/pascal.rb +67 -0
  350. data/lib/rouge/lexers/perl.rb +231 -0
  351. data/lib/rouge/lexers/php.rb +231 -0
  352. data/lib/rouge/lexers/php/builtins.rb +203 -0
  353. data/lib/rouge/lexers/plain_text.rb +27 -0
  354. data/lib/rouge/lexers/plist.rb +47 -0
  355. data/lib/rouge/lexers/pony.rb +94 -0
  356. data/lib/rouge/lexers/powershell.rb +230 -0
  357. data/lib/rouge/lexers/praat.rb +351 -0
  358. data/lib/rouge/lexers/prolog.rb +67 -0
  359. data/lib/rouge/lexers/prometheus.rb +123 -0
  360. data/lib/rouge/lexers/properties.rb +52 -0
  361. data/lib/rouge/lexers/protobuf.rb +71 -0
  362. data/lib/rouge/lexers/puppet.rb +129 -0
  363. data/lib/rouge/lexers/python.rb +257 -0
  364. data/lib/rouge/lexers/q.rb +126 -0
  365. data/lib/rouge/lexers/qml.rb +74 -0
  366. data/lib/rouge/lexers/r.rb +89 -0
  367. data/lib/rouge/lexers/racket.rb +568 -0
  368. data/lib/rouge/lexers/reasonml.rb +65 -0
  369. data/lib/rouge/lexers/rego.rb +45 -0
  370. data/lib/rouge/lexers/robot_framework.rb +249 -0
  371. data/lib/rouge/lexers/ruby.rb +454 -0
  372. data/lib/rouge/lexers/rust.rb +193 -0
  373. data/lib/rouge/lexers/sas.rb +563 -0
  374. data/lib/rouge/lexers/sass.rb +75 -0
  375. data/lib/rouge/lexers/sass/common.rb +181 -0
  376. data/lib/rouge/lexers/scala.rb +169 -0
  377. data/lib/rouge/lexers/scheme.rb +113 -0
  378. data/lib/rouge/lexers/scss.rb +35 -0
  379. data/lib/rouge/lexers/sed.rb +173 -0
  380. data/lib/rouge/lexers/shell.rb +201 -0
  381. data/lib/rouge/lexers/sieve.rb +97 -0
  382. data/lib/rouge/lexers/slice.rb +32 -0
  383. data/lib/rouge/lexers/slim.rb +229 -0
  384. data/lib/rouge/lexers/smalltalk.rb +117 -0
  385. data/lib/rouge/lexers/smarty.rb +81 -0
  386. data/lib/rouge/lexers/sml.rb +345 -0
  387. data/lib/rouge/lexers/solidity.rb +185 -0
  388. data/lib/rouge/lexers/sparql.rb +129 -0
  389. data/lib/rouge/lexers/sqf.rb +109 -0
  390. data/lib/rouge/lexers/sqf/commands.rb +15 -0
  391. data/lib/rouge/lexers/sql.rb +161 -0
  392. data/lib/rouge/lexers/supercollider.rb +116 -0
  393. data/lib/rouge/lexers/swift.rb +186 -0
  394. data/lib/rouge/lexers/tap.rb +89 -0
  395. data/lib/rouge/lexers/tcl.rb +193 -0
  396. data/lib/rouge/lexers/terraform.rb +128 -0
  397. data/lib/rouge/lexers/tex.rb +70 -0
  398. data/lib/rouge/lexers/toml.rb +106 -0
  399. data/lib/rouge/lexers/tsx.rb +20 -0
  400. data/lib/rouge/lexers/ttcn3.rb +119 -0
  401. data/lib/rouge/lexers/tulip.rb +108 -0
  402. data/lib/rouge/lexers/turtle.rb +61 -0
  403. data/lib/rouge/lexers/twig.rb +40 -0
  404. data/lib/rouge/lexers/typescript.rb +34 -0
  405. data/lib/rouge/lexers/typescript/common.rb +34 -0
  406. data/lib/rouge/lexers/vala.rb +78 -0
  407. data/lib/rouge/lexers/varnish.rb +168 -0
  408. data/lib/rouge/lexers/vb.rb +165 -0
  409. data/lib/rouge/lexers/verilog.rb +163 -0
  410. data/lib/rouge/lexers/vhdl.rb +98 -0
  411. data/lib/rouge/lexers/viml.rb +102 -0
  412. data/lib/rouge/lexers/viml/keywords.rb +14 -0
  413. data/lib/rouge/lexers/vue.rb +127 -0
  414. data/lib/rouge/lexers/wollok.rb +104 -0
  415. data/lib/rouge/lexers/xml.rb +54 -0
  416. data/lib/rouge/lexers/xojo.rb +61 -0
  417. data/lib/rouge/lexers/xpath.rb +332 -0
  418. data/lib/rouge/lexers/xquery.rb +145 -0
  419. data/lib/rouge/lexers/yaml.rb +376 -0
  420. data/lib/rouge/lexers/yang.rb +147 -0
  421. data/lib/rouge/plugins/redcarpet.rb +37 -0
  422. data/lib/rouge/regex_lexer.rb +443 -0
  423. data/lib/rouge/template_lexer.rb +21 -0
  424. data/lib/rouge/tex_theme_renderer.rb +132 -0
  425. data/lib/rouge/text_analyzer.rb +50 -0
  426. data/lib/rouge/theme.rb +218 -0
  427. data/lib/rouge/themes/base16.rb +131 -0
  428. data/lib/rouge/themes/bw.rb +41 -0
  429. data/lib/rouge/themes/colorful.rb +68 -0
  430. data/lib/rouge/themes/github.rb +72 -0
  431. data/lib/rouge/themes/gruvbox.rb +168 -0
  432. data/lib/rouge/themes/igor_pro.rb +21 -0
  433. data/lib/rouge/themes/magritte.rb +78 -0
  434. data/lib/rouge/themes/molokai.rb +83 -0
  435. data/lib/rouge/themes/monokai.rb +93 -0
  436. data/lib/rouge/themes/monokai_sublime.rb +93 -0
  437. data/lib/rouge/themes/pastie.rb +70 -0
  438. data/lib/rouge/themes/thankful_eyes.rb +75 -0
  439. data/lib/rouge/themes/tulip.rb +70 -0
  440. data/lib/rouge/token.rb +191 -0
  441. data/lib/rouge/util.rb +102 -0
  442. data/lib/rouge/version.rb +8 -0
  443. data/rouge.gemspec +26 -0
  444. metadata +491 -0
@@ -0,0 +1,83 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ class Molokai < CSSTheme
7
+ name 'molokai'
8
+
9
+ palette :black => '#1b1d1e'
10
+ palette :white => '#f8f8f2'
11
+ palette :blue => '#66d9ef'
12
+ palette :green => '#a6e22e'
13
+ palette :grey => '#403d3d'
14
+ palette :red => '#f92672'
15
+ palette :light_grey => '#465457'
16
+ palette :dark_blue => '#5e5d83'
17
+ palette :violet => '#af87ff'
18
+ palette :yellow => '#d7d787'
19
+
20
+ style Comment,
21
+ Comment::Multiline,
22
+ Comment::Single, :fg => :dark_blue, :italic => true
23
+ style Comment::Preproc, :fg => :light_grey, :bold => true
24
+ style Comment::Special, :fg => :light_grey, :italic => true, :bold => true
25
+ style Error, :fg => :white, :bg => :grey
26
+ style Generic::Inserted, :fg => :green
27
+ style Generic::Deleted, :fg => :red
28
+ style Generic::Emph, :fg => :black, :italic => true
29
+ style Generic::Error,
30
+ Generic::Traceback, :fg => :red
31
+ style Generic::Heading, :fg => :grey
32
+ style Generic::Output, :fg => :grey
33
+ style Generic::Prompt, :fg => :blue
34
+ style Generic::Strong, :bold => true
35
+ style Generic::Subheading, :fg => :light_grey
36
+ style Keyword,
37
+ Keyword::Constant,
38
+ Keyword::Declaration,
39
+ Keyword::Pseudo,
40
+ Keyword::Reserved,
41
+ Keyword::Type, :fg => :blue, :bold => true
42
+ style Keyword::Namespace,
43
+ Operator::Word,
44
+ Operator, :fg => :red, :bold => true
45
+ style Literal::Number::Float,
46
+ Literal::Number::Hex,
47
+ Literal::Number::Integer::Long,
48
+ Literal::Number::Integer,
49
+ Literal::Number::Oct,
50
+ Literal::Number,
51
+ Literal::String::Escape, :fg => :violet
52
+ style Literal::String::Backtick,
53
+ Literal::String::Char,
54
+ Literal::String::Doc,
55
+ Literal::String::Double,
56
+ Literal::String::Heredoc,
57
+ Literal::String::Interpol,
58
+ Literal::String::Other,
59
+ Literal::String::Regex,
60
+ Literal::String::Single,
61
+ Literal::String::Symbol,
62
+ Literal::String, :fg => :yellow
63
+ style Name::Attribute, :fg => :green
64
+ style Name::Class,
65
+ Name::Decorator,
66
+ Name::Exception,
67
+ Name::Function, :fg => :green, :bold => true
68
+ style Name::Constant, :fg => :blue
69
+ style Name::Builtin::Pseudo,
70
+ Name::Builtin,
71
+ Name::Entity,
72
+ Name::Namespace,
73
+ Name::Variable::Class,
74
+ Name::Variable::Global,
75
+ Name::Variable::Instance,
76
+ Name::Variable,
77
+ Text::Whitespace, :fg => :white
78
+ style Name::Label, :fg => :white, :bold => true
79
+ style Name::Tag, :fg => :red
80
+ style Text, :fg => :white, :bg => :black
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,93 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ class Monokai < CSSTheme
7
+ name 'monokai'
8
+
9
+ palette :black => '#000000'
10
+ palette :bright_green => '#a6e22e'
11
+ palette :bright_pink => '#f92672'
12
+ palette :carmine => '#960050'
13
+ palette :dark => '#49483e'
14
+ palette :dark_grey => '#888888'
15
+ palette :dark_red => '#aa0000'
16
+ palette :dimgrey => '#75715e'
17
+ palette :dimgreen => '#324932'
18
+ palette :dimred => '#493131'
19
+ palette :emperor => '#555555'
20
+ palette :grey => '#999999'
21
+ palette :light_grey => '#aaaaaa'
22
+ palette :light_violet => '#ae81ff'
23
+ palette :soft_cyan => '#66d9ef'
24
+ palette :soft_yellow => '#e6db74'
25
+ palette :very_dark => '#1e0010'
26
+ palette :whitish => '#f8f8f2'
27
+ palette :orange => '#f6aa11'
28
+ palette :white => '#ffffff'
29
+
30
+ style Comment,
31
+ Comment::Multiline,
32
+ Comment::Single, :fg => :dimgrey, :italic => true
33
+ style Comment::Preproc, :fg => :dimgrey, :bold => true
34
+ style Comment::Special, :fg => :dimgrey, :italic => true, :bold => true
35
+ style Error, :fg => :carmine, :bg => :very_dark
36
+ style Generic::Inserted, :fg => :white, :bg => :dimgreen
37
+ style Generic::Deleted, :fg => :white, :bg => :dimred
38
+ style Generic::Emph, :fg => :black, :italic => true
39
+ style Generic::Error,
40
+ Generic::Traceback, :fg => :dark_red
41
+ style Generic::Heading, :fg => :grey
42
+ style Generic::Output, :fg => :dark_grey
43
+ style Generic::Prompt, :fg => :emperor
44
+ style Generic::Strong, :bold => true
45
+ style Generic::Subheading, :fg => :light_grey
46
+ style Keyword,
47
+ Keyword::Constant,
48
+ Keyword::Declaration,
49
+ Keyword::Pseudo,
50
+ Keyword::Reserved,
51
+ Keyword::Type, :fg => :soft_cyan, :bold => true
52
+ style Keyword::Namespace,
53
+ Operator::Word,
54
+ Operator, :fg => :bright_pink, :bold => true
55
+ style Literal::Number::Float,
56
+ Literal::Number::Hex,
57
+ Literal::Number::Integer::Long,
58
+ Literal::Number::Integer,
59
+ Literal::Number::Oct,
60
+ Literal::Number,
61
+ Literal::String::Escape, :fg => :light_violet
62
+ style Literal::String::Backtick,
63
+ Literal::String::Char,
64
+ Literal::String::Doc,
65
+ Literal::String::Double,
66
+ Literal::String::Heredoc,
67
+ Literal::String::Interpol,
68
+ Literal::String::Other,
69
+ Literal::String::Regex,
70
+ Literal::String::Single,
71
+ Literal::String::Symbol,
72
+ Literal::String, :fg => :soft_yellow
73
+ style Name::Attribute, :fg => :bright_green
74
+ style Name::Class,
75
+ Name::Decorator,
76
+ Name::Exception,
77
+ Name::Function, :fg => :bright_green, :bold => true
78
+ style Name::Constant, :fg => :soft_cyan
79
+ style Name::Builtin::Pseudo,
80
+ Name::Builtin,
81
+ Name::Entity,
82
+ Name::Namespace,
83
+ Name::Variable::Class,
84
+ Name::Variable::Global,
85
+ Name::Variable::Instance,
86
+ Name::Variable,
87
+ Text::Whitespace, :fg => :whitish
88
+ style Name::Label, :fg => :whitish, :bold => true
89
+ style Name::Tag, :fg => :bright_pink
90
+ style Text, :fg => :whitish, :bg => :dark
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,93 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ class MonokaiSublime < CSSTheme
7
+ name 'monokai.sublime'
8
+
9
+ palette :black => '#000000'
10
+ palette :bright_green => '#a6e22e'
11
+ palette :bright_pink => '#f92672'
12
+ palette :carmine => '#960050'
13
+ palette :dark => '#49483e'
14
+ palette :dark_graphite => '#272822'
15
+ palette :dark_grey => '#888888'
16
+ palette :dark_red => '#aa0000'
17
+ palette :dimgrey => '#75715e'
18
+ palette :emperor => '#555555'
19
+ palette :grey => '#999999'
20
+ palette :light_grey => '#aaaaaa'
21
+ palette :light_violet => '#ae81ff'
22
+ palette :soft_cyan => '#66d9ef'
23
+ palette :soft_yellow => '#e6db74'
24
+ palette :very_dark => '#1e0010'
25
+ palette :whitish => '#f8f8f2'
26
+ palette :orange => '#f6aa11'
27
+ palette :white => '#ffffff'
28
+
29
+ style Generic::Heading, :fg => :grey
30
+ style Literal::String::Regex, :fg => :orange
31
+ style Generic::Output, :fg => :dark_grey
32
+ style Generic::Prompt, :fg => :emperor
33
+ style Generic::Strong, :bold => false
34
+ style Generic::Subheading, :fg => :light_grey
35
+ style Name::Builtin, :fg => :orange
36
+ style Comment::Multiline,
37
+ Comment::Preproc,
38
+ Comment::Single,
39
+ Comment::Special,
40
+ Comment, :fg => :dimgrey
41
+ style Error,
42
+ Generic::Error,
43
+ Generic::Traceback, :fg => :carmine
44
+ style Generic::Deleted,
45
+ Generic::Inserted,
46
+ Generic::Emph, :fg => :dark
47
+ style Keyword::Constant,
48
+ Keyword::Declaration,
49
+ Keyword::Reserved,
50
+ Name::Constant,
51
+ Keyword::Type, :fg => :soft_cyan
52
+ style Literal::Number::Float,
53
+ Literal::Number::Hex,
54
+ Literal::Number::Integer::Long,
55
+ Literal::Number::Integer,
56
+ Literal::Number::Oct,
57
+ Literal::Number,
58
+ Literal::String::Char,
59
+ Literal::String::Escape,
60
+ Literal::String::Symbol, :fg => :light_violet
61
+ style Literal::String::Doc,
62
+ Literal::String::Double,
63
+ Literal::String::Backtick,
64
+ Literal::String::Heredoc,
65
+ Literal::String::Interpol,
66
+ Literal::String::Other,
67
+ Literal::String::Single,
68
+ Literal::String, :fg => :soft_yellow
69
+ style Name::Attribute,
70
+ Name::Class,
71
+ Name::Decorator,
72
+ Name::Exception,
73
+ Name::Function, :fg => :bright_green
74
+ style Name::Variable::Class,
75
+ Name::Namespace,
76
+ Name::Label,
77
+ Name::Entity,
78
+ Name::Builtin::Pseudo,
79
+ Name::Variable::Global,
80
+ Name::Variable::Instance,
81
+ Name::Variable,
82
+ Text::Whitespace,
83
+ Text,
84
+ Name, :fg => :white, :bg => :dark_graphite
85
+ style Operator::Word,
86
+ Name::Tag,
87
+ Keyword,
88
+ Keyword::Namespace,
89
+ Keyword::Pseudo,
90
+ Operator, :fg => :bright_pink
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ # A port of the pastie style from Pygments.
7
+ # See https://bitbucket.org/birkenfeld/pygments-main/src/default/pygments/styles/pastie.py
8
+ class Pastie < CSSTheme
9
+ name 'pastie'
10
+
11
+ style Comment, :fg => '#888888'
12
+ style Comment::Preproc, :fg => '#cc0000', :bold => true
13
+ style Comment::Special, :fg => '#cc0000', :bg => '#fff0f0', :bold => true
14
+
15
+ style Error, :fg => '#a61717', :bg => '#e3d2d2'
16
+ style Generic::Error, :fg => '#aa0000'
17
+
18
+ style Generic::Heading, :fg => '#333333'
19
+ style Generic::Subheading, :fg => '#666666'
20
+
21
+ style Generic::Deleted, :fg => '#000000', :bg => '#ffdddd'
22
+ style Generic::Inserted, :fg => '#000000', :bg => '#ddffdd'
23
+
24
+ style Generic::Emph, :italic => true
25
+ style Generic::Strong, :bold => true
26
+
27
+ style Generic::Lineno, :fg => '#888888'
28
+ style Generic::Output, :fg => '#888888'
29
+ style Generic::Prompt, :fg => '#555555'
30
+ style Generic::Traceback, :fg => '#aa0000'
31
+
32
+ style Keyword, :fg => '#008800', :bold => true
33
+ style Keyword::Pseudo, :fg => '#008800'
34
+ style Keyword::Type, :fg => '#888888', :bold => true
35
+
36
+ style Num, :fg => '#0000dd', :bold => true
37
+
38
+ style Str, :fg => '#dd2200', :bg => '#fff0f0'
39
+ style Str::Escape, :fg => '#0044dd', :bg => '#fff0f0'
40
+ style Str::Interpol, :fg => '#3333bb', :bg => '#fff0f0'
41
+ style Str::Other, :fg => '#22bb22', :bg => '#f0fff0'
42
+ #style Str::Regex, :fg => '#008800', :bg => '#fff0ff'
43
+ # The background color on regex really doesn't look good, so let's drop it
44
+ style Str::Regex, :fg => '#008800'
45
+ style Str::Symbol, :fg => '#aa6600', :bg => '#fff0f0'
46
+
47
+ style Name::Attribute, :fg => '#336699'
48
+ style Name::Builtin, :fg => '#003388'
49
+ style Name::Class, :fg => '#bb0066', :bold => true
50
+ style Name::Constant, :fg => '#003366', :bold => true
51
+ style Name::Decorator, :fg => '#555555'
52
+ style Name::Exception, :fg => '#bb0066', :bold => true
53
+ style Name::Function, :fg => '#0066bb', :bold => true
54
+ #style Name::Label, :fg => '#336699', :italic => true
55
+ # Name::Label is used for built-in CSS properties in Rouge, so let's drop italics
56
+ style Name::Label, :fg => '#336699'
57
+ style Name::Namespace, :fg => '#bb0066', :bold => true
58
+ style Name::Property, :fg => '#336699', :bold => true
59
+ style Name::Tag, :fg => '#bb0066', :bold => true
60
+ style Name::Variable, :fg => '#336699'
61
+ style Name::Variable::Global, :fg => '#dd7700'
62
+ style Name::Variable::Instance, :fg => '#3333bb'
63
+
64
+ style Operator::Word, :fg => '#008800'
65
+
66
+ style Text, {}
67
+ style Text::Whitespace, :fg => '#bbbbbb'
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,75 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ class ThankfulEyes < CSSTheme
7
+ name 'thankful_eyes'
8
+
9
+ # pallette, from GTKSourceView's ThankfulEyes
10
+ palette :cool_as_ice => '#6c8b9f'
11
+ palette :slate_blue => '#4e5d62'
12
+ palette :eggshell_cloud => '#dee5e7'
13
+ palette :krasna => '#122b3b'
14
+ palette :aluminum1 => '#fefeec'
15
+ palette :scarletred2 => '#cc0000'
16
+ palette :butter3 => '#c4a000'
17
+ palette :go_get_it => '#b2fd6d'
18
+ palette :chilly => '#a8e1fe'
19
+ palette :unicorn => '#faf6e4'
20
+ palette :sandy => '#f6dd62'
21
+ palette :pink_merengue => '#f696db'
22
+ palette :dune => '#fff0a6'
23
+ palette :backlit => '#4df4ff'
24
+ palette :schrill => '#ffb000'
25
+
26
+ style Text, :fg => :unicorn, :bg => :krasna
27
+ style Generic::Lineno, :fg => :eggshell_cloud, :bg => :slate_blue
28
+
29
+ style Generic::Prompt, :fg => :chilly, :bold => true
30
+
31
+ style Comment, :fg => :cool_as_ice, :italic => true
32
+ style Comment::Preproc, :fg => :go_get_it, :bold => true
33
+ style Error, :fg => :aluminum1, :bg => :scarletred2
34
+ style Generic::Error, :fg => :scarletred2, :italic => true, :bold => true
35
+ style Keyword, :fg => :sandy, :bold => true
36
+ style Operator, :fg => :backlit, :bold => true
37
+ style Punctuation, :fg => :backlit
38
+ style Generic::Deleted, :fg => :scarletred2
39
+ style Generic::Inserted, :fg => :go_get_it
40
+ style Generic::Emph, :italic => true
41
+ style Generic::Strong, :bold => true
42
+ style Generic::Traceback, :fg => :eggshell_cloud, :bg => :slate_blue
43
+ style Keyword::Constant, :fg => :pink_merengue, :bold => true
44
+ style Keyword::Namespace,
45
+ Keyword::Pseudo,
46
+ Keyword::Reserved,
47
+ Generic::Heading,
48
+ Generic::Subheading, :fg => :schrill, :bold => true
49
+ style Keyword::Type,
50
+ Name::Constant,
51
+ Name::Class,
52
+ Name::Decorator,
53
+ Name::Namespace,
54
+ Name::Builtin::Pseudo,
55
+ Name::Exception, :fg => :go_get_it, :bold => true
56
+ style Name::Label,
57
+ Name::Tag, :fg => :schrill, :bold => true
58
+ style Literal::Number,
59
+ Literal::Date,
60
+ Literal::String::Symbol, :fg => :pink_merengue, :bold => true
61
+ style Literal::String, :fg => :dune, :bold => true
62
+ style Literal::String::Escape,
63
+ Literal::String::Char,
64
+ Literal::String::Interpol, :fg => :backlit, :bold => true
65
+ style Name::Builtin, :bold => true
66
+ style Name::Entity, :fg => '#999999', :bold => true
67
+ style Text::Whitespace,
68
+ Generic::Output, :fg => '#BBBBBB'
69
+ style Name::Function,
70
+ Name::Property,
71
+ Name::Attribute, :fg => :chilly
72
+ style Name::Variable, :fg => :chilly, :bold => true
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Themes
6
+ class Tulip < CSSTheme
7
+ name 'tulip'
8
+
9
+ palette :purple => '#766DAF'
10
+ palette :lpurple => '#9f93e6'
11
+ palette :orange => '#FAAF4C'
12
+ palette :green => '#3FB34F'
13
+ palette :lgreen => '#41ff5b'
14
+ palette :yellow => '#FFF02A'
15
+ palette :black => '#000000'
16
+ palette :gray => '#6D6E70'
17
+ palette :red => '#CC0000'
18
+ palette :dark_purple => '#231529'
19
+ palette :lunicorn => '#faf8ed'
20
+ palette :white => '#FFFFFF'
21
+ palette :earth => '#181a27'
22
+ palette :dune => '#fff0a6'
23
+
24
+ style Text, :fg => :white, :bg => :dark_purple
25
+
26
+ style Comment, :fg => :gray, :italic => true
27
+ style Comment::Preproc, :fg => :lgreen, :bold => true
28
+ style Error,
29
+ Generic::Error, :fg => :white, :bg => :red
30
+ style Keyword, :fg => :yellow, :bold => true
31
+ style Operator,
32
+ Punctuation, :fg => :lgreen
33
+ style Generic::Deleted, :fg => :red
34
+ style Generic::Inserted, :fg => :green
35
+ style Generic::Emph, :italic => true
36
+ style Generic::Strong, :bold => true
37
+ style Generic::Traceback,
38
+ Generic::Lineno, :fg => :white, :bg => :purple
39
+ style Keyword::Constant, :fg => :lpurple, :bold => true
40
+ style Keyword::Namespace,
41
+ Keyword::Pseudo,
42
+ Keyword::Reserved,
43
+ Generic::Heading,
44
+ Generic::Subheading, :fg => :white, :bold => true
45
+ style Keyword::Type,
46
+ Name::Constant,
47
+ Name::Class,
48
+ Name::Decorator,
49
+ Name::Namespace,
50
+ Name::Builtin::Pseudo,
51
+ Name::Exception, :fg => :orange, :bold => true
52
+ style Name::Label,
53
+ Name::Tag, :fg => :lpurple, :bold => true
54
+ style Literal::Number,
55
+ Literal::Date,
56
+ Literal::String::Symbol, :fg => :lpurple, :bold => true
57
+ style Literal::String, :fg => :dune, :bold => true
58
+ style Literal::String::Escape,
59
+ Literal::String::Char,
60
+ Literal::String::Interpol, :fg => :orange, :bold => true
61
+ style Name::Builtin, :bold => true
62
+ style Name::Entity, :fg => '#999999', :bold => true
63
+ style Text::Whitespace, :fg => '#BBBBBB'
64
+ style Name::Function,
65
+ Name::Property,
66
+ Name::Attribute, :fg => :lgreen
67
+ style Name::Variable, :fg => :lgreen, :bold => true
68
+ end
69
+ end
70
+ end