blusher 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +29 -0
  3. data/Cargo.lock +373 -0
  4. data/Cargo.toml +6 -0
  5. data/LICENSE +25 -0
  6. data/README.md +98 -0
  7. data/ext/blusher/Cargo.toml +18 -0
  8. data/ext/blusher/extconf.rb +10 -0
  9. data/ext/blusher/src/lib.rs +167 -0
  10. data/lib/blusher/native.rb +115 -0
  11. data/lib/blusher/shim.rb +134 -0
  12. data/lib/blusher/tables/abap.json +1 -0
  13. data/lib/blusher/tables/actionscript.json +1 -0
  14. data/lib/blusher/tables/ada.json +1 -0
  15. data/lib/blusher/tables/apache.json +1 -0
  16. data/lib/blusher/tables/apex.json +1 -0
  17. data/lib/blusher/tables/apiblueprint.json +1 -0
  18. data/lib/blusher/tables/applescript.json +1 -0
  19. data/lib/blusher/tables/armasm.json +1 -0
  20. data/lib/blusher/tables/augeas.json +1 -0
  21. data/lib/blusher/tables/awk.json +1 -0
  22. data/lib/blusher/tables/batchfile.json +1 -0
  23. data/lib/blusher/tables/bbcbasic.json +1 -0
  24. data/lib/blusher/tables/bibtex.json +1 -0
  25. data/lib/blusher/tables/bicep.json +1 -0
  26. data/lib/blusher/tables/biml.json +1 -0
  27. data/lib/blusher/tables/bpf.json +1 -0
  28. data/lib/blusher/tables/brainfuck.json +1 -0
  29. data/lib/blusher/tables/brightscript.json +1 -0
  30. data/lib/blusher/tables/bsl.json +1 -0
  31. data/lib/blusher/tables/c.json +1 -0
  32. data/lib/blusher/tables/cfscript.json +1 -0
  33. data/lib/blusher/tables/cisco_ios.json +1 -0
  34. data/lib/blusher/tables/clean.json +1 -0
  35. data/lib/blusher/tables/clojure.json +1 -0
  36. data/lib/blusher/tables/cmake.json +1 -0
  37. data/lib/blusher/tables/cmhg.json +1 -0
  38. data/lib/blusher/tables/cobol.json +1 -0
  39. data/lib/blusher/tables/codeowners.json +1 -0
  40. data/lib/blusher/tables/coffeescript.json +1 -0
  41. data/lib/blusher/tables/common_lisp.json +1 -0
  42. data/lib/blusher/tables/conf.json +1 -0
  43. data/lib/blusher/tables/cpp.json +1 -0
  44. data/lib/blusher/tables/crystal.json +1 -0
  45. data/lib/blusher/tables/csharp.json +1 -0
  46. data/lib/blusher/tables/css.json +1 -0
  47. data/lib/blusher/tables/csvs.json +1 -0
  48. data/lib/blusher/tables/cuda.json +1 -0
  49. data/lib/blusher/tables/cypher.json +1 -0
  50. data/lib/blusher/tables/cython.json +1 -0
  51. data/lib/blusher/tables/d.json +1 -0
  52. data/lib/blusher/tables/dafny.json +1 -0
  53. data/lib/blusher/tables/dart.json +1 -0
  54. data/lib/blusher/tables/datastudio.json +1 -0
  55. data/lib/blusher/tables/diff.json +1 -0
  56. data/lib/blusher/tables/digdag.json +1 -0
  57. data/lib/blusher/tables/docker.json +1 -0
  58. data/lib/blusher/tables/dot.json +1 -0
  59. data/lib/blusher/tables/dylan.json +1 -0
  60. data/lib/blusher/tables/ecl.json +1 -0
  61. data/lib/blusher/tables/eex.json +1 -0
  62. data/lib/blusher/tables/eiffel.json +1 -0
  63. data/lib/blusher/tables/elixir.json +1 -0
  64. data/lib/blusher/tables/elm.json +1 -0
  65. data/lib/blusher/tables/email.json +1 -0
  66. data/lib/blusher/tables/epp.json +1 -0
  67. data/lib/blusher/tables/erb.json +1 -0
  68. data/lib/blusher/tables/erlang.json +1 -0
  69. data/lib/blusher/tables/factor.json +1 -0
  70. data/lib/blusher/tables/fluent.json +1 -0
  71. data/lib/blusher/tables/fortran.json +1 -0
  72. data/lib/blusher/tables/freefem.json +1 -0
  73. data/lib/blusher/tables/fsharp.json +1 -0
  74. data/lib/blusher/tables/gdscript.json +1 -0
  75. data/lib/blusher/tables/ghc-cmm.json +1 -0
  76. data/lib/blusher/tables/ghc-core.json +1 -0
  77. data/lib/blusher/tables/gjs.json +1 -0
  78. data/lib/blusher/tables/glsl.json +1 -0
  79. data/lib/blusher/tables/go.json +1 -0
  80. data/lib/blusher/tables/gradle.json +1 -0
  81. data/lib/blusher/tables/graphql.json +1 -0
  82. data/lib/blusher/tables/groovy.json +1 -0
  83. data/lib/blusher/tables/gts.json +1 -0
  84. data/lib/blusher/tables/hack.json +1 -0
  85. data/lib/blusher/tables/haml.json +1 -0
  86. data/lib/blusher/tables/handlebars.json +1 -0
  87. data/lib/blusher/tables/haskell.json +1 -0
  88. data/lib/blusher/tables/haxe.json +1 -0
  89. data/lib/blusher/tables/hcl.json +1 -0
  90. data/lib/blusher/tables/hlsl.json +1 -0
  91. data/lib/blusher/tables/hocon.json +1 -0
  92. data/lib/blusher/tables/hql.json +1 -0
  93. data/lib/blusher/tables/html.json +1 -0
  94. data/lib/blusher/tables/http.json +1 -0
  95. data/lib/blusher/tables/hylang.json +1 -0
  96. data/lib/blusher/tables/idlang.json +1 -0
  97. data/lib/blusher/tables/idris.json +1 -0
  98. data/lib/blusher/tables/iecst.json +1 -0
  99. data/lib/blusher/tables/igorpro.json +1 -0
  100. data/lib/blusher/tables/ini.json +1 -0
  101. data/lib/blusher/tables/io.json +1 -0
  102. data/lib/blusher/tables/irb_output.json +1 -0
  103. data/lib/blusher/tables/isabelle.json +1 -0
  104. data/lib/blusher/tables/isbl.json +1 -0
  105. data/lib/blusher/tables/j.json +1 -0
  106. data/lib/blusher/tables/janet.json +1 -0
  107. data/lib/blusher/tables/java.json +1 -0
  108. data/lib/blusher/tables/javascript.json +1 -0
  109. data/lib/blusher/tables/jinja.json +1 -0
  110. data/lib/blusher/tables/jsl.json +1 -0
  111. data/lib/blusher/tables/json-doc.json +1 -0
  112. data/lib/blusher/tables/json.json +1 -0
  113. data/lib/blusher/tables/json5.json +1 -0
  114. data/lib/blusher/tables/jsonnet.json +1 -0
  115. data/lib/blusher/tables/jsp.json +1 -0
  116. data/lib/blusher/tables/jsx.json +1 -0
  117. data/lib/blusher/tables/julia.json +1 -0
  118. data/lib/blusher/tables/kick_assembler.json +1 -0
  119. data/lib/blusher/tables/kotlin.json +1 -0
  120. data/lib/blusher/tables/lasso.json +1 -0
  121. data/lib/blusher/tables/lean.json +1 -0
  122. data/lib/blusher/tables/liquid.json +1 -0
  123. data/lib/blusher/tables/literate_coffeescript.json +1 -0
  124. data/lib/blusher/tables/literate_haskell.json +1 -0
  125. data/lib/blusher/tables/livescript.json +1 -0
  126. data/lib/blusher/tables/llvm.json +1 -0
  127. data/lib/blusher/tables/lua.json +1 -0
  128. data/lib/blusher/tables/lustre.json +1 -0
  129. data/lib/blusher/tables/lutin.json +1 -0
  130. data/lib/blusher/tables/m68k.json +1 -0
  131. data/lib/blusher/tables/magik.json +1 -0
  132. data/lib/blusher/tables/make.json +1 -0
  133. data/lib/blusher/tables/markdown.json +1 -0
  134. data/lib/blusher/tables/mason.json +1 -0
  135. data/lib/blusher/tables/mathematica.json +1 -0
  136. data/lib/blusher/tables/matlab.json +1 -0
  137. data/lib/blusher/tables/meson.json +1 -0
  138. data/lib/blusher/tables/minizinc.json +1 -0
  139. data/lib/blusher/tables/mojo.json +1 -0
  140. data/lib/blusher/tables/moonscript.json +1 -0
  141. data/lib/blusher/tables/mosel.json +1 -0
  142. data/lib/blusher/tables/msgtrans.json +1 -0
  143. data/lib/blusher/tables/mxml.json +1 -0
  144. data/lib/blusher/tables/nasm.json +1 -0
  145. data/lib/blusher/tables/nesasm.json +1 -0
  146. data/lib/blusher/tables/nginx.json +1 -0
  147. data/lib/blusher/tables/nial.json +1 -0
  148. data/lib/blusher/tables/nim.json +1 -0
  149. data/lib/blusher/tables/nix.json +1 -0
  150. data/lib/blusher/tables/objective_c.json +1 -0
  151. data/lib/blusher/tables/objective_cpp.json +1 -0
  152. data/lib/blusher/tables/ocaml.json +1 -0
  153. data/lib/blusher/tables/ocl.json +1 -0
  154. data/lib/blusher/tables/openedge.json +1 -0
  155. data/lib/blusher/tables/opentype_feature_file.json +1 -0
  156. data/lib/blusher/tables/p4.json +1 -0
  157. data/lib/blusher/tables/pascal.json +1 -0
  158. data/lib/blusher/tables/pdf.json +1 -0
  159. data/lib/blusher/tables/perl.json +1 -0
  160. data/lib/blusher/tables/php.json +1 -0
  161. data/lib/blusher/tables/plist.json +1 -0
  162. data/lib/blusher/tables/plsql.json +1 -0
  163. data/lib/blusher/tables/pony.json +1 -0
  164. data/lib/blusher/tables/postscript.json +1 -0
  165. data/lib/blusher/tables/powershell.json +1 -0
  166. data/lib/blusher/tables/praat.json +1 -0
  167. data/lib/blusher/tables/prolog.json +1 -0
  168. data/lib/blusher/tables/prometheus.json +1 -0
  169. data/lib/blusher/tables/properties.json +1 -0
  170. data/lib/blusher/tables/protobuf.json +1 -0
  171. data/lib/blusher/tables/puppet.json +1 -0
  172. data/lib/blusher/tables/python.json +1 -0
  173. data/lib/blusher/tables/q.json +1 -0
  174. data/lib/blusher/tables/qml.json +1 -0
  175. data/lib/blusher/tables/r.json +1 -0
  176. data/lib/blusher/tables/racket.json +1 -0
  177. data/lib/blusher/tables/reasonml.json +1 -0
  178. data/lib/blusher/tables/rego.json +1 -0
  179. data/lib/blusher/tables/rescript.json +1 -0
  180. data/lib/blusher/tables/rml.json +1 -0
  181. data/lib/blusher/tables/robot_framework.json +1 -0
  182. data/lib/blusher/tables/rocq.json +1 -0
  183. data/lib/blusher/tables/ruby.json +1 -0
  184. data/lib/blusher/tables/rust.json +1 -0
  185. data/lib/blusher/tables/sas.json +1 -0
  186. data/lib/blusher/tables/sass.json +1 -0
  187. data/lib/blusher/tables/scala.json +1 -0
  188. data/lib/blusher/tables/scheme.json +1 -0
  189. data/lib/blusher/tables/scss.json +1 -0
  190. data/lib/blusher/tables/sed.json +1 -0
  191. data/lib/blusher/tables/shell.json +1 -0
  192. data/lib/blusher/tables/sieve.json +1 -0
  193. data/lib/blusher/tables/slice.json +1 -0
  194. data/lib/blusher/tables/slim.json +1 -0
  195. data/lib/blusher/tables/smalltalk.json +1 -0
  196. data/lib/blusher/tables/smarty.json +1 -0
  197. data/lib/blusher/tables/sml.json +1 -0
  198. data/lib/blusher/tables/sparql.json +1 -0
  199. data/lib/blusher/tables/sqf.json +1 -0
  200. data/lib/blusher/tables/sql.json +1 -0
  201. data/lib/blusher/tables/ssh.json +1 -0
  202. data/lib/blusher/tables/stan.json +1 -0
  203. data/lib/blusher/tables/stata.json +1 -0
  204. data/lib/blusher/tables/supercollider.json +1 -0
  205. data/lib/blusher/tables/svelte.json +1 -0
  206. data/lib/blusher/tables/swift.json +1 -0
  207. data/lib/blusher/tables/systemd.json +1 -0
  208. data/lib/blusher/tables/syzlang.json +1 -0
  209. data/lib/blusher/tables/syzprog.json +1 -0
  210. data/lib/blusher/tables/tap.json +1 -0
  211. data/lib/blusher/tables/tcl.json +1 -0
  212. data/lib/blusher/tables/terraform.json +1 -0
  213. data/lib/blusher/tables/tex.json +1 -0
  214. data/lib/blusher/tables/thrift.json +1 -0
  215. data/lib/blusher/tables/toml.json +1 -0
  216. data/lib/blusher/tables/tsx.json +1 -0
  217. data/lib/blusher/tables/ttcn3.json +1 -0
  218. data/lib/blusher/tables/tulip.json +1 -0
  219. data/lib/blusher/tables/turtle.json +1 -0
  220. data/lib/blusher/tables/twig.json +1 -0
  221. data/lib/blusher/tables/typescript.json +1 -0
  222. data/lib/blusher/tables/vala.json +1 -0
  223. data/lib/blusher/tables/vb.json +1 -0
  224. data/lib/blusher/tables/vcl.json +1 -0
  225. data/lib/blusher/tables/velocity.json +1 -0
  226. data/lib/blusher/tables/verilog.json +1 -0
  227. data/lib/blusher/tables/veryl.json +1 -0
  228. data/lib/blusher/tables/vhdl.json +1 -0
  229. data/lib/blusher/tables/viml.json +1 -0
  230. data/lib/blusher/tables/vue.json +1 -0
  231. data/lib/blusher/tables/wollok.json +1 -0
  232. data/lib/blusher/tables/xml.json +1 -0
  233. data/lib/blusher/tables/xojo.json +1 -0
  234. data/lib/blusher/tables/xpath.json +1 -0
  235. data/lib/blusher/tables/xquery.json +1 -0
  236. data/lib/blusher/tables/yaml.json +1 -0
  237. data/lib/blusher/tables/yang.json +1 -0
  238. data/lib/blusher/tables/zig.json +1 -0
  239. data/lib/blusher/version.rb +5 -0
  240. data/lib/blusher.rb +18 -0
  241. metadata +320 -0
