rouge 3.17.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 (429) 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 +93 -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/cython +6 -0
  41. data/lib/rouge/demos/d +16 -0
  42. data/lib/rouge/demos/dart +6 -0
  43. data/lib/rouge/demos/diff +7 -0
  44. data/lib/rouge/demos/digdag +19 -0
  45. data/lib/rouge/demos/docker +9 -0
  46. data/lib/rouge/demos/dot +5 -0
  47. data/lib/rouge/demos/ecl +18 -0
  48. data/lib/rouge/demos/eex +1 -0
  49. data/lib/rouge/demos/eiffel +30 -0
  50. data/lib/rouge/demos/elixir +1 -0
  51. data/lib/rouge/demos/elm +4 -0
  52. data/lib/rouge/demos/epp +4 -0
  53. data/lib/rouge/demos/erb +1 -0
  54. data/lib/rouge/demos/erlang +7 -0
  55. data/lib/rouge/demos/escape +3 -0
  56. data/lib/rouge/demos/factor +5 -0
  57. data/lib/rouge/demos/fortran +22 -0
  58. data/lib/rouge/demos/freefem +16 -0
  59. data/lib/rouge/demos/fsharp +12 -0
  60. data/lib/rouge/demos/gdscript +18 -0
  61. data/lib/rouge/demos/ghc-core +26 -0
  62. data/lib/rouge/demos/gherkin +17 -0
  63. data/lib/rouge/demos/glsl +14 -0
  64. data/lib/rouge/demos/go +7 -0
  65. data/lib/rouge/demos/gradle +10 -0
  66. data/lib/rouge/demos/graphql +17 -0
  67. data/lib/rouge/demos/groovy +9 -0
  68. data/lib/rouge/demos/hack +5 -0
  69. data/lib/rouge/demos/haml +5 -0
  70. data/lib/rouge/demos/handlebars +7 -0
  71. data/lib/rouge/demos/haskell +6 -0
  72. data/lib/rouge/demos/haxe +5 -0
  73. data/lib/rouge/demos/hcl +7 -0
  74. data/lib/rouge/demos/hocon +8 -0
  75. data/lib/rouge/demos/hql +5 -0
  76. data/lib/rouge/demos/html +8 -0
  77. data/lib/rouge/demos/http +14 -0
  78. data/lib/rouge/demos/hylang +10 -0
  79. data/lib/rouge/demos/idlang +8 -0
  80. data/lib/rouge/demos/igorpro +9 -0
  81. data/lib/rouge/demos/ini +4 -0
  82. data/lib/rouge/demos/io +11 -0
  83. data/lib/rouge/demos/irb +4 -0
  84. data/lib/rouge/demos/irb_output +2 -0
  85. data/lib/rouge/demos/java +5 -0
  86. data/lib/rouge/demos/javascript +1 -0
  87. data/lib/rouge/demos/jinja +9 -0
  88. data/lib/rouge/demos/jsl +3 -0
  89. data/lib/rouge/demos/json +1 -0
  90. data/lib/rouge/demos/json-doc +1 -0
  91. data/lib/rouge/demos/jsonnet +28 -0
  92. data/lib/rouge/demos/jsp +29 -0
  93. data/lib/rouge/demos/jsx +17 -0
  94. data/lib/rouge/demos/julia +11 -0
  95. data/lib/rouge/demos/kotlin +3 -0
  96. data/lib/rouge/demos/lasso +12 -0
  97. data/lib/rouge/demos/liquid +10 -0
  98. data/lib/rouge/demos/literate_coffeescript +3 -0
  99. data/lib/rouge/demos/literate_haskell +7 -0
  100. data/lib/rouge/demos/llvm +20 -0
  101. data/lib/rouge/demos/lua +12 -0
  102. data/lib/rouge/demos/lustre +6 -0
  103. data/lib/rouge/demos/lutin +18 -0
  104. data/lib/rouge/demos/m68k +16 -0
  105. data/lib/rouge/demos/magik +6 -0
  106. data/lib/rouge/demos/make +6 -0
  107. data/lib/rouge/demos/markdown +4 -0
  108. data/lib/rouge/demos/mason +22 -0
  109. data/lib/rouge/demos/mathematica +8 -0
  110. data/lib/rouge/demos/matlab +6 -0
  111. data/lib/rouge/demos/minizinc +23 -0
  112. data/lib/rouge/demos/moonscript +16 -0
  113. data/lib/rouge/demos/mosel +10 -0
  114. data/lib/rouge/demos/msgtrans +4 -0
  115. data/lib/rouge/demos/mxml +22 -0
  116. data/lib/rouge/demos/nasm +26 -0
  117. data/lib/rouge/demos/nesasm +11 -0
  118. data/lib/rouge/demos/nginx +5 -0
  119. data/lib/rouge/demos/nim +27 -0
  120. data/lib/rouge/demos/nix +19 -0
  121. data/lib/rouge/demos/objective_c +18 -0
  122. data/lib/rouge/demos/objective_cpp +17 -0
  123. data/lib/rouge/demos/ocaml +12 -0
  124. data/lib/rouge/demos/openedge +4 -0
  125. data/lib/rouge/demos/opentype_feature_file +6 -0
  126. data/lib/rouge/demos/pascal +14 -0
  127. data/lib/rouge/demos/perl +5 -0
  128. data/lib/rouge/demos/php +3 -0
  129. data/lib/rouge/demos/plaintext +1 -0
  130. data/lib/rouge/demos/plist +11 -0
  131. data/lib/rouge/demos/pony +17 -0
  132. data/lib/rouge/demos/powershell +13 -0
  133. data/lib/rouge/demos/praat +26 -0
  134. data/lib/rouge/demos/prolog +9 -0
  135. data/lib/rouge/demos/prometheus +9 -0
  136. data/lib/rouge/demos/properties +7 -0
  137. data/lib/rouge/demos/protobuf +5 -0
  138. data/lib/rouge/demos/puppet +6 -0
  139. data/lib/rouge/demos/python +6 -0
  140. data/lib/rouge/demos/q +8 -0
  141. data/lib/rouge/demos/qml +9 -0
  142. data/lib/rouge/demos/r +8 -0
  143. data/lib/rouge/demos/racket +24 -0
  144. data/lib/rouge/demos/reasonml +12 -0
  145. data/lib/rouge/demos/robot_framework +27 -0
  146. data/lib/rouge/demos/ruby +9 -0
  147. data/lib/rouge/demos/rust +12 -0
  148. data/lib/rouge/demos/sas +13 -0
  149. data/lib/rouge/demos/sass +3 -0
  150. data/lib/rouge/demos/scala +3 -0
  151. data/lib/rouge/demos/scheme +4 -0
  152. data/lib/rouge/demos/scss +5 -0
  153. data/lib/rouge/demos/sed +4 -0
  154. data/lib/rouge/demos/shell +2 -0
  155. data/lib/rouge/demos/sieve +10 -0
  156. data/lib/rouge/demos/slice +10 -0
  157. data/lib/rouge/demos/slim +17 -0
  158. data/lib/rouge/demos/smalltalk +6 -0
  159. data/lib/rouge/demos/smarty +12 -0
  160. data/lib/rouge/demos/sml +4 -0
  161. data/lib/rouge/demos/sparql +6 -0
  162. data/lib/rouge/demos/sqf +14 -0
  163. data/lib/rouge/demos/sql +1 -0
  164. data/lib/rouge/demos/supercollider +11 -0
  165. data/lib/rouge/demos/swift +5 -0
  166. data/lib/rouge/demos/tap +5 -0
  167. data/lib/rouge/demos/tcl +1 -0
  168. data/lib/rouge/demos/terraform +16 -0
  169. data/lib/rouge/demos/tex +1 -0
  170. data/lib/rouge/demos/toml +9 -0
  171. data/lib/rouge/demos/tsx +17 -0
  172. data/lib/rouge/demos/ttcn3 +6 -0
  173. data/lib/rouge/demos/tulip +13 -0
  174. data/lib/rouge/demos/turtle +26 -0
  175. data/lib/rouge/demos/twig +9 -0
  176. data/lib/rouge/demos/typescript +1 -0
  177. data/lib/rouge/demos/vala +8 -0
  178. data/lib/rouge/demos/vb +4 -0
  179. data/lib/rouge/demos/vcl +12 -0
  180. data/lib/rouge/demos/verilog +27 -0
  181. data/lib/rouge/demos/vhdl +23 -0
  182. data/lib/rouge/demos/viml +14 -0
  183. data/lib/rouge/demos/vue +11 -0
  184. data/lib/rouge/demos/wollok +11 -0
  185. data/lib/rouge/demos/xml +2 -0
  186. data/lib/rouge/demos/xojo +14 -0
  187. data/lib/rouge/demos/xpath +2 -0
  188. data/lib/rouge/demos/xquery +22 -0
  189. data/lib/rouge/demos/yaml +4 -0
  190. data/lib/rouge/formatter.rb +112 -0
  191. data/lib/rouge/formatters/html.rb +56 -0
  192. data/lib/rouge/formatters/html_inline.rb +31 -0
  193. data/lib/rouge/formatters/html_legacy.rb +45 -0
  194. data/lib/rouge/formatters/html_line_table.rb +53 -0
  195. data/lib/rouge/formatters/html_linewise.rb +23 -0
  196. data/lib/rouge/formatters/html_pygments.rb +18 -0
  197. data/lib/rouge/formatters/html_table.rb +51 -0
  198. data/lib/rouge/formatters/null.rb +20 -0
  199. data/lib/rouge/formatters/terminal256.rb +198 -0
  200. data/lib/rouge/formatters/terminal_truecolor.rb +37 -0
  201. data/lib/rouge/formatters/tex.rb +92 -0
  202. data/lib/rouge/guesser.rb +57 -0
  203. data/lib/rouge/guessers/disambiguation.rb +136 -0
  204. data/lib/rouge/guessers/filename.rb +27 -0
  205. data/lib/rouge/guessers/glob_mapping.rb +45 -0
  206. data/lib/rouge/guessers/mimetype.rb +16 -0
  207. data/lib/rouge/guessers/modeline.rb +46 -0
  208. data/lib/rouge/guessers/source.rb +31 -0
  209. data/lib/rouge/guessers/util.rb +34 -0
  210. data/lib/rouge/lexer.rb +516 -0
  211. data/lib/rouge/lexers/abap.rb +240 -0
  212. data/lib/rouge/lexers/actionscript.rb +196 -0
  213. data/lib/rouge/lexers/ada.rb +162 -0
  214. data/lib/rouge/lexers/apache.rb +73 -0
  215. data/lib/rouge/lexers/apache/keywords.yml +764 -0
  216. data/lib/rouge/lexers/apex.rb +126 -0
  217. data/lib/rouge/lexers/apiblueprint.rb +49 -0
  218. data/lib/rouge/lexers/apple_script.rb +370 -0
  219. data/lib/rouge/lexers/armasm.rb +145 -0
  220. data/lib/rouge/lexers/awk.rb +162 -0
  221. data/lib/rouge/lexers/batchfile.rb +164 -0
  222. data/lib/rouge/lexers/bbcbasic.rb +112 -0
  223. data/lib/rouge/lexers/biml.rb +43 -0
  224. data/lib/rouge/lexers/bpf.rb +118 -0
  225. data/lib/rouge/lexers/brainfuck.rb +53 -0
  226. data/lib/rouge/lexers/bsl.rb +82 -0
  227. data/lib/rouge/lexers/c.rb +190 -0
  228. data/lib/rouge/lexers/ceylon.rb +96 -0
  229. data/lib/rouge/lexers/cfscript.rb +154 -0
  230. data/lib/rouge/lexers/clean.rb +156 -0
  231. data/lib/rouge/lexers/clojure.rb +113 -0
  232. data/lib/rouge/lexers/cmake.rb +207 -0
  233. data/lib/rouge/lexers/cmhg.rb +34 -0
  234. data/lib/rouge/lexers/coffeescript.rb +215 -0
  235. data/lib/rouge/lexers/common_lisp.rb +346 -0
  236. data/lib/rouge/lexers/conf.rb +25 -0
  237. data/lib/rouge/lexers/console.rb +174 -0
  238. data/lib/rouge/lexers/coq.rb +191 -0
  239. data/lib/rouge/lexers/cpp.rb +82 -0
  240. data/lib/rouge/lexers/crystal.rb +430 -0
  241. data/lib/rouge/lexers/csharp.rb +114 -0
  242. data/lib/rouge/lexers/css.rb +274 -0
  243. data/lib/rouge/lexers/csvs.rb +44 -0
  244. data/lib/rouge/lexers/cuda.rb +35 -0
  245. data/lib/rouge/lexers/cython.rb +151 -0
  246. data/lib/rouge/lexers/d.rb +177 -0
  247. data/lib/rouge/lexers/dart.rb +105 -0
  248. data/lib/rouge/lexers/diff.rb +37 -0
  249. data/lib/rouge/lexers/digdag.rb +70 -0
  250. data/lib/rouge/lexers/docker.rb +51 -0
  251. data/lib/rouge/lexers/dot.rb +69 -0
  252. data/lib/rouge/lexers/ecl.rb +175 -0
  253. data/lib/rouge/lexers/eex.rb +52 -0
  254. data/lib/rouge/lexers/eiffel.rb +66 -0
  255. data/lib/rouge/lexers/elixir.rb +149 -0
  256. data/lib/rouge/lexers/elm.rb +90 -0
  257. data/lib/rouge/lexers/epp.rb +51 -0
  258. data/lib/rouge/lexers/erb.rb +53 -0
  259. data/lib/rouge/lexers/erlang.rb +115 -0
  260. data/lib/rouge/lexers/escape.rb +58 -0
  261. data/lib/rouge/lexers/factor.rb +303 -0
  262. data/lib/rouge/lexers/fortran.rb +178 -0
  263. data/lib/rouge/lexers/freefem.rb +240 -0
  264. data/lib/rouge/lexers/fsharp.rb +119 -0
  265. data/lib/rouge/lexers/gdscript.rb +171 -0
  266. data/lib/rouge/lexers/ghc_core.rb +151 -0
  267. data/lib/rouge/lexers/gherkin.rb +140 -0
  268. data/lib/rouge/lexers/gherkin/keywords.rb +16 -0
  269. data/lib/rouge/lexers/glsl.rb +132 -0
  270. data/lib/rouge/lexers/go.rb +175 -0
  271. data/lib/rouge/lexers/gradle.rb +38 -0
  272. data/lib/rouge/lexers/graphql.rb +261 -0
  273. data/lib/rouge/lexers/groovy.rb +111 -0
  274. data/lib/rouge/lexers/hack.rb +49 -0
  275. data/lib/rouge/lexers/haml.rb +226 -0
  276. data/lib/rouge/lexers/handlebars.rb +91 -0
  277. data/lib/rouge/lexers/haskell.rb +199 -0
  278. data/lib/rouge/lexers/haxe.rb +246 -0
  279. data/lib/rouge/lexers/hcl.rb +163 -0
  280. data/lib/rouge/lexers/hocon.rb +86 -0
  281. data/lib/rouge/lexers/hql.rb +139 -0
  282. data/lib/rouge/lexers/html.rb +141 -0
  283. data/lib/rouge/lexers/http.rb +81 -0
  284. data/lib/rouge/lexers/hylang.rb +94 -0
  285. data/lib/rouge/lexers/idlang.rb +312 -0
  286. data/lib/rouge/lexers/igorpro.rb +664 -0
  287. data/lib/rouge/lexers/ini.rb +54 -0
  288. data/lib/rouge/lexers/io.rb +69 -0
  289. data/lib/rouge/lexers/irb.rb +67 -0
  290. data/lib/rouge/lexers/java.rb +91 -0
  291. data/lib/rouge/lexers/javascript.rb +279 -0
  292. data/lib/rouge/lexers/jinja.rb +154 -0
  293. data/lib/rouge/lexers/jsl.rb +55 -0
  294. data/lib/rouge/lexers/json.rb +69 -0
  295. data/lib/rouge/lexers/json_doc.rb +25 -0
  296. data/lib/rouge/lexers/jsonnet.rb +152 -0
  297. data/lib/rouge/lexers/jsp.rb +120 -0
  298. data/lib/rouge/lexers/jsx.rb +104 -0
  299. data/lib/rouge/lexers/julia.rb +290 -0
  300. data/lib/rouge/lexers/kotlin.rb +127 -0
  301. data/lib/rouge/lexers/lasso.rb +215 -0
  302. data/lib/rouge/lexers/lasso/keywords.yml +446 -0
  303. data/lib/rouge/lexers/liquid.rb +285 -0
  304. data/lib/rouge/lexers/literate_coffeescript.rb +34 -0
  305. data/lib/rouge/lexers/literate_haskell.rb +37 -0
  306. data/lib/rouge/lexers/llvm.rb +97 -0
  307. data/lib/rouge/lexers/lua.rb +164 -0
  308. data/lib/rouge/lexers/lua/builtins.rb +24 -0
  309. data/lib/rouge/lexers/lustre.rb +79 -0
  310. data/lib/rouge/lexers/lutin.rb +33 -0
  311. data/lib/rouge/lexers/m68k.rb +143 -0
  312. data/lib/rouge/lexers/magik.rb +127 -0
  313. data/lib/rouge/lexers/make.rb +135 -0
  314. data/lib/rouge/lexers/markdown.rb +182 -0
  315. data/lib/rouge/lexers/mason.rb +110 -0
  316. data/lib/rouge/lexers/mathematica.rb +96 -0
  317. data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
  318. data/lib/rouge/lexers/matlab.rb +81 -0
  319. data/lib/rouge/lexers/matlab/builtins.yml +3515 -0
  320. data/lib/rouge/lexers/minizinc.rb +87 -0
  321. data/lib/rouge/lexers/moonscript.rb +115 -0
  322. data/lib/rouge/lexers/mosel.rb +232 -0
  323. data/lib/rouge/lexers/msgtrans.rb +26 -0
  324. data/lib/rouge/lexers/mxml.rb +69 -0
  325. data/lib/rouge/lexers/nasm.rb +72 -0
  326. data/lib/rouge/lexers/nesasm.rb +78 -0
  327. data/lib/rouge/lexers/nginx.rb +72 -0
  328. data/lib/rouge/lexers/nim.rb +154 -0
  329. data/lib/rouge/lexers/nix.rb +211 -0
  330. data/lib/rouge/lexers/objective_c.rb +21 -0
  331. data/lib/rouge/lexers/objective_c/common.rb +184 -0
  332. data/lib/rouge/lexers/objective_cpp.rb +31 -0
  333. data/lib/rouge/lexers/ocaml.rb +65 -0
  334. data/lib/rouge/lexers/ocaml/common.rb +53 -0
  335. data/lib/rouge/lexers/openedge.rb +429 -0
  336. data/lib/rouge/lexers/opentype_feature_file.rb +113 -0
  337. data/lib/rouge/lexers/pascal.rb +67 -0
  338. data/lib/rouge/lexers/perl.rb +231 -0
  339. data/lib/rouge/lexers/php.rb +216 -0
  340. data/lib/rouge/lexers/php/builtins.rb +203 -0
  341. data/lib/rouge/lexers/plain_text.rb +27 -0
  342. data/lib/rouge/lexers/plist.rb +47 -0
  343. data/lib/rouge/lexers/pony.rb +94 -0
  344. data/lib/rouge/lexers/powershell.rb +230 -0
  345. data/lib/rouge/lexers/praat.rb +351 -0
  346. data/lib/rouge/lexers/prolog.rb +67 -0
  347. data/lib/rouge/lexers/prometheus.rb +123 -0
  348. data/lib/rouge/lexers/properties.rb +52 -0
  349. data/lib/rouge/lexers/protobuf.rb +71 -0
  350. data/lib/rouge/lexers/puppet.rb +129 -0
  351. data/lib/rouge/lexers/python.rb +248 -0
  352. data/lib/rouge/lexers/q.rb +126 -0
  353. data/lib/rouge/lexers/qml.rb +74 -0
  354. data/lib/rouge/lexers/r.rb +89 -0
  355. data/lib/rouge/lexers/racket.rb +545 -0
  356. data/lib/rouge/lexers/reasonml.rb +65 -0
  357. data/lib/rouge/lexers/robot_framework.rb +249 -0
  358. data/lib/rouge/lexers/ruby.rb +444 -0
  359. data/lib/rouge/lexers/rust.rb +193 -0
  360. data/lib/rouge/lexers/sas.rb +563 -0
  361. data/lib/rouge/lexers/sass.rb +75 -0
  362. data/lib/rouge/lexers/sass/common.rb +181 -0
  363. data/lib/rouge/lexers/scala.rb +169 -0
  364. data/lib/rouge/lexers/scheme.rb +113 -0
  365. data/lib/rouge/lexers/scss.rb +35 -0
  366. data/lib/rouge/lexers/sed.rb +173 -0
  367. data/lib/rouge/lexers/shell.rb +201 -0
  368. data/lib/rouge/lexers/sieve.rb +97 -0
  369. data/lib/rouge/lexers/slice.rb +32 -0
  370. data/lib/rouge/lexers/slim.rb +229 -0
  371. data/lib/rouge/lexers/smalltalk.rb +117 -0
  372. data/lib/rouge/lexers/smarty.rb +81 -0
  373. data/lib/rouge/lexers/sml.rb +345 -0
  374. data/lib/rouge/lexers/sparql.rb +129 -0
  375. data/lib/rouge/lexers/sqf.rb +109 -0
  376. data/lib/rouge/lexers/sqf/commands.rb +15 -0
  377. data/lib/rouge/lexers/sql.rb +161 -0
  378. data/lib/rouge/lexers/supercollider.rb +116 -0
  379. data/lib/rouge/lexers/swift.rb +186 -0
  380. data/lib/rouge/lexers/tap.rb +89 -0
  381. data/lib/rouge/lexers/tcl.rb +193 -0
  382. data/lib/rouge/lexers/terraform.rb +113 -0
  383. data/lib/rouge/lexers/tex.rb +70 -0
  384. data/lib/rouge/lexers/toml.rb +106 -0
  385. data/lib/rouge/lexers/tsx.rb +20 -0
  386. data/lib/rouge/lexers/ttcn3.rb +119 -0
  387. data/lib/rouge/lexers/tulip.rb +108 -0
  388. data/lib/rouge/lexers/turtle.rb +61 -0
  389. data/lib/rouge/lexers/twig.rb +40 -0
  390. data/lib/rouge/lexers/typescript.rb +30 -0
  391. data/lib/rouge/lexers/typescript/common.rb +34 -0
  392. data/lib/rouge/lexers/vala.rb +78 -0
  393. data/lib/rouge/lexers/varnish.rb +168 -0
  394. data/lib/rouge/lexers/vb.rb +165 -0
  395. data/lib/rouge/lexers/verilog.rb +163 -0
  396. data/lib/rouge/lexers/vhdl.rb +98 -0
  397. data/lib/rouge/lexers/viml.rb +102 -0
  398. data/lib/rouge/lexers/viml/keywords.rb +14 -0
  399. data/lib/rouge/lexers/vue.rb +124 -0
  400. data/lib/rouge/lexers/wollok.rb +104 -0
  401. data/lib/rouge/lexers/xml.rb +54 -0
  402. data/lib/rouge/lexers/xojo.rb +61 -0
  403. data/lib/rouge/lexers/xpath.rb +332 -0
  404. data/lib/rouge/lexers/xquery.rb +145 -0
  405. data/lib/rouge/lexers/yaml.rb +376 -0
  406. data/lib/rouge/plugins/redcarpet.rb +37 -0
  407. data/lib/rouge/regex_lexer.rb +443 -0
  408. data/lib/rouge/template_lexer.rb +21 -0
  409. data/lib/rouge/tex_theme_renderer.rb +132 -0
  410. data/lib/rouge/text_analyzer.rb +50 -0
  411. data/lib/rouge/theme.rb +218 -0
  412. data/lib/rouge/themes/base16.rb +131 -0
  413. data/lib/rouge/themes/bw.rb +41 -0
  414. data/lib/rouge/themes/colorful.rb +68 -0
  415. data/lib/rouge/themes/github.rb +72 -0
  416. data/lib/rouge/themes/gruvbox.rb +168 -0
  417. data/lib/rouge/themes/igor_pro.rb +21 -0
  418. data/lib/rouge/themes/magritte.rb +78 -0
  419. data/lib/rouge/themes/molokai.rb +83 -0
  420. data/lib/rouge/themes/monokai.rb +93 -0
  421. data/lib/rouge/themes/monokai_sublime.rb +93 -0
  422. data/lib/rouge/themes/pastie.rb +70 -0
  423. data/lib/rouge/themes/thankful_eyes.rb +75 -0
  424. data/lib/rouge/themes/tulip.rb +70 -0
  425. data/lib/rouge/token.rb +191 -0
  426. data/lib/rouge/util.rb +102 -0
  427. data/lib/rouge/version.rb +8 -0
  428. data/rouge.gemspec +26 -0
  429. metadata +476 -0
