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,316 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Syzlang < RegexLexer
7
+ title "Syzlang"
8
+ desc "Syscall description language used by syzkaller"
9
+ tag 'syzlang'
10
+
11
+ def self.keywords
12
+ @keywords ||= Set.new %w(
13
+ align breaks_returns dec define disabled hex ignore_return in incdir
14
+ include inet inout oct opt out packed parent prog_timeout pseudo
15
+ resource size syscall timeout type varlen
16
+ )
17
+ end
18
+
19
+ def self.keywords_type
20
+ @keywords_type ||= Set.new %w(
21
+ array bitsize bool16 bool32 bool64 bool8 boolptr buffer bytesize
22
+ bytesize2 bytesize4 bytesize8 const csum filename fileoff flags fmt
23
+ int16 int16be int32 int32be int64 int64be int8 int8be intptr len
24
+ offsetof optional proc ptr ptr64 string stringnoz text vma vma64 void
25
+ )
26
+ end
27
+
28
+ comment = /#.*$/
29
+ inline_spaces = /[ \t]+/
30
+ spaces = /\s+/
31
+
32
+ state :inline_break do
33
+ rule inline_spaces, Text
34
+ rule %r//, Text, :pop!
35
+ end
36
+
37
+ state :space_break do
38
+ rule spaces, Text
39
+ rule comment, Comment
40
+ rule %r//, Text, :pop!
41
+ end
42
+
43
+ id = /[a-zA-Z_][a-zA-Z0-9_]*/
44
+ num_id = /[a-zA-Z0-9_]+/
45
+
46
+ state :mixin_name do
47
+ rule id, Name
48
+ end
49
+
50
+ state :mixin_number do
51
+ rule %r/-?0x[\da-f]+/i, Num::Hex
52
+ rule %r/-?\d+/, Num::Integer
53
+ rule %r/'[^']?'/, Str::Char
54
+ end
55
+
56
+ state :mixin_string do
57
+ rule %r/"[^"]*"/, Str::Double
58
+ rule %r/`[^`]*`/, Str::Backtick
59
+ end
60
+
61
+ state :mixin_term do
62
+ mixin :mixin_number
63
+ mixin :mixin_string
64
+
65
+ # Keywords.
66
+ rule id do |m|
67
+ if self.class.keywords.include?(m[0])
68
+ token Keyword
69
+ elsif self.class.keywords_type.include?(m[0])
70
+ token Keyword::Type
71
+ else
72
+ token Name
73
+ end
74
+ end
75
+
76
+ # Ranges.
77
+ rule %r/:/, Punctuation
78
+
79
+ # "struct$type" struct name format.
80
+ rule %r/\$/, Name
81
+ end
82
+
83
+ state :term_list do
84
+ rule spaces, Text
85
+ rule comment, Comment
86
+ mixin :mixin_term
87
+ rule %r/\[/, Punctuation, :term_list
88
+ rule %r/,/, Punctuation
89
+ rule %r/[\]\)]/, Punctuation, :pop!
90
+ end
91
+
92
+ state :arg_type do
93
+ mixin :mixin_term
94
+ rule %r/\[/, Punctuation, :term_list
95
+ rule %r//, Text, :pop!
96
+ end
97
+
98
+ state :include do
99
+ rule %r/(<)([^>]+)(>)/ do |m|
100
+ groups Punctuation, Str, Punctuation
101
+ end
102
+ rule %r//, Text, :pop!
103
+ end
104
+
105
+ state :define_name do
106
+ mixin :mixin_name
107
+ rule %r//, Text, :pop!
108
+ end
109
+
110
+ state :define_exp do
111
+ mixin :mixin_name
112
+ mixin :mixin_number
113
+ mixin :mixin_string
114
+ rule %r/[~!%\^&\*\-\+\/\|<>\?:]/, Operator
115
+ rule %r/[\(\){}\[\];,]/, Punctuation
116
+ rule inline_spaces, Text
117
+ rule %r//, Text, :pop!
118
+ end
119
+
120
+ state :resource_name do
121
+ mixin :mixin_name
122
+ rule %r//, Text, :pop!
123
+ end
124
+
125
+ state :resource_type do
126
+ rule %r/\[/, Punctuation, :arg_type
127
+ rule %r/\]/, Punctuation, :pop!
128
+ end
129
+
130
+ state :resource_values do
131
+ rule %r/:/ do
132
+ token Punctuation
133
+ push :resource_values_list
134
+ push :space_break
135
+ end
136
+ rule %r//, Text, :pop!
137
+ end
138
+
139
+ state :resource_values_list do
140
+ rule inline_spaces, Text
141
+ mixin :mixin_name
142
+ mixin :mixin_number
143
+ mixin :mixin_string
144
+ rule %r/,/, Punctuation, :space_break
145
+ rule %r//, Text, :pop!
146
+ end
147
+
148
+ state :flags_list do
149
+ rule inline_spaces, Text
150
+ rule %r/\./, Punctuation
151
+ mixin :mixin_name
152
+ mixin :mixin_number
153
+ mixin :mixin_string
154
+ rule %r/,/, Punctuation, :space_break
155
+ rule %r//, Punctuation, :pop!
156
+ end
157
+
158
+ state :syscall_args do
159
+ rule spaces, Text
160
+ rule comment, Comment
161
+ rule %r/\./, Punctuation
162
+ rule id do
163
+ token Name
164
+ push :arg_type
165
+ push :space_break
166
+ end
167
+ rule %r/,/, Punctuation
168
+ rule %r/\)/, Punctuation, :pop!
169
+ end
170
+
171
+ state :syscall_retval do
172
+ mixin :mixin_name
173
+ rule %r//, Text, :pop!
174
+ end
175
+
176
+ state :syscall_mods do
177
+ rule %r/\(/, Punctuation, :term_list
178
+ rule %r//, Text, :pop!
179
+ end
180
+
181
+ state :struct_fields do
182
+ rule id do
183
+ token Name
184
+ push :space_break
185
+ push :struct_field_mods
186
+ push :inline_break
187
+ push :arg_type
188
+ push :space_break
189
+ end
190
+ rule %r/[}\]]/, Punctuation, :pop!
191
+ end
192
+
193
+ state :struct_field_mods do
194
+ rule %r/\(/, Punctuation, :term_list
195
+ rule %r//, Text, :pop!
196
+ end
197
+
198
+ state :struct_mods do
199
+ rule %r/\[/, Punctuation, :term_list
200
+ rule %r//, Text, :pop!
201
+ end
202
+
203
+ state :type_name do
204
+ mixin :mixin_name
205
+ rule %r//, Text, :pop!
206
+ end
207
+
208
+ state :type_args do
209
+ rule %r/\[/, Punctuation, :type_args_list
210
+ rule %r//, Text, :pop!
211
+ end
212
+
213
+ state :type_args_list do
214
+ rule spaces, Text
215
+ rule comment, Comment
216
+ mixin :mixin_name
217
+ rule %r/,/, Punctuation
218
+ rule %r/\]/, Punctuation, :pop!
219
+ end
220
+
221
+ state :type_body do
222
+ rule %r/[{\[]/ do
223
+ token Punctuation
224
+ pop!
225
+ push :space_break
226
+ push :struct_mods
227
+ push :inline_break
228
+ push :struct_fields
229
+ push :space_break
230
+ end
231
+ rule %r// do
232
+ pop!
233
+ push :arg_type
234
+ end
235
+ end
236
+
237
+ state :root do
238
+ # Whitespace.
239
+ rule spaces, Text
240
+
241
+ # Comments.
242
+ rule comment, Comment
243
+
244
+ # Includes.
245
+ rule %r/(include|incdir)/ do
246
+ token Keyword
247
+ push :include
248
+ push :space_break
249
+ end
250
+
251
+ # Defines.
252
+ rule %r/define/ do
253
+ token Keyword
254
+ push :define_exp
255
+ push :space_break
256
+ push :define_name
257
+ push :space_break
258
+ end
259
+
260
+ # Resources.
261
+ rule %r/resource/ do
262
+ token Keyword
263
+ push :resource_values
264
+ push :inline_break
265
+ push :resource_type
266
+ push :inline_break
267
+ push :resource_name
268
+ push :space_break
269
+ end
270
+
271
+ # Flags and strings.
272
+ rule %r/(#{id}|_)(#{spaces})(=)/ do |m|
273
+ if m[1] == "_"
274
+ groups Keyword, Text, Punctuation
275
+ else
276
+ groups Name, Text, Punctuation
277
+ end
278
+ push :flags_list
279
+ push :space_break
280
+ end
281
+
282
+ # Syscalls.
283
+ rule %r/(#{id})(\$)?(#{num_id})?(#{spaces})?(\()/ do |m|
284
+ groups Name::Function, Punctuation, Name::Function::Magic, Text, Punctuation
285
+ push :syscall_mods
286
+ push :inline_break
287
+ push :syscall_retval
288
+ push :inline_break
289
+ push :syscall_args
290
+ push :space_break
291
+ end
292
+
293
+ # Structs and unions.
294
+ rule %r/(#{id}|#{id}\$#{num_id})(#{spaces})?([{\[])/ do |m|
295
+ groups Name, Text, Punctuation
296
+ push :inline_break
297
+ push :struct_mods
298
+ push :inline_break
299
+ push :struct_fields
300
+ push :space_break
301
+ end
302
+
303
+ # Types.
304
+ rule %r/type/ do
305
+ token Keyword
306
+ push :type_body
307
+ push :space_break
308
+ push :type_args
309
+ push :type_name
310
+ push :space_break
311
+ end
312
+ end
313
+
314
+ end
315
+ end
316
+ end
@@ -0,0 +1,122 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class Syzprog < RegexLexer
7
+ title "Syzprog"
8
+ desc "Program description language used by syzkaller"
9
+ tag 'syzprog'
10
+
11
+ def self.keywords
12
+ @keywords ||= Set.new %w(
13
+ ANY ANYBLOB ANYPTR ANYPTR64 ANYPTRS ANYRES16 ANYRES32 ANYRES64
14
+ ANYRESDEC ANYRESHEX ANYRESOCT ANYUNION AUTO false nil true void
15
+ async fail_nth rerun
16
+ )
17
+ end
18
+
19
+ comment = /#.*$/
20
+ inline_spaces = /[ \t]+/
21
+ eol_spaces = /[\n\r]+/
22
+ spaces = /\s+/
23
+
24
+ id = /[a-zA-Z_][a-zA-Z0-9_]*/
25
+ num_id = /[a-zA-Z0-9_]+/
26
+ res_id = /r[0-9]+/
27
+
28
+ state :inline_break do
29
+ rule inline_spaces, Text
30
+ rule %r//, Text, :pop!
31
+ end
32
+
33
+ state :eol_break do
34
+ rule eol_spaces, Text
35
+ rule comment, Comment
36
+ rule %r//, Text, :pop!
37
+ end
38
+
39
+ state :space_break do
40
+ rule spaces, Text
41
+ rule comment, Comment
42
+ rule %r//, Text, :pop!
43
+ end
44
+
45
+ state :mixin_number do
46
+ rule %r/-?0x[\da-f]+/i, Num::Hex
47
+ rule %r/-?\d+/, Num::Integer
48
+ end
49
+
50
+ state :mixin_string do
51
+ rule %r/"[^"]*"/, Str::Double
52
+ rule %r/`[^`]*`/, Str::Backtick
53
+ rule %r/'[^']*'/, Str::Single
54
+ end
55
+
56
+ state :mixin_term do
57
+ mixin :mixin_number
58
+ mixin :mixin_string
59
+
60
+ rule %r/#{res_id}/, Keyword::Pseudo
61
+ rule id do |m|
62
+ if self.class.keywords.include?(m[0])
63
+ token Keyword
64
+ else
65
+ token Name
66
+ end
67
+ end
68
+ end
69
+
70
+ state :mods_list do
71
+ rule spaces, Text
72
+ rule comment, Comment
73
+ mixin :mixin_term
74
+ rule %r/[,:]/, Punctuation
75
+ rule %r/\)/, Punctuation, :pop!
76
+ end
77
+
78
+ state :syscall_mods do
79
+ rule %r/\(/, Punctuation, :mods_list
80
+ rule %r//, Text, :pop!
81
+ end
82
+
83
+ state :syscall_args do
84
+ rule spaces, Text
85
+ rule comment, Comment
86
+ mixin :mixin_term
87
+ mixin :mixin_number
88
+ mixin :mixin_string
89
+ # This punctuation is a part of the syntax:
90
+ rule %r/[@&=,<>{}\[\]]/, Punctuation
91
+ # This punctuation is not, highlight just in case:
92
+ rule %r/[!#\$%\^\*\-\+\/\|~:;.\?]/, Punctuation
93
+ rule %r/\(/, Punctuation, :syscall_args
94
+ rule %r/\)/, Punctuation, :pop!
95
+ end
96
+
97
+ state :root do
98
+ # Whitespace.
99
+ rule spaces, Text
100
+
101
+ # Comments.
102
+ rule comment, Comment
103
+
104
+ # Return values.
105
+ rule %r/(#{res_id})(#{spaces})(=)/ do
106
+ groups Keyword::Pseudo, Text, Punctuation
107
+ end
108
+
109
+ # Syscalls.
110
+ rule %r/(#{id})(\$)?(#{num_id})?(#{spaces})?(\()/ do |m|
111
+ groups Name::Function, Punctuation, Name::Function::Magic, Text, Punctuation
112
+ push :syscall_mods
113
+ push :inline_break
114
+ push :syscall_args
115
+ push :space_break
116
+ end
117
+
118
+ end
119
+
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rouge
4
+ module Lexers
5
+ class Tap < RegexLexer
6
+ title 'TAP'
7
+ desc 'Test Anything Protocol'
8
+ tag 'tap'
9
+ aliases 'tap'
10
+ filenames '*.tap'
11
+
12
+ mimetypes 'text/x-tap', 'application/x-tap'
13
+
14
+ state :root do
15
+ # A TAP version may be specified.
16
+ rule %r/^TAP version \d+\n/, Name::Namespace
17
+
18
+ # Specify a plan with a plan line.
19
+ rule %r/^1\.\.\d+/, Keyword::Declaration, :plan
20
+
21
+ # A test failure
22
+ rule %r/^(not ok)([^\S\n]*)(\d*)/ do
23
+ groups Generic::Error, Text, Literal::Number::Integer
24
+ push :test
25
+ end
26
+
27
+ # A test success
28
+ rule %r/^(ok)([^\S\n]*)(\d*)/ do
29
+ groups Keyword::Reserved, Text, Literal::Number::Integer
30
+ push :test
31
+ end
32
+
33
+ # Diagnostics start with a hash.
34
+ rule %r/^#.*\n/, Comment
35
+
36
+ # TAP's version of an abort statement.
37
+ rule %r/^Bail out!.*\n/, Generic::Error
38
+
39
+ # # TAP ignores any unrecognized lines.
40
+ rule %r/^.*\n/, Text
41
+ end
42
+
43
+ state :plan do
44
+ # Consume whitespace (but not newline).
45
+ rule %r/[^\S\n]+/, Text
46
+
47
+ # A plan may have a directive with it.
48
+ rule %r/#/, Comment, :directive
49
+
50
+ # Or it could just end.
51
+ rule %r/\n/, Comment, :pop!
52
+
53
+ # Anything else is wrong.
54
+ rule %r/.*\n/, Generic::Error, :pop!
55
+ end
56
+
57
+ state :test do
58
+ # Consume whitespace (but not newline).
59
+ rule %r/[^\S\n]+/, Text
60
+
61
+ # A test may have a directive with it.
62
+ rule %r/#/, Comment, :directive
63
+
64
+ rule %r/\S+/, Text
65
+
66
+ rule %r/\n/, Text, :pop!
67
+ end
68
+
69
+ state :directive do
70
+ # Consume whitespace (but not newline).
71
+ rule %r/[^\S\n]+/, Comment
72
+
73
+ # Extract todo items.
74
+ rule %r/(?i)\bTODO\b/, Comment::Preproc
75
+
76
+ # Extract skip items.
77
+ rule %r/(?i)\bSKIP\S*/, Comment::Preproc
78
+
79
+ rule %r/\S+/, Comment
80
+
81
+ rule %r/\n/ do
82
+ token Comment
83
+ pop! 2
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,198 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class TCL < RegexLexer
7
+ title "Tcl"
8
+ desc "The Tool Command Language (tcl.tk)"
9
+ tag 'tcl'
10
+ filenames '*.tcl', '*.tm'
11
+ mimetypes 'text/x-tcl', 'text/x-script.tcl', 'application/x-tcl'
12
+
13
+ def self.detect?(text)
14
+ return true if text.shebang? 'tclsh'
15
+ return true if text.shebang? 'wish'
16
+ return true if text.shebang? 'jimsh'
17
+ end
18
+
19
+ KEYWORDS = %w(
20
+ after apply array break catch continue elseif else error
21
+ eval expr for foreach global if namespace proc rename return
22
+ set switch then trace unset update uplevel upvar variable
23
+ vwait while
24
+ )
25
+
26
+ BUILTINS = %w(
27
+ append bgerror binary cd chan clock close concat dde dict
28
+ encoding eof exec exit fblocked fconfigure fcopy file
29
+ fileevent flush format gets glob history http incr info interp
30
+ join lappend lassign lindex linsert list llength load loadTk
31
+ lrange lrepeat lreplace lreverse lsearch lset lsort mathfunc
32
+ mathop memory msgcat open package pid pkg::create pkg_mkIndex
33
+ platform platform::shell puts pwd re_syntax read refchan
34
+ regexp registry regsub scan seek socket source split string
35
+ subst tell time tm unknown unload
36
+ )
37
+
38
+ OPEN = %w| \( \[ \{ " |
39
+ CLOSE = %w| \) \] \} |
40
+ ALL = OPEN + CLOSE
41
+ END_LINE = CLOSE + %w(; \n)
42
+ END_WORD = END_LINE + %w(\r \t \v)
43
+
44
+ CHARS = lambda { |list| Regexp.new %/[#{list.join}]/ }
45
+ NOT_CHARS = lambda { |list| Regexp.new %/[^#{list.join}]/ }
46
+
47
+ state :word do
48
+ rule %r/\{\*\}/, Keyword
49
+
50
+ mixin :brace_abort
51
+ mixin :interp
52
+ rule %r/\{/, Punctuation, :brace
53
+ rule %r/\(/, Punctuation, :paren
54
+ rule %r/"/, Str::Double, :string
55
+ rule %r/#{NOT_CHARS[END_WORD]}+?(?=#{CHARS[OPEN+['\\\\']]})/, Text
56
+ end
57
+
58
+ def self.gen_command_state(name='')
59
+ state(:"command#{name}") do
60
+ rule %r/#/, Comment, :comment
61
+
62
+ mixin :word
63
+
64
+ rule %r/(?=#{CHARS[END_WORD]})/ do
65
+ push :"params#{name}"
66
+ end
67
+
68
+ rule %r/#{NOT_CHARS[END_WORD]}+/ do |m|
69
+ if KEYWORDS.include? m[0]
70
+ token Keyword
71
+ elsif BUILTINS.include? m[0]
72
+ token Name::Builtin
73
+ else
74
+ token Text
75
+ end
76
+ end
77
+
78
+ mixin :whitespace
79
+ end
80
+ end
81
+
82
+ def self.gen_delimiter_states(name, close, opts={})
83
+ gen_command_state("_in_#{name}")
84
+
85
+ state :"params_in_#{name}" do
86
+ rule close do
87
+ token Punctuation
88
+ pop! 2
89
+ end
90
+
91
+ # mismatched delimiters. Braced strings with mismatched
92
+ # closing delimiters should be okay, since this is standard
93
+ # practice, like {]]]]}
94
+ if opts[:strict]
95
+ rule CHARS[CLOSE - [close]], Error
96
+ else
97
+ rule CHARS[CLOSE - [close]], Text
98
+ end
99
+
100
+ mixin :params
101
+ end
102
+
103
+ state name do
104
+ rule close, Punctuation, :pop!
105
+ mixin :"command_in_#{name}"
106
+ end
107
+ end
108
+
109
+
110
+ # tcl is freaking impossible. If we're in braces and we encounter
111
+ # a close brace, we have to drop everything and close the brace.
112
+ # This is so silly things like {abc"def} and {abc]def} don't b0rk
113
+ # everything after them.
114
+
115
+ # TODO: TCL seems to have this aborting behavior quite a lot.
116
+ # such things as [ abc" ] are a runtime error, but will still
117
+ # parse. Currently something like this will muck up the lex.
118
+ state :brace_abort do
119
+ rule %r/}/ do
120
+ if in_state? :brace
121
+ pop! until state? :brace
122
+ pop!
123
+ token Punctuation
124
+ else
125
+ token Error
126
+ end
127
+ end
128
+ end
129
+
130
+ state :params do
131
+ rule %r/;/, Punctuation, :pop!
132
+ rule %r/\n/, Text, :pop!
133
+ rule %r/else|elseif|then/, Keyword
134
+ mixin :word
135
+ mixin :whitespace
136
+ rule %r/#{NOT_CHARS[END_WORD]}+/, Text
137
+ end
138
+
139
+ gen_delimiter_states :brace, /\}/, :strict => false
140
+ gen_delimiter_states :paren, /\)/, :strict => true
141
+ gen_delimiter_states :bracket, /\]/, :strict => true
142
+ gen_command_state
143
+
144
+ state :root do
145
+ mixin :command
146
+ end
147
+
148
+ state :whitespace do
149
+ # not a multiline regex because we want to capture \n sometimes
150
+ rule %r/\s+/, Text
151
+ end
152
+
153
+ state :interp do
154
+ rule %r/\[/, Punctuation, :bracket
155
+ rule %r/\$[a-z0-9.:-]+/, Name::Variable
156
+ rule %r/\$\{.*?\}/m, Name::Variable
157
+ rule %r/\$/, Text
158
+
159
+ # escape sequences
160
+ rule %r/\\[0-7]{3}/, Str::Escape
161
+ rule %r/\\x[0-9a-f]{2}/i, Str::Escape
162
+ rule %r/\\u[0-9a-f]{4}/i, Str::Escape
163
+ rule %r/\\./m, Str::Escape
164
+ end
165
+
166
+ state :comment do
167
+ rule %r/.*[^\\]\n/, Comment, :pop!
168
+ rule %r/.*\\\n/, Comment
169
+ end
170
+
171
+ state :string do
172
+ rule %r/"/, Str::Double, :pop!
173
+ mixin :interp
174
+ rule %r/[^\\\[\$"{}]+/m, Str::Double
175
+
176
+ # strings have to keep count of their internal braces, to support
177
+ # for example { "{ }" }.
178
+ rule %r/{/ do
179
+ @brace_count ||= 0
180
+ @brace_count += 1
181
+
182
+ token Str::Double
183
+ end
184
+
185
+ rule %r/}/ do
186
+ if in_state? :brace and @brace_count.to_i == 0
187
+ pop! until state? :brace
188
+ pop!
189
+ token Punctuation
190
+ else
191
+ @brace_count -= 1
192
+ token Str::Double
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end