nano-max-hub 0.0.1

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 (540) hide show
  1. checksums.yaml +7 -0
  2. data/nano-max-hub.gemspec +12 -0
  3. data/rouge-5.0.0/Gemfile +48 -0
  4. data/rouge-5.0.0/LICENSE +187 -0
  5. data/rouge-5.0.0/bin/rougify +17 -0
  6. data/rouge-5.0.0/lib/rouge/cli.rb +527 -0
  7. data/rouge-5.0.0/lib/rouge/demos/abap +32 -0
  8. data/rouge-5.0.0/lib/rouge/demos/actionscript +4 -0
  9. data/rouge-5.0.0/lib/rouge/demos/ada +26 -0
  10. data/rouge-5.0.0/lib/rouge/demos/apache +21 -0
  11. data/rouge-5.0.0/lib/rouge/demos/apex +9 -0
  12. data/rouge-5.0.0/lib/rouge/demos/apiblueprint +33 -0
  13. data/rouge-5.0.0/lib/rouge/demos/applescript +2 -0
  14. data/rouge-5.0.0/lib/rouge/demos/armasm +12 -0
  15. data/rouge-5.0.0/lib/rouge/demos/augeas +16 -0
  16. data/rouge-5.0.0/lib/rouge/demos/awk +4 -0
  17. data/rouge-5.0.0/lib/rouge/demos/batchfile +3 -0
  18. data/rouge-5.0.0/lib/rouge/demos/bbcbasic +6 -0
  19. data/rouge-5.0.0/lib/rouge/demos/bibtex +12 -0
  20. data/rouge-5.0.0/lib/rouge/demos/bicep +10 -0
  21. data/rouge-5.0.0/lib/rouge/demos/biml +38 -0
  22. data/rouge-5.0.0/lib/rouge/demos/bpf +7 -0
  23. data/rouge-5.0.0/lib/rouge/demos/brainfuck +5 -0
  24. data/rouge-5.0.0/lib/rouge/demos/brightscript +6 -0
  25. data/rouge-5.0.0/lib/rouge/demos/bsl +7 -0
  26. data/rouge-5.0.0/lib/rouge/demos/c +8 -0
  27. data/rouge-5.0.0/lib/rouge/demos/ceylon +7 -0
  28. data/rouge-5.0.0/lib/rouge/demos/cfscript +18 -0
  29. data/rouge-5.0.0/lib/rouge/demos/cisco_ios +19 -0
  30. data/rouge-5.0.0/lib/rouge/demos/clean +6 -0
  31. data/rouge-5.0.0/lib/rouge/demos/clojure +5 -0
  32. data/rouge-5.0.0/lib/rouge/demos/cmake +7 -0
  33. data/rouge-5.0.0/lib/rouge/demos/cmhg +8 -0
  34. data/rouge-5.0.0/lib/rouge/demos/cobol +103 -0
  35. data/rouge-5.0.0/lib/rouge/demos/codeowners +6 -0
  36. data/rouge-5.0.0/lib/rouge/demos/coffeescript +5 -0
  37. data/rouge-5.0.0/lib/rouge/demos/common_lisp +1 -0
  38. data/rouge-5.0.0/lib/rouge/demos/conf +4 -0
  39. data/rouge-5.0.0/lib/rouge/demos/console +6 -0
  40. data/rouge-5.0.0/lib/rouge/demos/cpp +8 -0
  41. data/rouge-5.0.0/lib/rouge/demos/crystal +45 -0
  42. data/rouge-5.0.0/lib/rouge/demos/csharp +5 -0
  43. data/rouge-5.0.0/lib/rouge/demos/css +4 -0
  44. data/rouge-5.0.0/lib/rouge/demos/csvs +8 -0
  45. data/rouge-5.0.0/lib/rouge/demos/cuda +11 -0
  46. data/rouge-5.0.0/lib/rouge/demos/cypher +5 -0
  47. data/rouge-5.0.0/lib/rouge/demos/cython +6 -0
  48. data/rouge-5.0.0/lib/rouge/demos/d +16 -0
  49. data/rouge-5.0.0/lib/rouge/demos/dafny +16 -0
  50. data/rouge-5.0.0/lib/rouge/demos/dart +6 -0
  51. data/rouge-5.0.0/lib/rouge/demos/datastudio +20 -0
  52. data/rouge-5.0.0/lib/rouge/demos/diff +7 -0
  53. data/rouge-5.0.0/lib/rouge/demos/digdag +19 -0
  54. data/rouge-5.0.0/lib/rouge/demos/docker +9 -0
  55. data/rouge-5.0.0/lib/rouge/demos/dot +5 -0
  56. data/rouge-5.0.0/lib/rouge/demos/dylan +8 -0
  57. data/rouge-5.0.0/lib/rouge/demos/ecl +17 -0
  58. data/rouge-5.0.0/lib/rouge/demos/eex +1 -0
  59. data/rouge-5.0.0/lib/rouge/demos/eiffel +30 -0
  60. data/rouge-5.0.0/lib/rouge/demos/elixir +1 -0
  61. data/rouge-5.0.0/lib/rouge/demos/elm +4 -0
  62. data/rouge-5.0.0/lib/rouge/demos/email +11 -0
  63. data/rouge-5.0.0/lib/rouge/demos/epp +4 -0
  64. data/rouge-5.0.0/lib/rouge/demos/erb +1 -0
  65. data/rouge-5.0.0/lib/rouge/demos/erlang +7 -0
  66. data/rouge-5.0.0/lib/rouge/demos/escape +3 -0
  67. data/rouge-5.0.0/lib/rouge/demos/factor +5 -0
  68. data/rouge-5.0.0/lib/rouge/demos/fluent +13 -0
  69. data/rouge-5.0.0/lib/rouge/demos/fortran +22 -0
  70. data/rouge-5.0.0/lib/rouge/demos/freefem +16 -0
  71. data/rouge-5.0.0/lib/rouge/demos/fsharp +12 -0
  72. data/rouge-5.0.0/lib/rouge/demos/gdscript +18 -0
  73. data/rouge-5.0.0/lib/rouge/demos/ghc-cmm +23 -0
  74. data/rouge-5.0.0/lib/rouge/demos/ghc-core +26 -0
  75. data/rouge-5.0.0/lib/rouge/demos/gherkin +17 -0
  76. data/rouge-5.0.0/lib/rouge/demos/gjs +23 -0
  77. data/rouge-5.0.0/lib/rouge/demos/glsl +14 -0
  78. data/rouge-5.0.0/lib/rouge/demos/go +7 -0
  79. data/rouge-5.0.0/lib/rouge/demos/gradle +10 -0
  80. data/rouge-5.0.0/lib/rouge/demos/graphql +17 -0
  81. data/rouge-5.0.0/lib/rouge/demos/groovy +9 -0
  82. data/rouge-5.0.0/lib/rouge/demos/gts +36 -0
  83. data/rouge-5.0.0/lib/rouge/demos/hack +5 -0
  84. data/rouge-5.0.0/lib/rouge/demos/haml +5 -0
  85. data/rouge-5.0.0/lib/rouge/demos/handlebars +7 -0
  86. data/rouge-5.0.0/lib/rouge/demos/haskell +6 -0
  87. data/rouge-5.0.0/lib/rouge/demos/haxe +4 -0
  88. data/rouge-5.0.0/lib/rouge/demos/hcl +7 -0
  89. data/rouge-5.0.0/lib/rouge/demos/hlsl +20 -0
  90. data/rouge-5.0.0/lib/rouge/demos/hocon +8 -0
  91. data/rouge-5.0.0/lib/rouge/demos/hql +5 -0
  92. data/rouge-5.0.0/lib/rouge/demos/html +8 -0
  93. data/rouge-5.0.0/lib/rouge/demos/http +14 -0
  94. data/rouge-5.0.0/lib/rouge/demos/hylang +10 -0
  95. data/rouge-5.0.0/lib/rouge/demos/idlang +8 -0
  96. data/rouge-5.0.0/lib/rouge/demos/idris +13 -0
  97. data/rouge-5.0.0/lib/rouge/demos/iecst +21 -0
  98. data/rouge-5.0.0/lib/rouge/demos/igorpro +9 -0
  99. data/rouge-5.0.0/lib/rouge/demos/ini +4 -0
  100. data/rouge-5.0.0/lib/rouge/demos/io +11 -0
  101. data/rouge-5.0.0/lib/rouge/demos/irb +4 -0
  102. data/rouge-5.0.0/lib/rouge/demos/irb_output +2 -0
  103. data/rouge-5.0.0/lib/rouge/demos/isabelle +16 -0
  104. data/rouge-5.0.0/lib/rouge/demos/isbl +4 -0
  105. data/rouge-5.0.0/lib/rouge/demos/j +12 -0
  106. data/rouge-5.0.0/lib/rouge/demos/janet +3 -0
  107. data/rouge-5.0.0/lib/rouge/demos/java +5 -0
  108. data/rouge-5.0.0/lib/rouge/demos/javascript +1 -0
  109. data/rouge-5.0.0/lib/rouge/demos/jinja +9 -0
  110. data/rouge-5.0.0/lib/rouge/demos/jsl +3 -0
  111. data/rouge-5.0.0/lib/rouge/demos/json +1 -0
  112. data/rouge-5.0.0/lib/rouge/demos/json-doc +1 -0
  113. data/rouge-5.0.0/lib/rouge/demos/json5 +12 -0
  114. data/rouge-5.0.0/lib/rouge/demos/jsonnet +28 -0
  115. data/rouge-5.0.0/lib/rouge/demos/jsp +29 -0
  116. data/rouge-5.0.0/lib/rouge/demos/jsx +17 -0
  117. data/rouge-5.0.0/lib/rouge/demos/julia +11 -0
  118. data/rouge-5.0.0/lib/rouge/demos/kick_assembler +14 -0
  119. data/rouge-5.0.0/lib/rouge/demos/kotlin +3 -0
  120. data/rouge-5.0.0/lib/rouge/demos/lasso +12 -0
  121. data/rouge-5.0.0/lib/rouge/demos/lean +8 -0
  122. data/rouge-5.0.0/lib/rouge/demos/liquid +10 -0
  123. data/rouge-5.0.0/lib/rouge/demos/literate_coffeescript +3 -0
  124. data/rouge-5.0.0/lib/rouge/demos/literate_haskell +7 -0
  125. data/rouge-5.0.0/lib/rouge/demos/livescript +15 -0
  126. data/rouge-5.0.0/lib/rouge/demos/llvm +20 -0
  127. data/rouge-5.0.0/lib/rouge/demos/lua +12 -0
  128. data/rouge-5.0.0/lib/rouge/demos/lustre +6 -0
  129. data/rouge-5.0.0/lib/rouge/demos/lutin +18 -0
  130. data/rouge-5.0.0/lib/rouge/demos/m68k +16 -0
  131. data/rouge-5.0.0/lib/rouge/demos/magik +6 -0
  132. data/rouge-5.0.0/lib/rouge/demos/make +6 -0
  133. data/rouge-5.0.0/lib/rouge/demos/markdown +4 -0
  134. data/rouge-5.0.0/lib/rouge/demos/mason +22 -0
  135. data/rouge-5.0.0/lib/rouge/demos/mathematica +8 -0
  136. data/rouge-5.0.0/lib/rouge/demos/matlab +6 -0
  137. data/rouge-5.0.0/lib/rouge/demos/meson +10 -0
  138. data/rouge-5.0.0/lib/rouge/demos/minizinc +23 -0
  139. data/rouge-5.0.0/lib/rouge/demos/mojo +10 -0
  140. data/rouge-5.0.0/lib/rouge/demos/moonscript +16 -0
  141. data/rouge-5.0.0/lib/rouge/demos/mosel +10 -0
  142. data/rouge-5.0.0/lib/rouge/demos/msgtrans +4 -0
  143. data/rouge-5.0.0/lib/rouge/demos/mxml +22 -0
  144. data/rouge-5.0.0/lib/rouge/demos/nasm +26 -0
  145. data/rouge-5.0.0/lib/rouge/demos/nesasm +11 -0
  146. data/rouge-5.0.0/lib/rouge/demos/nginx +5 -0
  147. data/rouge-5.0.0/lib/rouge/demos/nial +35 -0
  148. data/rouge-5.0.0/lib/rouge/demos/nim +27 -0
  149. data/rouge-5.0.0/lib/rouge/demos/nix +19 -0
  150. data/rouge-5.0.0/lib/rouge/demos/objective_c +18 -0
  151. data/rouge-5.0.0/lib/rouge/demos/objective_cpp +17 -0
  152. data/rouge-5.0.0/lib/rouge/demos/ocaml +12 -0
  153. data/rouge-5.0.0/lib/rouge/demos/ocl +4 -0
  154. data/rouge-5.0.0/lib/rouge/demos/openedge +4 -0
  155. data/rouge-5.0.0/lib/rouge/demos/opentype_feature_file +5 -0
  156. data/rouge-5.0.0/lib/rouge/demos/p4 +99 -0
  157. data/rouge-5.0.0/lib/rouge/demos/pascal +14 -0
  158. data/rouge-5.0.0/lib/rouge/demos/pdf +29 -0
  159. data/rouge-5.0.0/lib/rouge/demos/perl +5 -0
  160. data/rouge-5.0.0/lib/rouge/demos/php +3 -0
  161. data/rouge-5.0.0/lib/rouge/demos/plaintext +1 -0
  162. data/rouge-5.0.0/lib/rouge/demos/plist +11 -0
  163. data/rouge-5.0.0/lib/rouge/demos/plsql +2 -0
  164. data/rouge-5.0.0/lib/rouge/demos/pony +17 -0
  165. data/rouge-5.0.0/lib/rouge/demos/postscript +9 -0
  166. data/rouge-5.0.0/lib/rouge/demos/powershell +13 -0
  167. data/rouge-5.0.0/lib/rouge/demos/praat +26 -0
  168. data/rouge-5.0.0/lib/rouge/demos/prolog +9 -0
  169. data/rouge-5.0.0/lib/rouge/demos/prometheus +9 -0
  170. data/rouge-5.0.0/lib/rouge/demos/properties +7 -0
  171. data/rouge-5.0.0/lib/rouge/demos/protobuf +5 -0
  172. data/rouge-5.0.0/lib/rouge/demos/puppet +6 -0
  173. data/rouge-5.0.0/lib/rouge/demos/python +6 -0
  174. data/rouge-5.0.0/lib/rouge/demos/q +8 -0
  175. data/rouge-5.0.0/lib/rouge/demos/qml +9 -0
  176. data/rouge-5.0.0/lib/rouge/demos/r +8 -0
  177. data/rouge-5.0.0/lib/rouge/demos/racket +24 -0
  178. data/rouge-5.0.0/lib/rouge/demos/reasonml +12 -0
  179. data/rouge-5.0.0/lib/rouge/demos/rego +8 -0
  180. data/rouge-5.0.0/lib/rouge/demos/rescript +26 -0
  181. data/rouge-5.0.0/lib/rouge/demos/rml +33 -0
  182. data/rouge-5.0.0/lib/rouge/demos/robot_framework +27 -0
  183. data/rouge-5.0.0/lib/rouge/demos/rocq +16 -0
  184. data/rouge-5.0.0/lib/rouge/demos/ruby +9 -0
  185. data/rouge-5.0.0/lib/rouge/demos/rust +12 -0
  186. data/rouge-5.0.0/lib/rouge/demos/sas +13 -0
  187. data/rouge-5.0.0/lib/rouge/demos/sass +3 -0
  188. data/rouge-5.0.0/lib/rouge/demos/scala +3 -0
  189. data/rouge-5.0.0/lib/rouge/demos/scheme +4 -0
  190. data/rouge-5.0.0/lib/rouge/demos/scss +5 -0
  191. data/rouge-5.0.0/lib/rouge/demos/sed +4 -0
  192. data/rouge-5.0.0/lib/rouge/demos/shell +2 -0
  193. data/rouge-5.0.0/lib/rouge/demos/sieve +10 -0
  194. data/rouge-5.0.0/lib/rouge/demos/slice +10 -0
  195. data/rouge-5.0.0/lib/rouge/demos/slim +17 -0
  196. data/rouge-5.0.0/lib/rouge/demos/smalltalk +6 -0
  197. data/rouge-5.0.0/lib/rouge/demos/smarty +11 -0
  198. data/rouge-5.0.0/lib/rouge/demos/sml +4 -0
  199. data/rouge-5.0.0/lib/rouge/demos/sparql +6 -0
  200. data/rouge-5.0.0/lib/rouge/demos/sqf +14 -0
  201. data/rouge-5.0.0/lib/rouge/demos/sql +1 -0
  202. data/rouge-5.0.0/lib/rouge/demos/ssh +4 -0
  203. data/rouge-5.0.0/lib/rouge/demos/stan +13 -0
  204. data/rouge-5.0.0/lib/rouge/demos/stata +14 -0
  205. data/rouge-5.0.0/lib/rouge/demos/supercollider +11 -0
  206. data/rouge-5.0.0/lib/rouge/demos/svelte +29 -0
  207. data/rouge-5.0.0/lib/rouge/demos/swift +5 -0
  208. data/rouge-5.0.0/lib/rouge/demos/systemd +4 -0
  209. data/rouge-5.0.0/lib/rouge/demos/syzlang +15 -0
  210. data/rouge-5.0.0/lib/rouge/demos/syzprog +8 -0
  211. data/rouge-5.0.0/lib/rouge/demos/tap +5 -0
  212. data/rouge-5.0.0/lib/rouge/demos/tcl +1 -0
  213. data/rouge-5.0.0/lib/rouge/demos/terraform +16 -0
  214. data/rouge-5.0.0/lib/rouge/demos/tex +1 -0
  215. data/rouge-5.0.0/lib/rouge/demos/thrift +15 -0
  216. data/rouge-5.0.0/lib/rouge/demos/toml +9 -0
  217. data/rouge-5.0.0/lib/rouge/demos/tsx +17 -0
  218. data/rouge-5.0.0/lib/rouge/demos/ttcn3 +6 -0
  219. data/rouge-5.0.0/lib/rouge/demos/tulip +13 -0
  220. data/rouge-5.0.0/lib/rouge/demos/turtle +26 -0
  221. data/rouge-5.0.0/lib/rouge/demos/twig +9 -0
  222. data/rouge-5.0.0/lib/rouge/demos/typescript +1 -0
  223. data/rouge-5.0.0/lib/rouge/demos/vala +8 -0
  224. data/rouge-5.0.0/lib/rouge/demos/vb +4 -0
  225. data/rouge-5.0.0/lib/rouge/demos/vcl +12 -0
  226. data/rouge-5.0.0/lib/rouge/demos/velocity +9 -0
  227. data/rouge-5.0.0/lib/rouge/demos/verilog +27 -0
  228. data/rouge-5.0.0/lib/rouge/demos/veryl +24 -0
  229. data/rouge-5.0.0/lib/rouge/demos/vhdl +23 -0
  230. data/rouge-5.0.0/lib/rouge/demos/viml +14 -0
  231. data/rouge-5.0.0/lib/rouge/demos/vue +11 -0
  232. data/rouge-5.0.0/lib/rouge/demos/wollok +11 -0
  233. data/rouge-5.0.0/lib/rouge/demos/xml +2 -0
  234. data/rouge-5.0.0/lib/rouge/demos/xojo +14 -0
  235. data/rouge-5.0.0/lib/rouge/demos/xpath +2 -0
  236. data/rouge-5.0.0/lib/rouge/demos/xquery +22 -0
  237. data/rouge-5.0.0/lib/rouge/demos/yaml +4 -0
  238. data/rouge-5.0.0/lib/rouge/demos/yang +17 -0
  239. data/rouge-5.0.0/lib/rouge/demos/zig +6 -0
  240. data/rouge-5.0.0/lib/rouge/eager.rb +3 -0
  241. data/rouge-5.0.0/lib/rouge/formatter.rb +112 -0
  242. data/rouge-5.0.0/lib/rouge/formatters/html.rb +64 -0
  243. data/rouge-5.0.0/lib/rouge/formatters/html_debug.rb +16 -0
  244. data/rouge-5.0.0/lib/rouge/formatters/html_inline.rb +30 -0
  245. data/rouge-5.0.0/lib/rouge/formatters/html_legacy.rb +56 -0
  246. data/rouge-5.0.0/lib/rouge/formatters/html_legacy_table.rb +57 -0
  247. data/rouge-5.0.0/lib/rouge/formatters/html_line_highlighter.rb +31 -0
  248. data/rouge-5.0.0/lib/rouge/formatters/html_line_table.rb +56 -0
  249. data/rouge-5.0.0/lib/rouge/formatters/html_linewise.rb +31 -0
  250. data/rouge-5.0.0/lib/rouge/formatters/html_pygments.rb +23 -0
  251. data/rouge-5.0.0/lib/rouge/formatters/html_table.rb +77 -0
  252. data/rouge-5.0.0/lib/rouge/formatters/null.rb +20 -0
  253. data/rouge-5.0.0/lib/rouge/formatters/terminal256.rb +198 -0
  254. data/rouge-5.0.0/lib/rouge/formatters/terminal_truecolor.rb +37 -0
  255. data/rouge-5.0.0/lib/rouge/formatters/tex.rb +92 -0
  256. data/rouge-5.0.0/lib/rouge/guesser.rb +57 -0
  257. data/rouge-5.0.0/lib/rouge/guessers/disambiguation.rb +172 -0
  258. data/rouge-5.0.0/lib/rouge/guessers/filename.rb +27 -0
  259. data/rouge-5.0.0/lib/rouge/guessers/glob_mapping.rb +45 -0
  260. data/rouge-5.0.0/lib/rouge/guessers/mimetype.rb +16 -0
  261. data/rouge-5.0.0/lib/rouge/guessers/modeline.rb +46 -0
  262. data/rouge-5.0.0/lib/rouge/guessers/source.rb +31 -0
  263. data/rouge-5.0.0/lib/rouge/guessers/util.rb +34 -0
  264. data/rouge-5.0.0/lib/rouge/lexer.rb +556 -0
  265. data/rouge-5.0.0/lib/rouge/lexers/abap/builtins.rb +187 -0
  266. data/rouge-5.0.0/lib/rouge/lexers/abap.rb +132 -0
  267. data/rouge-5.0.0/lib/rouge/lexers/actionscript.rb +196 -0
  268. data/rouge-5.0.0/lib/rouge/lexers/ada.rb +162 -0
  269. data/rouge-5.0.0/lib/rouge/lexers/apache/keywords.rb +16 -0
  270. data/rouge-5.0.0/lib/rouge/lexers/apache.rb +84 -0
  271. data/rouge-5.0.0/lib/rouge/lexers/apex.rb +128 -0
  272. data/rouge-5.0.0/lib/rouge/lexers/apiblueprint.rb +49 -0
  273. data/rouge-5.0.0/lib/rouge/lexers/apple_script.rb +370 -0
  274. data/rouge-5.0.0/lib/rouge/lexers/armasm.rb +145 -0
  275. data/rouge-5.0.0/lib/rouge/lexers/augeas.rb +93 -0
  276. data/rouge-5.0.0/lib/rouge/lexers/awk.rb +162 -0
  277. data/rouge-5.0.0/lib/rouge/lexers/batchfile.rb +165 -0
  278. data/rouge-5.0.0/lib/rouge/lexers/bbcbasic.rb +112 -0
  279. data/rouge-5.0.0/lib/rouge/lexers/bibtex.rb +115 -0
  280. data/rouge-5.0.0/lib/rouge/lexers/bicep.rb +111 -0
  281. data/rouge-5.0.0/lib/rouge/lexers/biml.rb +70 -0
  282. data/rouge-5.0.0/lib/rouge/lexers/bpf.rb +118 -0
  283. data/rouge-5.0.0/lib/rouge/lexers/brainfuck.rb +54 -0
  284. data/rouge-5.0.0/lib/rouge/lexers/brightscript.rb +146 -0
  285. data/rouge-5.0.0/lib/rouge/lexers/bsl.rb +82 -0
  286. data/rouge-5.0.0/lib/rouge/lexers/c.rb +204 -0
  287. data/rouge-5.0.0/lib/rouge/lexers/ceylon.rb +96 -0
  288. data/rouge-5.0.0/lib/rouge/lexers/cfscript.rb +154 -0
  289. data/rouge-5.0.0/lib/rouge/lexers/cisco_ios.rb +83 -0
  290. data/rouge-5.0.0/lib/rouge/lexers/clean.rb +156 -0
  291. data/rouge-5.0.0/lib/rouge/lexers/clojure.rb +113 -0
  292. data/rouge-5.0.0/lib/rouge/lexers/cmake.rb +218 -0
  293. data/rouge-5.0.0/lib/rouge/lexers/cmhg.rb +34 -0
  294. data/rouge-5.0.0/lib/rouge/lexers/cobol.rb +137 -0
  295. data/rouge-5.0.0/lib/rouge/lexers/codeowners.rb +30 -0
  296. data/rouge-5.0.0/lib/rouge/lexers/coffeescript.rb +215 -0
  297. data/rouge-5.0.0/lib/rouge/lexers/common_lisp.rb +346 -0
  298. data/rouge-5.0.0/lib/rouge/lexers/conf.rb +25 -0
  299. data/rouge-5.0.0/lib/rouge/lexers/console.rb +196 -0
  300. data/rouge-5.0.0/lib/rouge/lexers/cpp.rb +102 -0
  301. data/rouge-5.0.0/lib/rouge/lexers/crystal.rb +435 -0
  302. data/rouge-5.0.0/lib/rouge/lexers/csharp.rb +118 -0
  303. data/rouge-5.0.0/lib/rouge/lexers/css.rb +337 -0
  304. data/rouge-5.0.0/lib/rouge/lexers/csvs.rb +44 -0
  305. data/rouge-5.0.0/lib/rouge/lexers/cuda.rb +35 -0
  306. data/rouge-5.0.0/lib/rouge/lexers/cypher.rb +116 -0
  307. data/rouge-5.0.0/lib/rouge/lexers/cython.rb +127 -0
  308. data/rouge-5.0.0/lib/rouge/lexers/d.rb +177 -0
  309. data/rouge-5.0.0/lib/rouge/lexers/dafny.rb +128 -0
  310. data/rouge-5.0.0/lib/rouge/lexers/dart.rb +108 -0
  311. data/rouge-5.0.0/lib/rouge/lexers/datastudio.rb +138 -0
  312. data/rouge-5.0.0/lib/rouge/lexers/diff.rb +47 -0
  313. data/rouge-5.0.0/lib/rouge/lexers/digdag.rb +69 -0
  314. data/rouge-5.0.0/lib/rouge/lexers/docker.rb +55 -0
  315. data/rouge-5.0.0/lib/rouge/lexers/dot.rb +70 -0
  316. data/rouge-5.0.0/lib/rouge/lexers/dylan.rb +109 -0
  317. data/rouge-5.0.0/lib/rouge/lexers/ecl.rb +175 -0
  318. data/rouge-5.0.0/lib/rouge/lexers/eex.rb +52 -0
  319. data/rouge-5.0.0/lib/rouge/lexers/eiffel.rb +65 -0
  320. data/rouge-5.0.0/lib/rouge/lexers/elixir.rb +158 -0
  321. data/rouge-5.0.0/lib/rouge/lexers/elm.rb +90 -0
  322. data/rouge-5.0.0/lib/rouge/lexers/email.rb +39 -0
  323. data/rouge-5.0.0/lib/rouge/lexers/epp.rb +51 -0
  324. data/rouge-5.0.0/lib/rouge/lexers/erb.rb +53 -0
  325. data/rouge-5.0.0/lib/rouge/lexers/erlang.rb +115 -0
  326. data/rouge-5.0.0/lib/rouge/lexers/escape.rb +58 -0
  327. data/rouge-5.0.0/lib/rouge/lexers/factor.rb +303 -0
  328. data/rouge-5.0.0/lib/rouge/lexers/fluent.rb +74 -0
  329. data/rouge-5.0.0/lib/rouge/lexers/fortran.rb +178 -0
  330. data/rouge-5.0.0/lib/rouge/lexers/freefem.rb +240 -0
  331. data/rouge-5.0.0/lib/rouge/lexers/fsharp.rb +120 -0
  332. data/rouge-5.0.0/lib/rouge/lexers/gdscript.rb +171 -0
  333. data/rouge-5.0.0/lib/rouge/lexers/ghc_cmm.rb +340 -0
  334. data/rouge-5.0.0/lib/rouge/lexers/ghc_core.rb +152 -0
  335. data/rouge-5.0.0/lib/rouge/lexers/gherkin/keywords.rb +23 -0
  336. data/rouge-5.0.0/lib/rouge/lexers/gherkin.rb +142 -0
  337. data/rouge-5.0.0/lib/rouge/lexers/gjs.rb +39 -0
  338. data/rouge-5.0.0/lib/rouge/lexers/glsl/builtins.rb +17 -0
  339. data/rouge-5.0.0/lib/rouge/lexers/glsl.rb +69 -0
  340. data/rouge-5.0.0/lib/rouge/lexers/go.rb +177 -0
  341. data/rouge-5.0.0/lib/rouge/lexers/gradle.rb +38 -0
  342. data/rouge-5.0.0/lib/rouge/lexers/graphql.rb +261 -0
  343. data/rouge-5.0.0/lib/rouge/lexers/groovy.rb +119 -0
  344. data/rouge-5.0.0/lib/rouge/lexers/gts.rb +39 -0
  345. data/rouge-5.0.0/lib/rouge/lexers/hack.rb +47 -0
  346. data/rouge-5.0.0/lib/rouge/lexers/haml.rb +226 -0
  347. data/rouge-5.0.0/lib/rouge/lexers/handlebars.rb +91 -0
  348. data/rouge-5.0.0/lib/rouge/lexers/haskell.rb +207 -0
  349. data/rouge-5.0.0/lib/rouge/lexers/haxe.rb +265 -0
  350. data/rouge-5.0.0/lib/rouge/lexers/hcl.rb +166 -0
  351. data/rouge-5.0.0/lib/rouge/lexers/hlsl.rb +166 -0
  352. data/rouge-5.0.0/lib/rouge/lexers/hocon.rb +86 -0
  353. data/rouge-5.0.0/lib/rouge/lexers/hql.rb +135 -0
  354. data/rouge-5.0.0/lib/rouge/lexers/html.rb +141 -0
  355. data/rouge-5.0.0/lib/rouge/lexers/http.rb +87 -0
  356. data/rouge-5.0.0/lib/rouge/lexers/hylang.rb +93 -0
  357. data/rouge-5.0.0/lib/rouge/lexers/idlang.rb +312 -0
  358. data/rouge-5.0.0/lib/rouge/lexers/idris.rb +210 -0
  359. data/rouge-5.0.0/lib/rouge/lexers/iecst.rb +92 -0
  360. data/rouge-5.0.0/lib/rouge/lexers/igorpro/builtins.rb +1530 -0
  361. data/rouge-5.0.0/lib/rouge/lexers/igorpro.rb +193 -0
  362. data/rouge-5.0.0/lib/rouge/lexers/ini.rb +56 -0
  363. data/rouge-5.0.0/lib/rouge/lexers/io.rb +69 -0
  364. data/rouge-5.0.0/lib/rouge/lexers/irb.rb +73 -0
  365. data/rouge-5.0.0/lib/rouge/lexers/isabelle.rb +251 -0
  366. data/rouge-5.0.0/lib/rouge/lexers/isbl.rb +61 -0
  367. data/rouge-5.0.0/lib/rouge/lexers/j.rb +244 -0
  368. data/rouge-5.0.0/lib/rouge/lexers/janet.rb +218 -0
  369. data/rouge-5.0.0/lib/rouge/lexers/java.rb +92 -0
  370. data/rouge-5.0.0/lib/rouge/lexers/javascript.rb +315 -0
  371. data/rouge-5.0.0/lib/rouge/lexers/jinja.rb +169 -0
  372. data/rouge-5.0.0/lib/rouge/lexers/jsl.rb +66 -0
  373. data/rouge-5.0.0/lib/rouge/lexers/json.rb +72 -0
  374. data/rouge-5.0.0/lib/rouge/lexers/json5.rb +74 -0
  375. data/rouge-5.0.0/lib/rouge/lexers/json_doc.rb +26 -0
  376. data/rouge-5.0.0/lib/rouge/lexers/jsonnet.rb +153 -0
  377. data/rouge-5.0.0/lib/rouge/lexers/jsp.rb +119 -0
  378. data/rouge-5.0.0/lib/rouge/lexers/jsx.rb +91 -0
  379. data/rouge-5.0.0/lib/rouge/lexers/julia.rb +293 -0
  380. data/rouge-5.0.0/lib/rouge/lexers/kick_assembler.rb +100 -0
  381. data/rouge-5.0.0/lib/rouge/lexers/kotlin.rb +150 -0
  382. data/rouge-5.0.0/lib/rouge/lexers/lasso/keywords.rb +20 -0
  383. data/rouge-5.0.0/lib/rouge/lexers/lasso.rb +212 -0
  384. data/rouge-5.0.0/lib/rouge/lexers/lean.rb +164 -0
  385. data/rouge-5.0.0/lib/rouge/lexers/liquid.rb +284 -0
  386. data/rouge-5.0.0/lib/rouge/lexers/literate_coffeescript.rb +34 -0
  387. data/rouge-5.0.0/lib/rouge/lexers/literate_haskell.rb +37 -0
  388. data/rouge-5.0.0/lib/rouge/lexers/livescript.rb +310 -0
  389. data/rouge-5.0.0/lib/rouge/lexers/llvm/keywords.rb +16 -0
  390. data/rouge-5.0.0/lib/rouge/lexers/llvm.rb +59 -0
  391. data/rouge-5.0.0/lib/rouge/lexers/lua/keywords.rb +26 -0
  392. data/rouge-5.0.0/lib/rouge/lexers/lua.rb +186 -0
  393. data/rouge-5.0.0/lib/rouge/lexers/lustre.rb +79 -0
  394. data/rouge-5.0.0/lib/rouge/lexers/lutin.rb +34 -0
  395. data/rouge-5.0.0/lib/rouge/lexers/m68k.rb +143 -0
  396. data/rouge-5.0.0/lib/rouge/lexers/magik.rb +127 -0
  397. data/rouge-5.0.0/lib/rouge/lexers/make.rb +148 -0
  398. data/rouge-5.0.0/lib/rouge/lexers/markdown.rb +183 -0
  399. data/rouge-5.0.0/lib/rouge/lexers/mason.rb +110 -0
  400. data/rouge-5.0.0/lib/rouge/lexers/mathematica/keywords.rb +15 -0
  401. data/rouge-5.0.0/lib/rouge/lexers/mathematica.rb +95 -0
  402. data/rouge-5.0.0/lib/rouge/lexers/matlab/keywords.rb +15 -0
  403. data/rouge-5.0.0/lib/rouge/lexers/matlab.rb +81 -0
  404. data/rouge-5.0.0/lib/rouge/lexers/meson.rb +158 -0
  405. data/rouge-5.0.0/lib/rouge/lexers/minizinc.rb +87 -0
  406. data/rouge-5.0.0/lib/rouge/lexers/mojo.rb +39 -0
  407. data/rouge-5.0.0/lib/rouge/lexers/moonscript.rb +117 -0
  408. data/rouge-5.0.0/lib/rouge/lexers/mosel.rb +228 -0
  409. data/rouge-5.0.0/lib/rouge/lexers/msgtrans.rb +26 -0
  410. data/rouge-5.0.0/lib/rouge/lexers/mxml.rb +69 -0
  411. data/rouge-5.0.0/lib/rouge/lexers/nasm.rb +73 -0
  412. data/rouge-5.0.0/lib/rouge/lexers/nesasm.rb +78 -0
  413. data/rouge-5.0.0/lib/rouge/lexers/nginx.rb +73 -0
  414. data/rouge-5.0.0/lib/rouge/lexers/nial.rb +165 -0
  415. data/rouge-5.0.0/lib/rouge/lexers/nim.rb +154 -0
  416. data/rouge-5.0.0/lib/rouge/lexers/nix.rb +213 -0
  417. data/rouge-5.0.0/lib/rouge/lexers/objective_c/common.rb +182 -0
  418. data/rouge-5.0.0/lib/rouge/lexers/objective_c.rb +21 -0
  419. data/rouge-5.0.0/lib/rouge/lexers/objective_cpp.rb +32 -0
  420. data/rouge-5.0.0/lib/rouge/lexers/ocaml/common.rb +53 -0
  421. data/rouge-5.0.0/lib/rouge/lexers/ocaml.rb +65 -0
  422. data/rouge-5.0.0/lib/rouge/lexers/ocl.rb +84 -0
  423. data/rouge-5.0.0/lib/rouge/lexers/openedge.rb +632 -0
  424. data/rouge-5.0.0/lib/rouge/lexers/opentype_feature_file.rb +97 -0
  425. data/rouge-5.0.0/lib/rouge/lexers/p4.rb +81 -0
  426. data/rouge-5.0.0/lib/rouge/lexers/pascal.rb +68 -0
  427. data/rouge-5.0.0/lib/rouge/lexers/pdf.rb +109 -0
  428. data/rouge-5.0.0/lib/rouge/lexers/perl.rb +251 -0
  429. data/rouge-5.0.0/lib/rouge/lexers/php/keywords.rb +150 -0
  430. data/rouge-5.0.0/lib/rouge/lexers/php.rb +470 -0
  431. data/rouge-5.0.0/lib/rouge/lexers/plain_text.rb +27 -0
  432. data/rouge-5.0.0/lib/rouge/lexers/plist.rb +47 -0
  433. data/rouge-5.0.0/lib/rouge/lexers/plsql.rb +577 -0
  434. data/rouge-5.0.0/lib/rouge/lexers/pony.rb +94 -0
  435. data/rouge-5.0.0/lib/rouge/lexers/postscript.rb +93 -0
  436. data/rouge-5.0.0/lib/rouge/lexers/powershell.rb +248 -0
  437. data/rouge-5.0.0/lib/rouge/lexers/praat.rb +438 -0
  438. data/rouge-5.0.0/lib/rouge/lexers/prolog.rb +67 -0
  439. data/rouge-5.0.0/lib/rouge/lexers/prometheus.rb +122 -0
  440. data/rouge-5.0.0/lib/rouge/lexers/properties.rb +52 -0
  441. data/rouge-5.0.0/lib/rouge/lexers/protobuf.rb +71 -0
  442. data/rouge-5.0.0/lib/rouge/lexers/puppet.rb +129 -0
  443. data/rouge-5.0.0/lib/rouge/lexers/python.rb +340 -0
  444. data/rouge-5.0.0/lib/rouge/lexers/q.rb +125 -0
  445. data/rouge-5.0.0/lib/rouge/lexers/qml.rb +74 -0
  446. data/rouge-5.0.0/lib/rouge/lexers/r.rb +89 -0
  447. data/rouge-5.0.0/lib/rouge/lexers/racket.rb +568 -0
  448. data/rouge-5.0.0/lib/rouge/lexers/reasonml.rb +66 -0
  449. data/rouge-5.0.0/lib/rouge/lexers/rego.rb +60 -0
  450. data/rouge-5.0.0/lib/rouge/lexers/rescript.rb +119 -0
  451. data/rouge-5.0.0/lib/rouge/lexers/rml.rb +142 -0
  452. data/rouge-5.0.0/lib/rouge/lexers/robot_framework.rb +249 -0
  453. data/rouge-5.0.0/lib/rouge/lexers/rocq.rb +264 -0
  454. data/rouge-5.0.0/lib/rouge/lexers/ruby.rb +481 -0
  455. data/rouge-5.0.0/lib/rouge/lexers/rust.rb +261 -0
  456. data/rouge-5.0.0/lib/rouge/lexers/sas.rb +562 -0
  457. data/rouge-5.0.0/lib/rouge/lexers/sass/common.rb +182 -0
  458. data/rouge-5.0.0/lib/rouge/lexers/sass.rb +75 -0
  459. data/rouge-5.0.0/lib/rouge/lexers/scala.rb +172 -0
  460. data/rouge-5.0.0/lib/rouge/lexers/scheme.rb +113 -0
  461. data/rouge-5.0.0/lib/rouge/lexers/scss.rb +35 -0
  462. data/rouge-5.0.0/lib/rouge/lexers/sed.rb +173 -0
  463. data/rouge-5.0.0/lib/rouge/lexers/shell.rb +205 -0
  464. data/rouge-5.0.0/lib/rouge/lexers/sieve.rb +97 -0
  465. data/rouge-5.0.0/lib/rouge/lexers/slice.rb +32 -0
  466. data/rouge-5.0.0/lib/rouge/lexers/slim.rb +229 -0
  467. data/rouge-5.0.0/lib/rouge/lexers/smalltalk.rb +117 -0
  468. data/rouge-5.0.0/lib/rouge/lexers/smarty.rb +81 -0
  469. data/rouge-5.0.0/lib/rouge/lexers/sml.rb +345 -0
  470. data/rouge-5.0.0/lib/rouge/lexers/sparql.rb +131 -0
  471. data/rouge-5.0.0/lib/rouge/lexers/sqf/keywords.rb +14 -0
  472. data/rouge-5.0.0/lib/rouge/lexers/sqf.rb +108 -0
  473. data/rouge-5.0.0/lib/rouge/lexers/sql.rb +161 -0
  474. data/rouge-5.0.0/lib/rouge/lexers/ssh.rb +33 -0
  475. data/rouge-5.0.0/lib/rouge/lexers/stan.rb +445 -0
  476. data/rouge-5.0.0/lib/rouge/lexers/stata.rb +165 -0
  477. data/rouge-5.0.0/lib/rouge/lexers/supercollider.rb +115 -0
  478. data/rouge-5.0.0/lib/rouge/lexers/svelte.rb +91 -0
  479. data/rouge-5.0.0/lib/rouge/lexers/swift.rb +202 -0
  480. data/rouge-5.0.0/lib/rouge/lexers/systemd.rb +34 -0
  481. data/rouge-5.0.0/lib/rouge/lexers/syzlang.rb +316 -0
  482. data/rouge-5.0.0/lib/rouge/lexers/syzprog.rb +122 -0
  483. data/rouge-5.0.0/lib/rouge/lexers/tap.rb +88 -0
  484. data/rouge-5.0.0/lib/rouge/lexers/tcl.rb +198 -0
  485. data/rouge-5.0.0/lib/rouge/lexers/terraform.rb +121 -0
  486. data/rouge-5.0.0/lib/rouge/lexers/tex.rb +70 -0
  487. data/rouge-5.0.0/lib/rouge/lexers/thrift.rb +120 -0
  488. data/rouge-5.0.0/lib/rouge/lexers/toml.rb +124 -0
  489. data/rouge-5.0.0/lib/rouge/lexers/tsx.rb +33 -0
  490. data/rouge-5.0.0/lib/rouge/lexers/ttcn3.rb +117 -0
  491. data/rouge-5.0.0/lib/rouge/lexers/tulip.rb +107 -0
  492. data/rouge-5.0.0/lib/rouge/lexers/turtle.rb +61 -0
  493. data/rouge-5.0.0/lib/rouge/lexers/twig.rb +40 -0
  494. data/rouge-5.0.0/lib/rouge/lexers/typescript/common.rb +60 -0
  495. data/rouge-5.0.0/lib/rouge/lexers/typescript.rb +23 -0
  496. data/rouge-5.0.0/lib/rouge/lexers/vala.rb +78 -0
  497. data/rouge-5.0.0/lib/rouge/lexers/varnish.rb +168 -0
  498. data/rouge-5.0.0/lib/rouge/lexers/vb.rb +165 -0
  499. data/rouge-5.0.0/lib/rouge/lexers/velocity.rb +71 -0
  500. data/rouge-5.0.0/lib/rouge/lexers/verilog.rb +163 -0
  501. data/rouge-5.0.0/lib/rouge/lexers/veryl.rb +109 -0
  502. data/rouge-5.0.0/lib/rouge/lexers/vhdl.rb +98 -0
  503. data/rouge-5.0.0/lib/rouge/lexers/viml/keywords.rb +19 -0
  504. data/rouge-5.0.0/lib/rouge/lexers/viml.rb +68 -0
  505. data/rouge-5.0.0/lib/rouge/lexers/vue.rb +127 -0
  506. data/rouge-5.0.0/lib/rouge/lexers/wollok.rb +107 -0
  507. data/rouge-5.0.0/lib/rouge/lexers/xml.rb +56 -0
  508. data/rouge-5.0.0/lib/rouge/lexers/xojo.rb +61 -0
  509. data/rouge-5.0.0/lib/rouge/lexers/xpath.rb +332 -0
  510. data/rouge-5.0.0/lib/rouge/lexers/xquery.rb +146 -0
  511. data/rouge-5.0.0/lib/rouge/lexers/yaml.rb +388 -0
  512. data/rouge-5.0.0/lib/rouge/lexers/yang.rb +115 -0
  513. data/rouge-5.0.0/lib/rouge/lexers/zig.rb +139 -0
  514. data/rouge-5.0.0/lib/rouge/plugins/redcarpet.rb +38 -0
  515. data/rouge-5.0.0/lib/rouge/regex_lexer.rb +522 -0
  516. data/rouge-5.0.0/lib/rouge/template_lexer.rb +21 -0
  517. data/rouge-5.0.0/lib/rouge/tex_theme_renderer.rb +132 -0
  518. data/rouge-5.0.0/lib/rouge/text_analyzer.rb +50 -0
  519. data/rouge-5.0.0/lib/rouge/theme.rb +218 -0
  520. data/rouge-5.0.0/lib/rouge/themes/base16.rb +137 -0
  521. data/rouge-5.0.0/lib/rouge/themes/bw.rb +43 -0
  522. data/rouge-5.0.0/lib/rouge/themes/colorful.rb +70 -0
  523. data/rouge-5.0.0/lib/rouge/themes/github.rb +149 -0
  524. data/rouge-5.0.0/lib/rouge/themes/gruvbox.rb +176 -0
  525. data/rouge-5.0.0/lib/rouge/themes/igor_pro.rb +25 -0
  526. data/rouge-5.0.0/lib/rouge/themes/magritte.rb +80 -0
  527. data/rouge-5.0.0/lib/rouge/themes/molokai.rb +84 -0
  528. data/rouge-5.0.0/lib/rouge/themes/monokai.rb +95 -0
  529. data/rouge-5.0.0/lib/rouge/themes/monokai_sublime.rb +94 -0
  530. data/rouge-5.0.0/lib/rouge/themes/pastie.rb +72 -0
  531. data/rouge-5.0.0/lib/rouge/themes/thankful_eyes.rb +77 -0
  532. data/rouge-5.0.0/lib/rouge/themes/tulip.rb +72 -0
  533. data/rouge-5.0.0/lib/rouge/token.rb +192 -0
  534. data/rouge-5.0.0/lib/rouge/util.rb +102 -0
  535. data/rouge-5.0.0/lib/rouge/version.rb +8 -0
  536. data/rouge-5.0.0/lib/rouge.rb +117 -0
  537. data/rouge-5.0.0/lib/rubocop/cop/rouge/no_building_alternation_pattern_in_regexp.rb +71 -0
  538. data/rouge-5.0.0/lib/rubocop/cop/rouge/no_huge_collections.rb +37 -0
  539. data/rouge-5.0.0/rouge.gemspec +29 -0
  540. metadata +579 -0