@@ -0,0 +1 @@
1
+ {"lexer":"Rouge::Lexers::YAML","start_push":[],"states":{"basic":[{"kind":"tok","re":"#.*$","opts":0,"tok":"Comment.Single","next":null}],"root":[{"kind":"mixin","state":"basic"},{"kind":"tok","re":"\\n+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"[ ]+(?=#|$)","opts":0,"tok":"Text","next":null},{"kind":"callback","re":"^%YAML\\b","opts":0},{"kind":"callback","re":"^%TAG\\b","opts":0},{"kind":"callback","re":"^(?:---|\\.\\.\\.)(?= |$)","opts":0},{"kind":"callback","re":"[ ]*(?!\\s|$)","opts":0}],"indentation":[{"kind":"actions","re":"\\s*?\\n","opts":0,"actions":[["token","Text"],["pop",2]]},{"kind":"callback","re":"[ ]+(?=[-:?](?:[ ]|$))","opts":0},{"kind":"callback","re":"[?:-](?=[ ]|$)","opts":0},{"kind":"callback","re":"[ ]*","opts":0}],"block_line":[{"kind":"tok","re":"[ ]*(?=#|$)","opts":0,"tok":"Text","next":"pop!"},{"kind":"tok","re":"[ ]+","opts":0,"tok":"Text","next":null},{"kind":"mixin","state":"descriptors"},{"kind":"mixin","state":"block_nodes"},{"kind":"mixin","state":"flow_nodes"},{"kind":"actions","re":"(?=(?-mix:[^ \\t\\n\\r\\f\\v?:,\\[\\]{}#&*!\\|>'\"%@`])|[?:-][^ \\t\\n\\r\\f\\v])","opts":0,"actions":[["token","Name.Variable"],["push","plain_scalar_in_block_context"]]}],"descriptors":[{"kind":"tok","re":"!<[0-9A-Za-z;/?:@&=+$,_.!~*'()\\[\\]%-]+>","opts":0,"tok":"Keyword.Type","next":null},{"kind":"tok","re":"\n (?:![\\w-]+)? # handle\n !(?:[\\w;/?:@&=+$,.!~*\\'()\\[\\]%-]*) # suffix\n ","opts":2,"tok":"Keyword.Type","next":null},{"kind":"tok","re":"&[\\p{L}\\p{Nl}\\p{Nd}_-]+","opts":16,"tok":"Name.Label","next":null},{"kind":"tok","re":"\\*[\\p{L}\\p{Nl}\\p{Nd}_-]+","opts":16,"tok":"Name.Variable","next":null}],"block_nodes":[{"kind":"callback","re":"([^#,?\\[\\]{}\"'\\n]+)(:)(?=\\s|$)","opts":0},{"kind":"callback","re":"(\"(?:[^\\n\"]|\\\\\")*\")(\\s*)(:)(?=\\s|$)","opts":0},{"kind":"callback","re":"('(?:[^\\n']|\\\\')*')(\\s*)(:)(?=\\s|$)","opts":0},{"kind":"actions","re":"[\\|>][+-]?","opts":0,"actions":[["token","Punctuation.Indicator"],["push","block_scalar_content"],["push","block_scalar_header"]]}],"flow_nodes":[{"kind":"tok","re":"\\[","opts":0,"tok":"Punctuation.Indicator","next":"flow_sequence"},{"kind":"tok","re":"\\{","opts":0,"tok":"Punctuation.Indicator","next":"flow_mapping"},{"kind":"tok","re":"'","opts":0,"tok":"Literal.String.Single","next":"single_quoted_scalar"},{"kind":"tok","re":"\"","opts":0,"tok":"Literal.String.Double","next":"double_quoted_scalar"}],"flow_collection":[{"kind":"tok","re":"\\s+","opts":4,"tok":"Text","next":null},{"kind":"mixin","state":"basic"},{"kind":"tok","re":"[?:,]","opts":0,"tok":"Punctuation.Indicator","next":null},{"kind":"mixin","state":"descriptors"},{"kind":"mixin","state":"flow_nodes"},{"kind":"actions","re":"(?=(?-mix:[^ \\t\\n\\r\\f\\v?:,\\[\\]{}#&*!\\|>'\"%@`]))","opts":0,"actions":[["push","plain_scalar_in_flow_context"]]}],"flow_sequence":[{"kind":"tok","re":"\\]","opts":0,"tok":"Punctuation.Indicator","next":"pop!"},{"kind":"mixin","state":"flow_collection"}],"flow_mapping":[{"kind":"tok","re":"\\}","opts":0,"tok":"Punctuation.Indicator","next":"pop!"},{"kind":"mixin","state":"flow_collection"}],"block_scalar_content":[{"kind":"tok","re":"\\n+","opts":0,"tok":"Text","next":null},{"kind":"callback","re":"^[ ]+$","opts":0},{"kind":"callback","re":"^[ ]*","opts":0},{"kind":"tok","re":"[^\\n\\r\\f\\v]+","opts":0,"tok":"Literal.String","next":null}],"block_scalar_header":[{"kind":"callback","re":"\n (\n ([1-9])[+-]? | [+-]?([1-9])?\n )(?=[ ]|$)\n ","opts":2}],"ignored_line":[{"kind":"mixin","state":"basic"},{"kind":"tok","re":"[ ]+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"\\n","opts":0,"tok":"Text","next":"pop!"}],"quoted_scalar_whitespaces":[{"kind":"tok","re":"^[ ]+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"[ ]+$","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"\\n+","opts":4,"tok":"Text","next":null},{"kind":"tok","re":"[ ]+","opts":0,"tok":"Name.Variable","next":null}],"single_quoted_scalar":[{"kind":"mixin","state":"quoted_scalar_whitespaces"},{"kind":"tok","re":"\\\\'","opts":0,"tok":"Literal.String.Escape","next":null},{"kind":"tok","re":"'","opts":0,"tok":"Literal.String","next":"pop!"},{"kind":"tok","re":"[^\\s']+","opts":0,"tok":"Literal.String","next":null}],"double_quoted_scalar":[{"kind":"tok","re":"\"","opts":0,"tok":"Literal.String","next":"pop!"},{"kind":"mixin","state":"quoted_scalar_whitespaces"},{"kind":"tok","re":"\\\\[0abt\\tn\\nvfre \"\\\\N_LP]","opts":0,"tok":"Literal.String.Escape","next":null},{"kind":"tok","re":"\\\\(?:x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})","opts":0,"tok":"Literal.String.Escape","next":null},{"kind":"tok","re":"[^ \\t\\n\\r\\f\\v\"\\\\]+","opts":0,"tok":"Literal.String","next":null}],"plain_scalar_in_block_context_new_line":[{"kind":"tok","re":"^[ ]+\\n","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"\\n+","opts":4,"tok":"Text","next":null},{"kind":"actions","re":"^(?=---|\\.\\.\\.)","opts":0,"actions":[["pop",3]]},{"kind":"callback","re":"^[ ]*","opts":0}],"plain_scalar_in_block_context":[{"kind":"tok","re":"[ ]*(?=:[ \\n]|:$)","opts":0,"tok":"Text","next":"pop!"},{"kind":"tok","re":"[ ]*:\\S+","opts":0,"tok":"Literal.String","next":null},{"kind":"tok","re":"[ ]+(?=#)","opts":0,"tok":"Text","next":"pop!"},{"kind":"tok","re":"[ ]+$","opts":0,"tok":"Text","next":null},{"kind":"actions","re":"\\n+","opts":0,"actions":[["token","Text"],["push","plain_scalar_in_block_context_new_line"]]},{"kind":"tok","re":"[ ]+","opts":0,"tok":"Literal.String","next":null},{"kind":"tok","re":"(true|false|null)\\b","opts":0,"tok":"Keyword.Constant","next":null},{"kind":"tok","re":"\\d+(?:\\.\\d+)?(?=(\\r?\\n)| +#)","opts":0,"tok":"Literal.Number","next":"pop!"},{"kind":"tok","re":"[^\\s:]+","opts":0,"tok":"Literal.String","next":null}],"plain_scalar_in_flow_context":[{"kind":"tok","re":"[ ]*(?=[,:?\\[\\]{}])","opts":0,"tok":"Text","next":"pop!"},{"kind":"tok","re":"[ ]+(?=#)","opts":0,"tok":"Text","next":"pop!"},{"kind":"tok","re":"^[ ]+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"[ ]+$","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"\\n+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"[ ]+","opts":0,"tok":"Name.Variable","next":null},{"kind":"tok","re":"[^\\s,:?\\[\\]{}]+","opts":0,"tok":"Name.Variable","next":null}],"yaml_directive":[{"kind":"actions","re":"([ ]+)(\\d+\\.\\d+)","opts":0,"actions":[["groups",["Text","Literal.Number"]],["goto","ignored_line"]]}],"tag_directive":[{"kind":"actions","re":"\n ([ ]+)(!|![\\w-]*!) # prefix\n ([ ]+)(!|!?[\\w;/?:@&=+$,.!~*'()\\[\\]%-]+) # tag handle\n ","opts":2,"actions":[["groups",["Text","Keyword.Type","Text","Keyword.Type"]],["goto","ignored_line"]]}]},"shortnames":{"Text":"","Text.Whitespace":"w","Escape":"esc","Error":"err","Other":"x","Keyword":"k","Keyword.Constant":"kc","Keyword.Declaration":"kd","Keyword.Namespace":"kn","Keyword.Pseudo":"kp","Keyword.Reserved":"kr","Keyword.Type":"kt","Keyword.Variable":"kv","Name":"n","Name.Attribute":"na","Name.Builtin":"nb","Name.Builtin.Pseudo":"bp","Name.Class":"nc","Name.Constant":"no","Name.Decorator":"nd","Name.Entity":"ni","Name.Exception":"ne","Name.Function":"nf","Name.Function.Magic":"fm","Name.Property":"py","Name.Label":"nl","Name.Namespace":"nn","Name.Other":"nx","Name.Tag":"nt","Name.Variable":"nv","Name.Variable.Class":"vc","Name.Variable.Global":"vg","Name.Variable.Instance":"vi","Name.Variable.Magic":"vm","Literal":"l","Literal.Date":"ld","Literal.String":"s","Literal.String.Affix":"sa","Literal.String.Backtick":"sb","Literal.String.Char":"sc","Literal.String.Delimiter":"dl","Literal.String.Doc":"sd","Literal.String.Double":"s2","Literal.String.Escape":"se","Literal.String.Heredoc":"sh","Literal.String.Interpol":"si","Literal.String.Other":"sx","Literal.String.Regex":"sr","Literal.String.Single":"s1","Literal.String.Symbol":"ss","Literal.Number":"m","Literal.Number.Bin":"mb","Literal.Number.Float":"mf","Literal.Number.Hex":"mh","Literal.Number.Integer":"mi","Literal.Number.Integer.Long":"il","Literal.Number.Oct":"mo","Literal.Number.Other":"mx","Operator":"o","Operator.Word":"ow","Punctuation":"p","Punctuation.Indicator":"pi","Comment":"c","Comment.Hashbang":"ch","Comment.Doc":"cd","Comment.Multiline":"cm","Comment.Preproc":"cp","Comment.PreprocFile":"cpf","Comment.Single":"c1","Comment.Special":"cs","Generic":"g","Generic.Deleted":"gd","Generic.Emph":"ge","Generic.EmphStrong":"ges","Generic.Error":"gr","Generic.Heading":"gh","Generic.Inserted":"gi","Generic.Lineno":"gl","Generic.Output":"go","Generic.Prompt":"gp","Generic.Strong":"gs","Generic.Subheading":"gu","Generic.Traceback":"gt"}}
@@ -0,0 +1 @@
1
+ {"lexer":"Rouge::Lexers::YANG","start_push":[],"states":{"comment":[{"kind":"tok","re":"[^*/]","opts":0,"tok":"Comment","next":null},{"kind":"tok","re":"/\\*","opts":0,"tok":"Comment","next":"comment"},{"kind":"tok","re":"\\*/","opts":0,"tok":"Comment","next":"pop!"},{"kind":"tok","re":"[*/]","opts":0,"tok":"Comment","next":null}],"root":[{"kind":"tok","re":"\\s+","opts":0,"tok":"Text.Whitespace","next":null},{"kind":"tok","re":"[\\{\\}\\;]+","opts":0,"tok":"Punctuation","next":null},{"kind":"tok","re":"(?<![\\-\\w])(and|or|not|\\+|\\.)(?![\\-\\w])","opts":0,"tok":"Operator","next":null},{"kind":"tok","re":"\"(?:\\\\\"|[^\"])*?\"","opts":0,"tok":"Literal.String.Double","next":null},{"kind":"tok","re":"'(?:\\\\'|[^'])*?'","opts":0,"tok":"Literal.String.Single","next":null},{"kind":"tok","re":"/\\*","opts":0,"tok":"Comment","next":"comment"},{"kind":"tok","re":"//.*?$","opts":0,"tok":"Comment","next":null},{"kind":"actions","re":"(?:^|(?<=[\\s{};]))([\\w.-]+)(:)([\\w.-]+)(?=[\\s{};])","opts":0,"actions":[["groups",["Name.Namespace","Punctuation","Name"]]]},{"kind":"tok","re":"([0-9]{4}\\-[0-9]{2}\\-[0-9]{2})(?=[\\s\\{\\}\\;])","opts":0,"tok":"Name.Label","next":null},{"kind":"tok","re":"([0-9]+\\.[0-9]+)(?=[\\s\\{\\}\\;])","opts":0,"tok":"Literal.Number.Float","next":null},{"kind":"tok","re":"([0-9]+)(?=[\\s\\{\\}\\;])","opts":0,"tok":"Literal.Number.Integer","next":null},{"kind":"ir","re":"[\\w-]+(?=[^\\w\\-\\:])\\b","opts":0,"ops":[["if",["ginf",0,"down",["module","submodule","belongs-to","namespace","prefix","yang-version","contact","description","organization","reference","revision","import","include","revision-date","action","argument","augment","deviation","extension","feature","grouping","identity","if-feature","input","notification","output","rpc","typedef","anydata","anyxml","case","choice","config","container","deviate","leaf","leaf-list","list","must","presence","refine","uses","when","base","bit","default","enum","error-app-tag","error-message","fraction-digits","length","max-elements","min-elements","modifier","ordered-by","path","pattern","position","range","require-instance","status","type","units","value","yin-element","key","mandatory","unique"]],[["token","Keyword.Declaration"]],[["if",["ginf",0,"down",["binary","bits","boolean","decimal64","empty","enumeration","identityref","instance-identifier","int16","int32","int64","int8","leafref","string","uint16","uint32","uint64","uint8","union"]],[["token","Keyword.Type"]],[["if",["ginf",0,"down",["add","current","delete","deprecated","false","invert-match","max","min","not-supported","obsolete","replace","true","unbounded","user"]],[["token","Name.Constant"]],[["token","Name"]]]]]]]]},{"kind":"tok","re":"[^;{}\\s'\"]+","opts":0,"tok":"Name","next":null}]},"shortnames":{"Text":"","Text.Whitespace":"w","Escape":"esc","Error":"err","Other":"x","Keyword":"k","Keyword.Constant":"kc","Keyword.Declaration":"kd","Keyword.Namespace":"kn","Keyword.Pseudo":"kp","Keyword.Reserved":"kr","Keyword.Type":"kt","Keyword.Variable":"kv","Name":"n","Name.Attribute":"na","Name.Builtin":"nb","Name.Builtin.Pseudo":"bp","Name.Class":"nc","Name.Constant":"no","Name.Decorator":"nd","Name.Entity":"ni","Name.Exception":"ne","Name.Function":"nf","Name.Function.Magic":"fm","Name.Property":"py","Name.Label":"nl","Name.Namespace":"nn","Name.Other":"nx","Name.Tag":"nt","Name.Variable":"nv","Name.Variable.Class":"vc","Name.Variable.Global":"vg","Name.Variable.Instance":"vi","Name.Variable.Magic":"vm","Literal":"l","Literal.Date":"ld","Literal.String":"s","Literal.String.Affix":"sa","Literal.String.Backtick":"sb","Literal.String.Char":"sc","Literal.String.Delimiter":"dl","Literal.String.Doc":"sd","Literal.String.Double":"s2","Literal.String.Escape":"se","Literal.String.Heredoc":"sh","Literal.String.Interpol":"si","Literal.String.Other":"sx","Literal.String.Regex":"sr","Literal.String.Single":"s1","Literal.String.Symbol":"ss","Literal.Number":"m","Literal.Number.Bin":"mb","Literal.Number.Float":"mf","Literal.Number.Hex":"mh","Literal.Number.Integer":"mi","Literal.Number.Integer.Long":"il","Literal.Number.Oct":"mo","Literal.Number.Other":"mx","Operator":"o","Operator.Word":"ow","Punctuation":"p","Punctuation.Indicator":"pi","Comment":"c","Comment.Hashbang":"ch","Comment.Doc":"cd","Comment.Multiline":"cm","Comment.Preproc":"cp","Comment.PreprocFile":"cpf","Comment.Single":"c1","Comment.Special":"cs","Generic":"g","Generic.Deleted":"gd","Generic.Emph":"ge","Generic.EmphStrong":"ges","Generic.Error":"gr","Generic.Heading":"gh","Generic.Inserted":"gi","Generic.Lineno":"gl","Generic.Output":"go","Generic.Prompt":"gp","Generic.Strong":"gs","Generic.Subheading":"gu","Generic.Traceback":"gt"}}
@@ -0,0 +1 @@
1
+ {"lexer":"Rouge::Lexers::Zig","start_push":[],"states":{"bol":[{"kind":"mixin","state":"whitespace"},{"kind":"tok","re":"#\\s[^\\n]*","opts":0,"tok":"Comment.Special","next":null},{"kind":"actions","re":"","opts":0,"actions":[["pop",1]]}],"attribute":[{"kind":"mixin","state":"whitespace"},{"kind":"mixin","state":"literals"},{"kind":"tok","re":"[(,)=:]","opts":0,"tok":"Name.Decorator","next":null},{"kind":"tok","re":"\\]","opts":0,"tok":"Name.Decorator","next":"pop!"},{"kind":"tok","re":"[a-z_]\\w*","opts":1,"tok":"Name.Decorator","next":null}],"whitespace":[{"kind":"tok","re":"\\s+","opts":0,"tok":"Text","next":null},{"kind":"tok","re":"//[^\\n]*","opts":0,"tok":"Comment","next":null}],"root":[{"kind":"tok","re":"\\n","opts":0,"tok":"Text","next":"bol"},{"kind":"mixin","state":"whitespace"},{"kind":"tok","re":"\\b(?:(i|u)[0-9]+)\\b","opts":0,"tok":"Keyword.Type","next":null},{"kind":"tok","re":"\\b(?:f(16|32|64|128))\\b","opts":0,"tok":"Keyword.Type","next":null},{"kind":"tok","re":"\\b(?:(isize|usize))\\b","opts":0,"tok":"Keyword.Type","next":null},{"kind":"mixin","state":"literals"},{"kind":"tok","re":"'(?i-mx:[a-z_]\\w*)","opts":0,"tok":"Name.Variable","next":null},{"kind":"callback","re":"([.]?)(\\s*)(@?(?i-mx:[a-z_]\\w*))(\\s*)([(]?)","opts":0},{"kind":"tok","re":"[()\\[\\]{}|,:;]","opts":0,"tok":"Punctuation","next":null},{"kind":"tok","re":"[*/!@~&+%^<>=\\?-]|\\.{1,3}","opts":0,"tok":"Operator","next":null}],"literals":[{"kind":"tok","re":"\\b(?:true|false|null)\\b","opts":0,"tok":"Keyword.Constant","next":null},{"kind":"tok","re":"\n ' (?: (?x-mi:\\\\ ([nrt'\"\\\\0] | x\\h{2} | u\\h{4} | U\\h{8})) | [^\\\\] ) '\n ","opts":2,"tok":"Literal.String.Char","next":null},{"kind":"tok","re":"\"","opts":0,"tok":"Literal.String","next":"string"},{"kind":"tok","re":"r(#*)\".*?\"\\1","opts":4,"tok":"Literal.String","next":null},{"kind":"tok","re":"\n [0-9]+\n ((?-mix:[.][0-9_]+) (?-mix:e[-+]?[0-9_]+)?\n |(?-mix:[.][0-9_]+)? (?-mix:e[-+]?[0-9_]+)\n )\n ","opts":2,"tok":"Literal.Number.Float","next":null},{"kind":"tok","re":"\n ( 0b[10_]+\n | 0x[0-9a-fA-F_]+\n | [0-9_]+\n )\n ","opts":2,"tok":"Literal.Number.Integer","next":null}],"string":[{"kind":"tok","re":"\"","opts":0,"tok":"Literal.String","next":"pop!"},{"kind":"tok","re":"\\\\ ([nrt'\"\\\\0] | x\\h{2} | u\\h{4} | U\\h{8})","opts":2,"tok":"Literal.String.Escape","next":null},{"kind":"tok","re":"[^\"\\\\]+","opts":4,"tok":"Literal.String","next":null}]},"shortnames":{"Text":"","Text.Whitespace":"w","Escape":"esc","Error":"err","Other":"x","Keyword":"k","Keyword.Constant":"kc","Keyword.Declaration":"kd","Keyword.Namespace":"kn","Keyword.Pseudo":"kp","Keyword.Reserved":"kr","Keyword.Type":"kt","Keyword.Variable":"kv","Name":"n","Name.Attribute":"na","Name.Builtin":"nb","Name.Builtin.Pseudo":"bp","Name.Class":"nc","Name.Constant":"no","Name.Decorator":"nd","Name.Entity":"ni","Name.Exception":"ne","Name.Function":"nf","Name.Function.Magic":"fm","Name.Property":"py","Name.Label":"nl","Name.Namespace":"nn","Name.Other":"nx","Name.Tag":"nt","Name.Variable":"nv","Name.Variable.Class":"vc","Name.Variable.Global":"vg","Name.Variable.Instance":"vi","Name.Variable.Magic":"vm","Literal":"l","Literal.Date":"ld","Literal.String":"s","Literal.String.Affix":"sa","Literal.String.Backtick":"sb","Literal.String.Char":"sc","Literal.String.Delimiter":"dl","Literal.String.Doc":"sd","Literal.String.Double":"s2","Literal.String.Escape":"se","Literal.String.Heredoc":"sh","Literal.String.Interpol":"si","Literal.String.Other":"sx","Literal.String.Regex":"sr","Literal.String.Single":"s1","Literal.String.Symbol":"ss","Literal.Number":"m","Literal.Number.Bin":"mb","Literal.Number.Float":"mf","Literal.Number.Hex":"mh","Literal.Number.Integer":"mi","Literal.Number.Integer.Long":"il","Literal.Number.Oct":"mo","Literal.Number.Other":"mx","Operator":"o","Operator.Word":"ow","Punctuation":"p","Punctuation.Indicator":"pi","Comment":"c","Comment.Hashbang":"ch","Comment.Doc":"cd","Comment.Multiline":"cm","Comment.Preproc":"cp","Comment.PreprocFile":"cpf","Comment.Single":"c1","Comment.Special":"cs","Generic":"g","Generic.Deleted":"gd","Generic.Emph":"ge","Generic.EmphStrong":"ges","Generic.Error":"gr","Generic.Heading":"gh","Generic.Inserted":"gi","Generic.Lineno":"gl","Generic.Output":"go","Generic.Prompt":"gp","Generic.Strong":"gs","Generic.Subheading":"gu","Generic.Traceback":"gt"}}
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Blusher
4
+ VERSION = "0.1.0"
5
+ end
data/lib/blusher.rb ADDED
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "blusher/version"
4
+ require_relative "blusher/native"
5
+ require_relative "blusher/shim" # installs the rouge-API drop-in on require
6
+
7
+ # blusher — a fast, rouge-compatible syntax highlighter. Requiring it routes
8
+ # rouge's lexers through the Rust `carmine` engine where it produces a
9
+ # byte-identical token stream, and falls back to rouge itself everywhere else
10
+ # (zero code change, zero divergence). See README.
11
+ module Blusher
12
+ # Lex `source` with the lexer for `tag` (e.g. "ruby"), returning rouge
13
+ # [Token, value] pairs — via carmine when supported, else rouge.
14
+ def self.lex(tag, source)
15
+ lexer = Rouge::Lexer.find(tag) or raise ArgumentError, "unknown lexer: #{tag}"
16
+ lexer.new.lex(source).to_a
17
+ end
18
+ end
metadata ADDED
@@ -0,0 +1,320 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: blusher
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - momiji-rs
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-06-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rouge
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rb_sys
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.9'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.9'
41
+ description: |
42
+ blusher routes Ruby's rouge lexing — and, for the common HTML path, its
43
+ formatting — through the Rust `carmine` engine, which executes rule tables
44
+ extracted from rouge's own lexers. For an unadorned Rouge::Formatters::HTML
45
+ pipeline it fuses lex+format in Rust and returns one String, crossing the
46
+ Ruby boundary once instead of per-token: ~1.7x faster on a mixed corpus
47
+ (2.5x+ on large files), byte-identical, with transparent fallback to rouge
48
+ for callback lexers and other formatters. Verified against rouge's full
49
+ lexer spec suite (757/757). The engine's raw 4.6x is realized Rust-to-Rust.
50
+ email:
51
+ executables: []
52
+ extensions:
53
+ - ext/blusher/extconf.rb
54
+ extra_rdoc_files: []
55
+ files:
56
+ - CHANGELOG.md
57
+ - Cargo.lock
58
+ - Cargo.toml
59
+ - LICENSE
60
+ - README.md
61
+ - ext/blusher/Cargo.toml
62
+ - ext/blusher/extconf.rb
63
+ - ext/blusher/src/lib.rs
64
+ - lib/blusher.rb
65
+ - lib/blusher/native.rb
66
+ - lib/blusher/shim.rb
67
+ - lib/blusher/tables/abap.json
68
+ - lib/blusher/tables/actionscript.json
69
+ - lib/blusher/tables/ada.json
70
+ - lib/blusher/tables/apache.json
71
+ - lib/blusher/tables/apex.json
72
+ - lib/blusher/tables/apiblueprint.json
73
+ - lib/blusher/tables/applescript.json
74
+ - lib/blusher/tables/armasm.json
75
+ - lib/blusher/tables/augeas.json
76
+ - lib/blusher/tables/awk.json
77
+ - lib/blusher/tables/batchfile.json
78
+ - lib/blusher/tables/bbcbasic.json
79
+ - lib/blusher/tables/bibtex.json
80
+ - lib/blusher/tables/bicep.json
81
+ - lib/blusher/tables/biml.json
82
+ - lib/blusher/tables/bpf.json
83
+ - lib/blusher/tables/brainfuck.json
84
+ - lib/blusher/tables/brightscript.json
85
+ - lib/blusher/tables/bsl.json
86
+ - lib/blusher/tables/c.json
87
+ - lib/blusher/tables/cfscript.json
88
+ - lib/blusher/tables/cisco_ios.json
89
+ - lib/blusher/tables/clean.json
90
+ - lib/blusher/tables/clojure.json
91
+ - lib/blusher/tables/cmake.json
92
+ - lib/blusher/tables/cmhg.json
93
+ - lib/blusher/tables/cobol.json
94
+ - lib/blusher/tables/codeowners.json
95
+ - lib/blusher/tables/coffeescript.json
96
+ - lib/blusher/tables/common_lisp.json
97
+ - lib/blusher/tables/conf.json
98
+ - lib/blusher/tables/cpp.json
99
+ - lib/blusher/tables/crystal.json
100
+ - lib/blusher/tables/csharp.json
101
+ - lib/blusher/tables/css.json
102
+ - lib/blusher/tables/csvs.json
103
+ - lib/blusher/tables/cuda.json
104
+ - lib/blusher/tables/cypher.json
105
+ - lib/blusher/tables/cython.json
106
+ - lib/blusher/tables/d.json
107
+ - lib/blusher/tables/dafny.json
108
+ - lib/blusher/tables/dart.json
109
+ - lib/blusher/tables/datastudio.json
110
+ - lib/blusher/tables/diff.json
111
+ - lib/blusher/tables/digdag.json
112
+ - lib/blusher/tables/docker.json
113
+ - lib/blusher/tables/dot.json
114
+ - lib/blusher/tables/dylan.json
115
+ - lib/blusher/tables/ecl.json
116
+ - lib/blusher/tables/eex.json
117
+ - lib/blusher/tables/eiffel.json
118
+ - lib/blusher/tables/elixir.json
119
+ - lib/blusher/tables/elm.json
120
+ - lib/blusher/tables/email.json
121
+ - lib/blusher/tables/epp.json
122
+ - lib/blusher/tables/erb.json
123
+ - lib/blusher/tables/erlang.json
124
+ - lib/blusher/tables/factor.json
125
+ - lib/blusher/tables/fluent.json
126
+ - lib/blusher/tables/fortran.json
127
+ - lib/blusher/tables/freefem.json
128
+ - lib/blusher/tables/fsharp.json
129
+ - lib/blusher/tables/gdscript.json
130
+ - lib/blusher/tables/ghc-cmm.json
131
+ - lib/blusher/tables/ghc-core.json
132
+ - lib/blusher/tables/gjs.json
133
+ - lib/blusher/tables/glsl.json
134
+ - lib/blusher/tables/go.json
135
+ - lib/blusher/tables/gradle.json
136
+ - lib/blusher/tables/graphql.json
137
+ - lib/blusher/tables/groovy.json
138
+ - lib/blusher/tables/gts.json
139
+ - lib/blusher/tables/hack.json
140
+ - lib/blusher/tables/haml.json
141
+ - lib/blusher/tables/handlebars.json
142
+ - lib/blusher/tables/haskell.json
143
+ - lib/blusher/tables/haxe.json
144
+ - lib/blusher/tables/hcl.json
145
+ - lib/blusher/tables/hlsl.json
146
+ - lib/blusher/tables/hocon.json
147
+ - lib/blusher/tables/hql.json
148
+ - lib/blusher/tables/html.json
149
+ - lib/blusher/tables/http.json
150
+ - lib/blusher/tables/hylang.json
151
+ - lib/blusher/tables/idlang.json
152
+ - lib/blusher/tables/idris.json
153
+ - lib/blusher/tables/iecst.json
154
+ - lib/blusher/tables/igorpro.json
155
+ - lib/blusher/tables/ini.json
156
+ - lib/blusher/tables/io.json
157
+ - lib/blusher/tables/irb_output.json
158
+ - lib/blusher/tables/isabelle.json
159
+ - lib/blusher/tables/isbl.json
160
+ - lib/blusher/tables/j.json
161
+ - lib/blusher/tables/janet.json
162
+ - lib/blusher/tables/java.json
163
+ - lib/blusher/tables/javascript.json
164
+ - lib/blusher/tables/jinja.json
165
+ - lib/blusher/tables/jsl.json
166
+ - lib/blusher/tables/json-doc.json
167
+ - lib/blusher/tables/json.json
168
+ - lib/blusher/tables/json5.json
169
+ - lib/blusher/tables/jsonnet.json
170
+ - lib/blusher/tables/jsp.json
171
+ - lib/blusher/tables/jsx.json
172
+ - lib/blusher/tables/julia.json
173
+ - lib/blusher/tables/kick_assembler.json
174
+ - lib/blusher/tables/kotlin.json
175
+ - lib/blusher/tables/lasso.json
176
+ - lib/blusher/tables/lean.json
177
+ - lib/blusher/tables/liquid.json
178
+ - lib/blusher/tables/literate_coffeescript.json
179
+ - lib/blusher/tables/literate_haskell.json
180
+ - lib/blusher/tables/livescript.json
181
+ - lib/blusher/tables/llvm.json
182
+ - lib/blusher/tables/lua.json
183
+ - lib/blusher/tables/lustre.json
184
+ - lib/blusher/tables/lutin.json
185
+ - lib/blusher/tables/m68k.json
186
+ - lib/blusher/tables/magik.json
187
+ - lib/blusher/tables/make.json
188
+ - lib/blusher/tables/markdown.json
189
+ - lib/blusher/tables/mason.json
190
+ - lib/blusher/tables/mathematica.json
191
+ - lib/blusher/tables/matlab.json
192
+ - lib/blusher/tables/meson.json
193
+ - lib/blusher/tables/minizinc.json
194
+ - lib/blusher/tables/mojo.json
195
+ - lib/blusher/tables/moonscript.json
196
+ - lib/blusher/tables/mosel.json
197
+ - lib/blusher/tables/msgtrans.json
198
+ - lib/blusher/tables/mxml.json
199
+ - lib/blusher/tables/nasm.json
200
+ - lib/blusher/tables/nesasm.json
201
+ - lib/blusher/tables/nginx.json
202
+ - lib/blusher/tables/nial.json
203
+ - lib/blusher/tables/nim.json
204
+ - lib/blusher/tables/nix.json
205
+ - lib/blusher/tables/objective_c.json
206
+ - lib/blusher/tables/objective_cpp.json
207
+ - lib/blusher/tables/ocaml.json
208
+ - lib/blusher/tables/ocl.json
209
+ - lib/blusher/tables/openedge.json
210
+ - lib/blusher/tables/opentype_feature_file.json
211
+ - lib/blusher/tables/p4.json
212
+ - lib/blusher/tables/pascal.json
213
+ - lib/blusher/tables/pdf.json
214
+ - lib/blusher/tables/perl.json
215
+ - lib/blusher/tables/php.json
216
+ - lib/blusher/tables/plist.json
217
+ - lib/blusher/tables/plsql.json
218
+ - lib/blusher/tables/pony.json
219
+ - lib/blusher/tables/postscript.json
220
+ - lib/blusher/tables/powershell.json
221
+ - lib/blusher/tables/praat.json
222
+ - lib/blusher/tables/prolog.json
223
+ - lib/blusher/tables/prometheus.json
224
+ - lib/blusher/tables/properties.json
225
+ - lib/blusher/tables/protobuf.json
226
+ - lib/blusher/tables/puppet.json
227
+ - lib/blusher/tables/python.json
228
+ - lib/blusher/tables/q.json
229
+ - lib/blusher/tables/qml.json
230
+ - lib/blusher/tables/r.json
231
+ - lib/blusher/tables/racket.json
232
+ - lib/blusher/tables/reasonml.json
233
+ - lib/blusher/tables/rego.json
234
+ - lib/blusher/tables/rescript.json
235
+ - lib/blusher/tables/rml.json
236
+ - lib/blusher/tables/robot_framework.json
237
+ - lib/blusher/tables/rocq.json
238
+ - lib/blusher/tables/ruby.json
239
+ - lib/blusher/tables/rust.json
240
+ - lib/blusher/tables/sas.json
241
+ - lib/blusher/tables/sass.json
242
+ - lib/blusher/tables/scala.json
243
+ - lib/blusher/tables/scheme.json
244
+ - lib/blusher/tables/scss.json
245
+ - lib/blusher/tables/sed.json
246
+ - lib/blusher/tables/shell.json
247
+ - lib/blusher/tables/sieve.json
248
+ - lib/blusher/tables/slice.json
249
+ - lib/blusher/tables/slim.json
250
+ - lib/blusher/tables/smalltalk.json
251
+ - lib/blusher/tables/smarty.json
252
+ - lib/blusher/tables/sml.json
253
+ - lib/blusher/tables/sparql.json
254
+ - lib/blusher/tables/sqf.json
255
+ - lib/blusher/tables/sql.json
256
+ - lib/blusher/tables/ssh.json
257
+ - lib/blusher/tables/stan.json
258
+ - lib/blusher/tables/stata.json
259
+ - lib/blusher/tables/supercollider.json
260
+ - lib/blusher/tables/svelte.json
261
+ - lib/blusher/tables/swift.json
262
+ - lib/blusher/tables/systemd.json
263
+ - lib/blusher/tables/syzlang.json
264
+ - lib/blusher/tables/syzprog.json
265
+ - lib/blusher/tables/tap.json
266
+ - lib/blusher/tables/tcl.json
267
+ - lib/blusher/tables/terraform.json
268
+ - lib/blusher/tables/tex.json
269
+ - lib/blusher/tables/thrift.json
270
+ - lib/blusher/tables/toml.json
271
+ - lib/blusher/tables/tsx.json
272
+ - lib/blusher/tables/ttcn3.json
273
+ - lib/blusher/tables/tulip.json
274
+ - lib/blusher/tables/turtle.json
275
+ - lib/blusher/tables/twig.json
276
+ - lib/blusher/tables/typescript.json
277
+ - lib/blusher/tables/vala.json
278
+ - lib/blusher/tables/vb.json
279
+ - lib/blusher/tables/vcl.json
280
+ - lib/blusher/tables/velocity.json
281
+ - lib/blusher/tables/verilog.json
282
+ - lib/blusher/tables/veryl.json
283
+ - lib/blusher/tables/vhdl.json
284
+ - lib/blusher/tables/viml.json
285
+ - lib/blusher/tables/vue.json
286
+ - lib/blusher/tables/wollok.json
287
+ - lib/blusher/tables/xml.json
288
+ - lib/blusher/tables/xojo.json
289
+ - lib/blusher/tables/xpath.json
290
+ - lib/blusher/tables/xquery.json
291
+ - lib/blusher/tables/yaml.json
292
+ - lib/blusher/tables/yang.json
293
+ - lib/blusher/tables/zig.json
294
+ - lib/blusher/version.rb
295
+ homepage: https://github.com/momiji-rs/blusher
296
+ licenses:
297
+ - MIT
298
+ metadata:
299
+ source_code_uri: https://github.com/momiji-rs/blusher
300
+ changelog_uri: https://github.com/momiji-rs/blusher/blob/main/CHANGELOG.md
301
+ post_install_message:
302
+ rdoc_options: []
303
+ require_paths:
304
+ - lib
305
+ required_ruby_version: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: '3.0'
310
+ required_rubygems_version: !ruby/object:Gem::Requirement
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ version: 3.3.11
315
+ requirements: []
316
+ rubygems_version: 3.5.22
317
+ signing_key:
318
+ specification_version: 4
319
+ summary: A faster, Rust-backed, byte-for-byte-compatible drop-in backend for rouge.
320
+ test_files: []