@@ -0,0 +1,11 @@
1
+ .bank 0
2
+ .org $C000
3
+ Reset:
4
+ jsr WaitSync ; wait for VSYNC
5
+ jsr ClearRAM ; clear RAM
6
+ jsr WaitSync ; wait for VSYNC (and PPU warmup)
7
+
8
+ lda #$3f ; $3F -> A register
9
+ ldy #$00 ; $00 -> Y register
10
+ sta PPU_ADDR ; write #HIGH byte first
11
+ sty PPU_ADDR ; $3F00 -> PPU address
@@ -0,0 +1,5 @@
1
+ server {
2
+ listen 80;
3
+ server_name example.com *.example.com;
4
+ rewrite ^ http://www.domain.com$request_uri? permanent;
5
+ }
@@ -0,0 +1,27 @@
1
+ import math,strutils
2
+
3
+ proc fixedWidth(input: string, minFieldSize: int):string {.inline.} =
4
+ # Note that field size is a minimum- will expand field if input
5
+ # string is larger
6
+ if input.startsWith("-"):
7
+ return(input & repeatchar(count=(abs(minFieldSize-len(input))),c=' '))
8
+ else:
9
+ return(" " & input & repeatchar(count=(abs(minFieldSize-len(input))-1),c=' '))
10
+
11
+ template mathOnInterval(lowbound,highbound:float,counts: int,p:proc) =
12
+ block:
13
+ var step: float = (highbound - lowbound)/(max(counts,1))
14
+ var current: float = lowbound
15
+ while current < highbound:
16
+ echo($fixedWidth($current,25) & ": " & $fixedWidth($p(current),25))
17
+ current += step
18
+
19
+ echo "Sine of theta from 0 to 2*PI by PI/12"
20
+ mathOnInterval(0.0,2.0*PI,12,sin)
21
+ echo("\n")
22
+ echo "Cosine of theta from 0 to 2*PI by PI/12"
23
+ mathOnInterval(0.0,2.0*PI,12,cos)
24
+
25
+ # The first example above is much the same as:
26
+ # for i in 1..100:
27
+ # echo($sin( (float(i)/100.0) * 2.0*PI ))
@@ -0,0 +1,19 @@
1
+ # See https://nixos.org/nix/manual/#sec-expression-syntax
2
+ { stdenv, fetchurl, perl }: # 1
3
+
4
+ stdenv.mkDerivation { # 2
5
+ name = "hello-2.1.1"; # 3
6
+ builder = ./builder.sh; # 4
7
+ meta = rec {
8
+ name = "rouge";
9
+ version = "${name}-2.1.1";
10
+ number = 55 + 12;
11
+ isSmaller = number < 42;
12
+ bool = true;
13
+ };
14
+ src = fetchurl { # 5
15
+ url = ftp://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz; # path
16
+ md5 = "70c9ccf9fac07f762c24f2df2290784d";
17
+ };
18
+ inherit perl; # 6
19
+ }
@@ -0,0 +1,18 @@
1
+ @interface Person : NSObject {
2
+ @public
3
+ NSString *name;
4
+ @private
5
+ int age;
6
+ }
7
+
8
+ @property(copy) NSString *name;
9
+ @property(readonly) int age;
10
+
11
+ -(id)initWithAge:(int)age;
12
+ @end
13
+
14
+ NSArray *arrayLiteral = @[@"abc", @1];
15
+ NSDictionary *dictLiteral = @{
16
+ @"hello": @"world",
17
+ @"goodbye": @"cruel world"
18
+ };
@@ -0,0 +1,17 @@
1
+ @import Foundation;
2
+ #import <array>
3
+ #include <vector>
4
+
5
+ @interface IntegerArray : NSObject {
6
+ std::vector<NSUInteger> _numbers;
7
+ }
8
+ @property(readonly) NSUInteger count;
9
+
10
+ - (instancetype)initWithNumbers:(NSUInteger *)numbers count:(NSUInteger)count;
11
+ - (NSUInteger)numberAtIndex:(NSUInteger)index;
12
+ @end
13
+
14
+ int main(int argc, char **argv) {
15
+ auto numbers = std::array<NSUInteger, 3>{1, 2, 3};
16
+ NSLog(@"%@", [[IntegerArray alloc] initWithNumbers:numbers.data() count:numbers.size()]);
17
+ }
@@ -0,0 +1,12 @@
1
+ (* Binary tree with leaves car­rying an integer. *)
2
+ type tree = Leaf of int | Node of tree * tree
3
+
4
+ let rec exists_leaf test tree =
5
+ match tree with
6
+ | Leaf v -> test v
7
+ | Node (left, right) ->
8
+ exists_leaf test left
9
+ || exists_leaf test right
10
+
11
+ let has_even_leaf tree =
12
+ exists_leaf (fun n -> n mod 2 = 0) tree
@@ -0,0 +1,4 @@
1
+ FORM
2
+ "Hello World!" VIEW-AS TEXT AT COL 20 ROW 2
3
+ btnOK AT COL 20 ROW 4
4
+ WITH FRAME f SIZE 50 BY 5 NO-BOX THREE-D.
@@ -0,0 +1,6 @@
1
+ languagesystem DFLT dflt;
2
+
3
+ feature liga {
4
+ sub f i by f_i;
5
+ } liga;
6
+
@@ -0,0 +1,14 @@
1
+ program FizzBuzz(output);
2
+ var
3
+ i: Integer;
4
+ begin
5
+ for i := 1 to 100 do
6
+ if i mod 15 = 0 then
7
+ WriteLn('FizzBuzz')
8
+ else if i mod 3 = 0 then
9
+ WriteLn('Fizz')
10
+ else if i mod 5 = 0 then
11
+ WriteLn('Buzz')
12
+ else
13
+ WriteLn(i)
14
+ end.
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env perl
2
+ use warnings;
3
+ print "a: ";
4
+ my $a = "foo";
5
+ print $a;
@@ -0,0 +1,3 @@
1
+ <?php
2
+ print("Hello {$world}");
3
+ ?>
@@ -0,0 +1 @@
1
+ plain text :)
@@ -0,0 +1,11 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+ /* ... */
9
+ };
10
+ rootObject = B3A67937542EC2041CBF1CA2 /* Project object */;
11
+ }
@@ -0,0 +1,17 @@
1
+ use "ponytest"
2
+
3
+ actor Main is TestList
4
+ new create(env: Env) => PonyTest(env, this)
5
+ new make() => None
6
+
7
+ fun tag tests(test: PonyTest) =>
8
+ test(_TestAddition)
9
+
10
+ class iso _TestAddition is UnitTest
11
+ """
12
+ Adding 2 numbers
13
+ """
14
+ fun name(): String => "u32/add"
15
+
16
+ fun apply(h: TestHelper): TestResult =>
17
+ h.expect_eq[U32](2 + 2, 4)
@@ -0,0 +1,13 @@
1
+ function Verb-Noun
2
+ {
3
+ <#
4
+ .SYNOPSIS
5
+ Tells you what it does
6
+
7
+ .DESCRIPTION
8
+ Tells you what it does with more detail.
9
+ #>
10
+ param ([string]$Name, [string]$Extension = "txt", [string]$foo="bar")
11
+ $name = $name + "." + $extension
12
+ $name
13
+ }
@@ -0,0 +1,26 @@
1
+ form Copy selected files...
2
+ word Prefix
3
+ word Suffix _copy
4
+ boolean Keep_original 1
5
+ endform
6
+
7
+ total_objects = numberOfSelected()
8
+ for i to total_objects
9
+ my_object[i] = selected(i)
10
+ endfor
11
+ for i to total_objects
12
+ selectObject: my_object[i]
13
+ @copy()
14
+ new[i] = selected()
15
+ endfor
16
+ if total_objects
17
+ selectObject: new[1]
18
+ for i from 2 to total_objects
19
+ plusObject: new[i]
20
+ endfor
21
+ endif
22
+
23
+ procedure copy ()
24
+ .name$ = extractWord$(selected$(), " ")
25
+ Copy: prefix$ + .name$ + suffix$
26
+ endproc
@@ -0,0 +1,9 @@
1
+ diff(plus(A,B), X, plus(DA, DB))
2
+ <= diff(A, X, DA) and diff(B, X, DB).
3
+
4
+ diff(times(A,B), X, plus(times(A, DB), times(DA, B)))
5
+ <= diff(A, X, DA) and diff(B, X, DB).
6
+
7
+ equal(X, X).
8
+ diff(X, X, 1).
9
+ diff(Y, X, 0) <= not equal(Y, X).
@@ -0,0 +1,9 @@
1
+ "this is a string"
2
+ 'these are unescaped: \n \\ \t'
3
+ `these are not unescaped: \n ' " \t`
4
+
5
+ http_requests_total{environment=~"staging|testing|development", method!="GET"}
6
+
7
+ http_requests_total offset 5m
8
+
9
+ sum(http_requests_total{method="GET"}[10m] offset 5m)
@@ -0,0 +1,7 @@
1
+ # You are reading the ".properties" entry.
2
+ ! The exclamation mark can also mark text as comments.
3
+ website = http\://en.wikipedia.org/
4
+ language = English
5
+ country : Poland
6
+ continent=Europe
7
+ key.with.dots=This is the value that could be looked up with the key "key.with.dots".
@@ -0,0 +1,5 @@
1
+ message Person {
2
+ required string name = 1;
3
+ required int32 id = 2;
4
+ optional string email = 3;
5
+ }
@@ -0,0 +1,6 @@
1
+ service { 'ntp':
2
+ name => $service_name,
3
+ ensure => running,
4
+ enable => true,
5
+ subscribe => File['ntp.conf'],
6
+ }
@@ -0,0 +1,6 @@
1
+ def fib(n): # write Fibonacci series up to n
2
+ """Print a Fibonacci series up to n."""
3
+ a, b = 0, 1
4
+ while a < n:
5
+ print a,
6
+ a, b = b, a+b
@@ -0,0 +1,8 @@
1
+ / comment
2
+ x: til 10
3
+
4
+ tab:([]a:1 2 3;b:`a `b `c);
5
+
6
+ function:{[table]
7
+ select from table where b=`c
8
+ };
@@ -0,0 +1,9 @@
1
+ import QtQuick 2.0
2
+ Item {
3
+ width: 200
4
+ height: 100
5
+ MouseArea {
6
+ anchors.fill: parent
7
+ onClicked: Qt.quit()
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ dbenford <- function(x){
2
+ log10(1 + 1/x)
3
+ }
4
+
5
+ pbenford <- function(q){
6
+ cumprobs <- cumsum(dbenford(1:9))
7
+ return(cumprobs[q])
8
+ }
@@ -0,0 +1,24 @@
1
+ #lang racket
2
+
3
+ ;; draw a graph of cos and deriv^3(cos)
4
+ (require plot)
5
+ (define ((deriv f) x)
6
+ (/ (- (f x) (f (- x 0.001))) 0.001))
7
+ (define (thrice f) (lambda (x) (f (f (f x)))))
8
+ (plot (list (function ((thrice deriv) sin) -5 5)
9
+ (function cos -5 5 #:color 'blue)))
10
+
11
+ ;; Print the Greek alphabet
12
+ (for ([i (in-range 25)])
13
+ (displayln
14
+ (integer->char
15
+ (+ i (char->integer #\u3B1)))))
16
+
17
+ ;; An echo server
18
+ (define listener (tcp-listen 12345))
19
+ (let echo-server ()
20
+ (define-values (in out) (tcp-accept listener))
21
+ (thread (λ ()
22
+ (copy-port in out)
23
+ (close-output-port out)))
24
+ (echo-server))
@@ -0,0 +1,12 @@
1
+ /* I like a teacher who gives you something to take
2
+ home to think about besides homework. */
3
+ let gpa_score = 5.0;
4
+ type schoolPerson = Teacher | Director | Student(string);
5
+
6
+ let greeting = person =>
7
+ switch (person) {
8
+ | Teacher => "Hey Professor!"
9
+ | Director => "Hello Director."
10
+ | Student("Richard") => "Still here Ricky?"
11
+ | Student(anyOtherName) => "Hey, " ++ anyOtherName ++ "."
12
+ };
@@ -0,0 +1,27 @@
1
+ *** Settings ***
2
+ Document Example taken from http://robotframework.org/
3
+ Suite Setup Open Browser To Login Page
4
+ Suite Teardown Close Browser
5
+ Test Setup Go To Login Page
6
+ Test Template Login With Invalid Credentials Should Fail
7
+ Resource resource.txt
8
+
9
+ *** Test Cases *** User Name Password
10
+ Invalid Username invalid ${VALID PASSWORD}
11
+ Invalid Password ${VALID USER} invalid
12
+ Invalid Username And Password invalid whatever
13
+ Empty Username ${EMPTY} ${VALID PASSWORD}
14
+ Empty Password ${VALID USER} ${EMPTY}
15
+ Empty Username And Password ${EMPTY} ${EMPTY}
16
+
17
+ *** Keywords ***
18
+ Login With Invalid Credentials Should Fail
19
+ [Arguments] ${username} ${password}
20
+ Input Username ${username}
21
+ Input Password ${password}
22
+ Submit Credentials
23
+ Login Should Have Failed
24
+
25
+ Login Should Have Failed
26
+ Location Should Be ${ERROR URL}
27
+ Title Should Be Error Page
@@ -0,0 +1,9 @@
1
+ class Greeter
2
+ def initialize(name="World")
3
+ @name = name
4
+ end
5
+
6
+ def say_hi
7
+ puts "Hi #{@name}!"
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ use core::*;
2
+
3
+ fn main() {
4
+ for ["Alice", "Bob", "Carol"].each |&name| {
5
+ do task::spawn {
6
+ let v = rand::Rng().shuffle([1, 2, 3]);
7
+ for v.each |&num| {
8
+ io::print(fmt!("%s says: '%d'\n", name, num))
9
+ }
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ data sim;
2
+ do i = 1 to 100;
3
+ x1 = rand("Normal");
4
+ x2 = rand("Binomial", 0.5, 100);
5
+ output;
6
+ end;
7
+ run;
8
+
9
+ proc means data=sashelp.class;
10
+ class sex;
11
+ var height weight;
12
+ output out = mean_by_sex;
13
+ run;
@@ -0,0 +1,3 @@
1
+ @for $i from 1 through 3
2
+ .item-#{$i}
3
+ width: 2em * $i
@@ -0,0 +1,3 @@
1
+ class Greeter(name: String = "World") {
2
+ def sayHi() { println("Hi " + name + "!") }
3
+ }
@@ -0,0 +1,4 @@
1
+ (define Y
2
+ (lambda (m)
3
+ ((lambda (f) (m (lambda (a) ((f f) a))))
4
+ (lambda (f) (m (lambda (a) ((f f) a)))))))