@@ -0,0 +1,79 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Lustre < RegexLexer
7
+ title "Lustre"
8
+ desc 'The Lustre programming language (Verimag)'
9
+ tag 'lustre'
10
+ filenames '*.lus'
11
+ mimetypes 'text/x-lustre'
12
+
13
+ def self.keywords
14
+ @keywords ||= Set.new %w(
15
+ extern unsafe assert const current enum function let node operator
16
+ returns step struct tel type var model package needs provides uses is
17
+ body end include merge
18
+ )
19
+ end
20
+
21
+ def self.word_operators
22
+ @word_operators ||= Set.new %w(
23
+ div and xor mod or not nor if then else fby pre when with
24
+ )
25
+ end
26
+
27
+ def self.primitives
28
+ @primitives ||= Set.new %w(int real bool)
29
+ end
30
+
31
+ operator = %r([,!$%&*+./:<=>?@^|~#-]+)
32
+ id = /[a-z_][\w']*/i
33
+
34
+ state :root do
35
+ rule %r/\s+/m, Text
36
+ rule %r/false|true/, Keyword::Constant
37
+ rule %r(\-\-.*), Comment::Single
38
+ rule %r(/\*.*?\*/)m, Comment::Multiline
39
+ rule %r(\(\*.*?\*\))m, Comment::Multiline
40
+ rule id do |m|
41
+ match = m[0]
42
+ if self.class.keywords.include? match
43
+ token Keyword
44
+ elsif self.class.word_operators.include? match
45
+ token Operator::Word
46
+ elsif self.class.primitives.include? match
47
+ token Keyword::Type
48
+ else
49
+ token Name
50
+ end
51
+ end
52
+
53
+ rule %r/[(){}\[\];]+/, Punctuation
54
+ rule operator, Operator
55
+
56
+ rule %r/-?\d[\d_]*(.[\d_]*)?(e[+-]?\d[\d_]*)/i, Num::Float
57
+ rule %r/\d[\d_]*/, Num::Integer
58
+
59
+ rule %r/'(?:(\\[\\"'ntbr ])|(\\[0-9]{3})|(\\x\h{2}))'/, Str::Char
60
+ rule %r/'[.]'/, Str::Char
61
+ rule %r/"/, Str::Double, :string
62
+ rule %r/[~?]#{id}/, Name::Variable
63
+ end
64
+
65
+ state :string do
66
+ rule %r/[^\\"]+/, Str::Double
67
+ mixin :escape_sequence
68
+ rule %r/\\\n/, Str::Double
69
+ rule %r/"/, Str::Double, :pop!
70
+ end
71
+
72
+ state :escape_sequence do
73
+ rule %r/\\[\\"'ntbr]/, Str::Escape
74
+ rule %r/\\\d{3}/, Str::Escape
75
+ rule %r/\\x\h{2}/, Str::Escape
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+ #
4
+ # adapted from lustre.rf (adapted from ocaml.rb), hence some ocaml-ism migth remains
5
+
6
+ require_relative 'lustre'
7
+
8
+ module Rouge
9
+ module Lexers
10
+ class Lutin < Lustre
11
+ title "Lutin"
12
+ desc 'The Lutin programming language (Verimag)'
13
+ tag 'lutin'
14
+ filenames '*.lut'
15
+ mimetypes 'text/x-lutin'
16
+
17
+ def self.keywords
18
+ @keywords ||= Set.new %w(
19
+ let in node extern system returns weak strong assert raise try catch
20
+ trap do exist erun run type ref exception include false true
21
+ )
22
+ end
23
+
24
+ def self.word_operators
25
+ @word_operators ||= Set.new %w(
26
+ div and xor mod or not nor if then else pre)
27
+ end
28
+
29
+ def self.primitives
30
+ @primitives ||= Set.new %w(int real bool trace loop fby)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,143 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class M68k < RegexLexer
7
+ tag 'm68k'
8
+
9
+ title "M68k"
10
+ desc "Motorola 68k Assembler"
11
+
12
+ id = /[a-zA-Z_][a-zA-Z0-9_]*/
13
+
14
+ def self.keywords
15
+ @keywords ||= Set.new %w(
16
+ abcd add adda addi addq addx and andi asl asr
17
+
18
+ bcc bcs beq bge bgt bhi ble bls blt bmi bne bpl bvc bvs bhs blo
19
+ bchg bclr bfchg bfclr bfests bfextu bfffo bfins bfset bftst bkpt bra bse bsr btst
20
+
21
+ callm cas cas2 chk chk2 clr cmp cmpa cmpi cmpm cmp2
22
+
23
+ dbcc dbcs dbeq dbge dbgt dbhi dble dbls dblt dbmi dbne dbpl dbvc dbvs dbhs dblo
24
+ dbra dbf dbt divs divsl divu divul
25
+
26
+ eor eori exg ext extb
27
+
28
+ illegal jmp jsr lea link lsl lsr
29
+
30
+ move movea move16 movem movep moveq muls mulu
31
+
32
+ nbcd neg negx nop not or ori
33
+
34
+ pack pea rol ror roxl roxr rtd rtm rtr rts
35
+
36
+ sbcd
37
+
38
+ seq sne spl smi svc svs st sf sge sgt sle slt scc shi sls scs shs slo
39
+ sub suba subi subq subx swap
40
+
41
+ tas trap trapcc TODO trapv tst
42
+
43
+ unlk unpk
44
+ )
45
+ end
46
+
47
+ def self.keywords_type
48
+ @keywords_type ||= Set.new %w(
49
+ dc ds dcb
50
+ )
51
+ end
52
+
53
+ def self.reserved
54
+ @reserved ||= Set.new %w(
55
+ include incdir incbin end endf endfunc endmain endproc fpu func machine main mmu opword proc set opt section
56
+ rept endr
57
+ ifeq ifne ifgt ifge iflt ifle iif ifd ifnd ifc ifnc elseif else endc
58
+ even cnop fail
59
+ output radix __G2 __LK
60
+ list nolist plen llen ttl subttl spc page listchar format
61
+ equ equenv equr reg
62
+ rsreset rsset offset
63
+ cargs
64
+ fequ.s fequ.d fequ.x fequ.p fequ.w fequ.l fopt
65
+ macro endm mexit narg
66
+ )
67
+ end
68
+
69
+ def self.builtins
70
+ @builtins ||=Set.new %w(
71
+ d0 d1 d2 d3 d4 d5 d6 d7
72
+ a0 a1 a2 a3 a4 a5 a6 a7 a7'
73
+ pc usp ssp ccr
74
+ )
75
+ end
76
+
77
+ start { push :expr_bol }
78
+
79
+ state :expr_bol do
80
+ mixin :inline_whitespace
81
+ rule(//) { pop! }
82
+ end
83
+
84
+ state :inline_whitespace do
85
+ rule %r/\s+/, Text
86
+ end
87
+
88
+ state :whitespace do
89
+ rule %r/\n+/m, Text, :expr_bol
90
+ rule %r(^\*(\\.|.)*?$), Comment::Single, :expr_bol
91
+ rule %r(;(\\.|.)*?$), Comment::Single, :expr_bol
92
+ mixin :inline_whitespace
93
+ end
94
+
95
+ state :root do
96
+ rule(//) { push :statements }
97
+ end
98
+
99
+ state :statements do
100
+ mixin :whitespace
101
+ rule %r/"/, Str, :string
102
+ rule %r/#/, Name::Decorator
103
+ rule %r/^\.?[a-zA-Z0-9_]+:?/, Name::Label
104
+ rule %r/\.[bswl]\s/i, Name::Decorator
105
+ rule %r('(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\'\n])')i, Str::Char
106
+ rule %r/\$[0-9a-f]+/i, Num::Hex
107
+ rule %r/@[0-8]+/i, Num::Oct
108
+ rule %r/%[01]+/i, Num::Bin
109
+ rule %r/\d+/i, Num::Integer
110
+ rule %r([*~&+=\|?:<>/-]), Operator
111
+ rule %r/\\./, Comment::Preproc
112
+ rule %r/[(),.]/, Punctuation
113
+ rule %r/\[[a-zA-Z0-9]*\]/, Punctuation
114
+
115
+ rule id do |m|
116
+ name = m[0]
117
+
118
+ if self.class.keywords.include? name.downcase
119
+ token Keyword
120
+ elsif self.class.keywords_type.include? name.downcase
121
+ token Keyword::Type
122
+ elsif self.class.reserved.include? name.downcase
123
+ token Keyword::Reserved
124
+ elsif self.class.builtins.include? name.downcase
125
+ token Name::Builtin
126
+ elsif name =~ /[a-zA-Z0-9]+/
127
+ token Name::Variable
128
+ else
129
+ token Name
130
+ end
131
+ end
132
+ end
133
+
134
+ state :string do
135
+ rule %r/"/, Str, :pop!
136
+ rule %r/\\([\\abfnrtv"']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})/, Str::Escape
137
+ rule %r/[^\\"\n]+/, Str
138
+ rule %r/\\\n/, Str
139
+ rule %r/\\/, Str # stray backslash
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,127 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Magik < RegexLexer
7
+ title "Magik"
8
+ desc "Smallworld Magik"
9
+ tag 'magik'
10
+ filenames '*.magik'
11
+ mimetypes 'text/x-magik', 'application/x-magik'
12
+
13
+ def self.keywords
14
+ @keywords ||= %w(
15
+ _package
16
+ _pragma
17
+ _block _endblock
18
+ _handling _default
19
+ _protect _protection _endprotect
20
+ _try _with _when _endtry
21
+ _catch _endcatch
22
+ _throw
23
+ _lock _endlock
24
+ _if _then _elif _else _endif
25
+ _for _over _while _loop _finally _endloop _loopbody _continue _leave
26
+ _return
27
+ _class
28
+ _local _constant _recursive _global _dynamic _import
29
+ _private _iter _abstract _method _endmethod
30
+ _proc _endproc
31
+ _gather _scatter _allresults _optional
32
+ _thisthread _self _clone _super
33
+ _primitive
34
+ _unset _true _false _maybe
35
+ _is _isnt _not _and _or _xor _cf _andif _orif
36
+ _div _mod
37
+ )
38
+ end
39
+
40
+ def self.string_double
41
+ @string_double ||= /"[^"\n]*?"/
42
+ end
43
+ def self.string_single
44
+ @string_single ||= /'[^'\n]*?'/
45
+ end
46
+
47
+ def self.digits
48
+ @digits ||= /[0-9]+/
49
+ end
50
+ def self.radix
51
+ @radix ||= /r[0-9a-z]/i
52
+ end
53
+ def self.exponent
54
+ @exponent ||= /(e|&)[+-]?#{Magik.digits}/i
55
+ end
56
+ def self.decimal
57
+ @decimal ||= /\.#{Magik.digits}/
58
+ end
59
+ def self.number
60
+ @number = /#{Magik.digits}(#{Magik.radix}|#{Magik.exponent}|#{Magik.decimal})*/
61
+ end
62
+
63
+ def self.character
64
+ @character ||= /%u[0-9a-z]{4}|%[^\s]+/i
65
+ end
66
+
67
+ def self.simple_identifier
68
+ @simple_identifier ||= /(?>(?:[a-z0-9_!?]|\\.)+)/i
69
+ end
70
+ def self.piped_identifier
71
+ @piped_identifier ||= /\|[^\|\n]*\|/
72
+ end
73
+ def self.identifier
74
+ @identifier ||= /(?:#{Magik.simple_identifier}|#{Magik.piped_identifier})+/i
75
+ end
76
+ def self.package_identifier
77
+ @package_identifier ||= /#{Magik.identifier}:#{Magik.identifier}/
78
+ end
79
+ def self.symbol
80
+ @symbol ||= /:#{Magik.identifier}/i
81
+ end
82
+ def self.global_ref
83
+ @global_ref ||= /@[\s]*#{Magik.identifier}:#{Magik.identifier}/
84
+ end
85
+ def self.label
86
+ @label = /@[\s]*#{Magik.identifier}/
87
+ end
88
+
89
+ state :root do
90
+ rule %r/##(.*)?/, Comment::Doc
91
+ rule %r/#(.*)?/, Comment::Single
92
+
93
+ rule %r/(_method)(\s+)/ do
94
+ groups Keyword, Text::Whitespace
95
+ push :method_name
96
+ end
97
+
98
+ rule %r/(?:#{Magik.keywords.join('|')})\b/, Keyword
99
+
100
+ rule Magik.string_double, Literal::String
101
+ rule Magik.string_single, Literal::String
102
+ rule Magik.symbol, Str::Symbol
103
+ rule Magik.global_ref, Name::Label
104
+ rule Magik.label, Name::Label
105
+ rule Magik.character, Literal::String::Char
106
+ rule Magik.number, Literal::Number
107
+ rule Magik.package_identifier, Name
108
+ rule Magik.identifier, Name
109
+
110
+ rule %r/[\[\]{}()\.,;]/, Punctuation
111
+ rule %r/\$/, Punctuation
112
+ rule %r/(<<|^<<)/, Operator
113
+ rule %r/(>>)/, Operator
114
+ rule %r/[-~+\/*%=&^<>]|!=/, Operator
115
+
116
+ rule %r/[\s]+/, Text::Whitespace
117
+ end
118
+
119
+ state :method_name do
120
+ rule %r/(#{Magik.identifier})(\.)(#{Magik.identifier})/ do
121
+ groups Name::Class, Punctuation, Name::Function
122
+ pop!
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,148 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Make < RegexLexer
7
+ title "Make"
8
+ desc "Makefile syntax"
9
+ tag 'make'
10
+ aliases 'makefile', 'mf', 'gnumake', 'bsdmake'
11
+ filenames '*.make', '*.mak', '*.mk', 'Makefile', 'makefile', 'Makefile.*', 'GNUmakefile', '*,fe1'
12
+ mimetypes 'text/x-makefile'
13
+
14
+ def self.functions
15
+ @functions ||= %w(
16
+ abspath addprefix addsuffix and basename call dir error eval file
17
+ filter filter-out findstring firstword flavor foreach if join lastword
18
+ notdir or origin patsubst realpath shell sort strip subst suffix value
19
+ warning wildcard word wordlist words
20
+ )
21
+ end
22
+
23
+ def initialize(opts={})
24
+ super
25
+ @shell = Shell.new(opts)
26
+ end
27
+
28
+ start { @shell.reset! }
29
+
30
+ state :root do
31
+ rule %r/\s+/, Text
32
+
33
+ rule %r/#.*?\n/, Comment
34
+
35
+ rule %r/([-s]?include)((?:[\t ]+[^\t\n #]+)+)/ do
36
+ groups Keyword, Literal::String::Other
37
+ end
38
+
39
+ rule %r/((?:ifn?def|ifn?eq|unexport)\b)([\t ]+)([^#\n]+)/ do
40
+ groups Keyword, Text, Name::Variable
41
+ end
42
+
43
+ rule %r/(else\b)([\t ]+)((?:ifn?def|ifn?eq)\b)([\t ]+)([^#\n]+)/ do
44
+ groups Keyword, Text, Keyword, Text, Name::Variable
45
+ end
46
+
47
+ rule %r/(?:else|endif|endef|endfor)[\t ]*(?=[#\n])/, Keyword
48
+
49
+ rule %r/(export)([\t ]+)(?=[\w\${}()\t -]+\n)/ do
50
+ groups Keyword, Text
51
+ push :export
52
+ end
53
+
54
+ rule %r/export[\t ]+/, Keyword
55
+
56
+ # assignment
57
+ rule %r/(override\b)*([\t ]*)([\w${}().-]+)([\t ]*)([!?:+]?=)/m do |m|
58
+ groups Name::Builtin, Text, Name::Variable, Text, Operator
59
+ push :shell_line
60
+ end
61
+
62
+ rule %r/"(\\\\|\\.|[^"\\])*"/, Str::Double
63
+ rule %r/'(\\\\|\\.|[^'\\])*'/, Str::Single
64
+ rule %r/([^\n:]+)(:+)([ \t]*)/ do
65
+ groups Name::Label, Operator, Text
66
+ push :block_header
67
+ end
68
+
69
+ rule %r/(override\b)*([\t ])*(define)([\t ]+)([^#\n]+)/ do
70
+ groups Name::Builtin, Text, Keyword, Text, Name::Variable
71
+ end
72
+
73
+ rule %r/(\$[({])([\t ]*)(#{Make.functions.join('|')})([\t ]+)/m do
74
+ groups Name::Function, Text, Name::Builtin, Text
75
+ push :shell_expr
76
+ end
77
+ end
78
+
79
+ state :export do
80
+ rule %r/[\w\${}()-]/, Name::Variable
81
+ rule %r/\n/, Text, :pop!
82
+ rule %r/[\t ]+/, Text
83
+ end
84
+
85
+ state :block_header do
86
+ rule %r/[^,\\\n#]+/, Name::Function
87
+ rule %r/,/, Punctuation
88
+ rule %r/#.*?/, Comment
89
+ rule %r/\\\n/, Text
90
+ rule %r/\\./, Text
91
+ rule %r/\n/ do
92
+ token Text
93
+ goto :block_body
94
+ end
95
+ end
96
+
97
+ state :block_body do
98
+ rule %r/(ifn?def|ifn?eq)([\t ]+)([^#\n]+)(#.*)?(\n)/ do
99
+ groups Keyword, Text, Name::Variable, Comment, Text
100
+ end
101
+
102
+ rule %r/(else|endif)([\t ]*)(#.*)?(\n)/ do
103
+ groups Keyword, Text, Comment, Text
104
+ end
105
+
106
+ rule %r/(\t[\t ]*)([@-]?)/ do
107
+ groups Text, Punctuation
108
+ push :shell_line
109
+ end
110
+
111
+ rule(//) { @shell.reset!; pop! }
112
+ end
113
+
114
+ state :shell do
115
+ # macro interpolation
116
+ rule %r/[\$]{1,2}[({]/, Punctuation, :macro_expr
117
+
118
+ # function invocation
119
+ rule %r/(\$[({])([\t ]*)(#{Make.functions.join('|')})([\t ]+)/m do
120
+ groups Punctuation, Text, Name::Builtin, Text
121
+ push :shell_expr
122
+ end
123
+
124
+ rule(/\\./m) { delegate @shell }
125
+ stop = /[\$]{1,2}\(|[\$]{1,2}\{|\(|\)|\}|\\|$/
126
+ rule(/.+?(?=#{stop})/m) { delegate @shell }
127
+ rule(stop) { delegate @shell }
128
+ end
129
+
130
+ state :macro_expr do
131
+ rule %r/[)}]/, Punctuation, :pop!
132
+ rule %r/\n/, Text, :pop!
133
+ mixin :shell
134
+ end
135
+
136
+ state :shell_expr do
137
+ rule(/[({]/) { delegate @shell; push }
138
+ rule %r/[)}]/, Punctuation, :pop!
139
+ mixin :shell
140
+ end
141
+
142
+ state :shell_line do
143
+ rule %r/\n/, Text, :pop!
144
+ mixin :shell
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,183 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Markdown < RegexLexer
7
+ title "Markdown"
8
+ desc "Markdown, a light-weight markup language for authors"
9
+
10
+ tag 'markdown'
11
+ aliases 'md', 'mkd'
12
+ filenames '*.markdown', '*.md', '*.mkd'
13
+ mimetypes 'text/x-markdown'
14
+
15
+ def html
16
+ @html ||= HTML.new(options)
17
+ end
18
+
19
+ start { html.reset! }
20
+
21
+ edot = /\\.|[^\\\n]/
22
+
23
+ state :root do
24
+ # YAML frontmatter
25
+ rule(/\A(---\s*\n.*?\n?)^(---\s*$\n?)/m) { delegate YAML }
26
+
27
+ rule %r/\\./, Str::Escape
28
+
29
+ rule %r/^[\S ]+\n(?:---*)\n/, Generic::Heading
30
+ rule %r/^[\S ]+\n(?:===*)\n/, Generic::Subheading
31
+
32
+ rule %r/^#(?=[^#]).*?$/, Generic::Heading
33
+ rule %r/^##*.*?$/, Generic::Subheading
34
+
35
+ rule %r/^([ \t]*)(`{3,}|~{3,})([^\n]*\n)((.*?)(\n\1)(\2))?/m do |m|
36
+ name = m[3].strip
37
+ sublexer =
38
+ begin
39
+ Lexer.find_fancy(name.empty? ? "guess" : name, m[5], @options)
40
+ rescue Guesser::Ambiguous => e
41
+ e.alternatives.first.new(@options)
42
+ end
43
+
44
+ sublexer ||= PlainText.new(@options.merge(:token => Str::Backtick))
45
+ sublexer.reset!
46
+
47
+ token Text, m[1]
48
+ token Punctuation, m[2]
49
+ token Name::Label, m[3]
50
+ if m[5]
51
+ delegate sublexer, m[5]
52
+ end
53
+
54
+ token Text, m[6]
55
+
56
+ if m[7]
57
+ token Punctuation, m[7]
58
+ else
59
+ push do
60
+ rule %r/^([ \t]*)(#{m[2]})/ do |mb|
61
+ pop!
62
+ token Text, mb[1]
63
+ token Punctuation, mb[2]
64
+ end
65
+ rule %r/^.*\n/ do |mb|
66
+ delegate sublexer, mb[1]
67
+ end
68
+ end
69
+ end
70
+ end
71
+
72
+ rule %r/\n\n(( |\t).*?\n|\n)+/, Str::Backtick
73
+
74
+ rule %r/(`+)(?:#{edot}|\n)+?\1/, Str::Backtick
75
+
76
+ # various uses of * are in order of precedence
77
+
78
+ # line breaks
79
+ rule %r/^(\s*[*]){3,}\s*$/, Punctuation
80
+ rule %r/^(\s*[-]){3,}\s*$/, Punctuation
81
+
82
+ # bulleted lists
83
+ rule %r/^\s*[*+-](?=\s)/, Punctuation
84
+
85
+ # numbered lists
86
+ rule %r/^\s*\d+\./, Punctuation
87
+
88
+ # blockquotes
89
+ rule %r/^\s*>.*?$/, Generic::Traceback
90
+
91
+ # link references
92
+ # [foo]: bar "baz"
93
+ rule %r(^
94
+ (\s*) # leading whitespace
95
+ (\[) (#{edot}+?) (\]) # the reference
96
+ (\s*) (:) # colon
97
+ )x do
98
+ groups Text, Punctuation, Str::Symbol, Punctuation, Text, Punctuation
99
+
100
+ push :title
101
+ push :url
102
+ end
103
+
104
+ # links and images
105
+ rule %r/(!?\[)(#{edot}*?|[^\]]*?)(\])(?=[\[(])/ do
106
+ groups Punctuation, Name::Variable, Punctuation
107
+ push :link
108
+ end
109
+
110
+ rule %r/[*]{2}[^* \n][^*\n]*[*]{2}/, Generic::Strong
111
+ rule %r/[*]{3}[^* \n][^*\n]*[*]{3}/, Generic::EmphStrong
112
+ rule %r/__#{edot}*?__/, Generic::Strong
113
+
114
+ rule %r/[*]#{edot}*?[*]/, Generic::Emph
115
+ rule %r/_#{edot}*?_/, Generic::Emph
116
+
117
+ # Automatic links
118
+ rule %r/<.*?@.+[.].+>/, Name::Variable
119
+ rule %r[<(https?|mailto|ftp)://#{edot}*?>], Name::Variable
120
+
121
+ rule %r/[^\\`\[*\n&<]+/, Text
122
+
123
+ # inline html
124
+ rule(/&\S*;/) { delegate html }
125
+ rule(/<#{edot}*?>/) { delegate html }
126
+ rule %r/[&<]/, Text
127
+
128
+ # An opening square bracket that is not a link
129
+ rule %r/\[/, Text
130
+
131
+ rule %r/\n/, Text
132
+ end
133
+
134
+ state :link do
135
+ rule %r/(\[)(#{edot}*?)(\])/ do
136
+ groups Punctuation, Str::Symbol, Punctuation
137
+ pop!
138
+ end
139
+
140
+ rule %r/[(]/ do
141
+ token Punctuation
142
+ push :inline_title
143
+ push :inline_url
144
+ end
145
+
146
+ rule %r/[ \t]+/, Text
147
+
148
+ rule(//) { pop! }
149
+ end
150
+
151
+ state :url do
152
+ rule %r/[ \t]+/, Text
153
+
154
+ # the url
155
+ rule %r/(<)(#{edot}*?)(>)/ do
156
+ groups Name::Tag, Str::Other, Name::Tag
157
+ pop!
158
+ end
159
+
160
+ rule %r/\S+/, Str::Other, :pop!
161
+ end
162
+
163
+ state :title do
164
+ rule %r/"#{edot}*?"/, Name::Namespace
165
+ rule %r/'#{edot}*?'/, Name::Namespace
166
+ rule %r/[(]#{edot}*?[)]/, Name::Namespace
167
+ rule %r/\s*(?=["'()])/, Text
168
+ rule(//) { pop! }
169
+ end
170
+
171
+ state :inline_title do
172
+ rule %r/[)]/, Punctuation, :pop!
173
+ mixin :title
174
+ end
175
+
176
+ state :inline_url do
177
+ rule %r/[^<\s)]+/, Str::Other, :pop!
178
+ rule %r/\s+/m, Text
179
+ mixin :url
180
+ end
181
+ end
182
+ end
183
+ end