tokite 1.0.0.rc1 → 1.0.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 (167) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/lib/tokite/version.rb +1 -1
  4. data/vendor/bundle/ruby/3.3.0/cache/prism-1.9.0.gem +0 -0
  5. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{prism-1.8.0 → prism-1.9.0}/gem_make.out +12 -12
  6. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{prism-1.8.0 → prism-1.9.0}/mkmf.log +6 -6
  7. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.9.0/prism/prism.so +0 -0
  8. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/CHANGELOG.md +17 -3
  9. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/config.yml +4 -4
  10. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/ripper_translation.md +8 -17
  11. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/Makefile +1 -1
  12. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/extension.h +1 -1
  13. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/ast.h +4 -4
  14. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/version.h +2 -2
  15. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/lex_compat.rb +135 -94
  16. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/node.rb +27 -19
  17. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result.rb +9 -0
  18. data/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  19. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/serialize.rb +1 -1
  20. data/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +53 -0
  21. data/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +135 -0
  22. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ripper.rb +59 -36
  23. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism.rb +1 -14
  24. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/prism.gemspec +2 -2
  25. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/node.rbi +3 -0
  26. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism.rbi +0 -3
  27. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/node.rbs +3 -0
  28. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/parse_result.rbs +1 -0
  29. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism.rbs +54 -40
  30. data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/prism.c +1 -1
  31. data/vendor/bundle/ruby/3.3.0/specifications/{prism-1.8.0.gemspec → prism-1.9.0.gemspec} +2 -2
  32. metadata +160 -160
  33. data/vendor/bundle/ruby/3.3.0/cache/prism-1.8.0.gem +0 -0
  34. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.8.0/prism/prism.so +0 -0
  35. data/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/lib/prism/lex_ripper.rb +0 -64
  36. data/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/lib/prism/prism.so +0 -0
  37. data/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/lib/prism/translation/ripper/lexer.rb +0 -46
  38. /data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{prism-1.8.0 → prism-1.9.0}/gem.build_complete +0 -0
  39. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/BSDmakefile +0 -0
  40. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/CODE_OF_CONDUCT.md +0 -0
  41. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/CONTRIBUTING.md +0 -0
  42. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/LICENSE.md +0 -0
  43. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/Makefile +0 -0
  44. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/README.md +0 -0
  45. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/build_system.md +0 -0
  46. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/configuration.md +0 -0
  47. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/cruby_compilation.md +0 -0
  48. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/design.md +0 -0
  49. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/encoding.md +0 -0
  50. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/fuzzing.md +0 -0
  51. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/heredocs.md +0 -0
  52. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/javascript.md +0 -0
  53. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/local_variable_depth.md +0 -0
  54. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/mapping.md +0 -0
  55. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/parser_translation.md +0 -0
  56. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/parsing_rules.md +0 -0
  57. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/releasing.md +0 -0
  58. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/relocation.md +0 -0
  59. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/ruby_api.md +0 -0
  60. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/ruby_parser_translation.md +0 -0
  61. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/serialization.md +0 -0
  62. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/docs/testing.md +0 -0
  63. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/api_node.c +0 -0
  64. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/api_pack.c +0 -0
  65. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/extconf.rb +0 -0
  66. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/ext/prism/extension.c +0 -0
  67. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/defines.h +0 -0
  68. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/diagnostic.h +0 -0
  69. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/encoding.h +0 -0
  70. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/node.h +0 -0
  71. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/options.h +0 -0
  72. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/pack.h +0 -0
  73. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/parser.h +0 -0
  74. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/prettyprint.h +0 -0
  75. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/regexp.h +0 -0
  76. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/static_literals.h +0 -0
  77. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_buffer.h +0 -0
  78. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_char.h +0 -0
  79. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_constant_pool.h +0 -0
  80. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_integer.h +0 -0
  81. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_list.h +0 -0
  82. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_memchr.h +0 -0
  83. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_newline_list.h +0 -0
  84. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_string.h +0 -0
  85. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_strncasecmp.h +0 -0
  86. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism/util/pm_strpbrk.h +0 -0
  87. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/include/prism.h +0 -0
  88. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/compiler.rb +0 -0
  89. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/desugar_compiler.rb +0 -0
  90. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dispatcher.rb +0 -0
  91. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dot_visitor.rb +0 -0
  92. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/dsl.rb +0 -0
  93. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/ffi.rb +0 -0
  94. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/inspect_visitor.rb +0 -0
  95. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/mutation_compiler.rb +0 -0
  96. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/node_ext.rb +0 -0
  97. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/pack.rb +0 -0
  98. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/comments.rb +0 -0
  99. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/errors.rb +0 -0
  100. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/parse_result/newlines.rb +0 -0
  101. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/pattern.rb +0 -0
  102. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/append_as_bytes.rb +0 -0
  103. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/byteindex.rb +0 -0
  104. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/scan_byte.rb +0 -0
  105. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/unpack1.rb +0 -0
  106. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/polyfill/warn.rb +0 -0
  107. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/reflection.rb +0 -0
  108. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/relocation.rb +0 -0
  109. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/string_query.rb +0 -0
  110. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/builder.rb +0 -0
  111. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/compiler.rb +0 -0
  112. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser/lexer.rb +0 -0
  113. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser.rb +0 -0
  114. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser_current.rb +0 -0
  115. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/parser_versions.rb +0 -0
  116. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ripper/sexp.rb +0 -0
  117. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ripper/shim.rb +0 -0
  118. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation/ruby_parser.rb +0 -0
  119. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/translation.rb +0 -0
  120. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/lib/prism/visitor.rb +0 -0
  121. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/compiler.rbi +0 -0
  122. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/dsl.rbi +0 -0
  123. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/inspect_visitor.rbi +0 -0
  124. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/node_ext.rbi +0 -0
  125. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/parse_result.rbi +0 -0
  126. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/reflection.rbi +0 -0
  127. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/string_query.rbi +0 -0
  128. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/parser.rbi +0 -0
  129. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/parser_versions.rbi +0 -0
  130. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/translation/ripper.rbi +0 -0
  131. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/rbi/prism/visitor.rbi +0 -0
  132. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/compiler.rbs +0 -0
  133. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dispatcher.rbs +0 -0
  134. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dot_visitor.rbs +0 -0
  135. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/dsl.rbs +0 -0
  136. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/inspect_visitor.rbs +0 -0
  137. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/lex_compat.rbs +0 -0
  138. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/mutation_compiler.rbs +0 -0
  139. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/node_ext.rbs +0 -0
  140. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/pack.rbs +0 -0
  141. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/parse_result/comments.rbs +0 -0
  142. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/pattern.rbs +0 -0
  143. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/reflection.rbs +0 -0
  144. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/relocation.rbs +0 -0
  145. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/serialize.rbs +0 -0
  146. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/string_query.rbs +0 -0
  147. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/sig/prism/visitor.rbs +0 -0
  148. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/diagnostic.c +0 -0
  149. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/encoding.c +0 -0
  150. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/node.c +0 -0
  151. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/options.c +0 -0
  152. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/pack.c +0 -0
  153. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/prettyprint.c +0 -0
  154. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/regexp.c +0 -0
  155. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/serialize.c +0 -0
  156. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/static_literals.c +0 -0
  157. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/token_type.c +0 -0
  158. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_buffer.c +0 -0
  159. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_char.c +0 -0
  160. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_constant_pool.c +0 -0
  161. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_integer.c +0 -0
  162. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_list.c +0 -0
  163. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_memchr.c +0 -0
  164. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_newline_list.c +0 -0
  165. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_string.c +0 -0
  166. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_strncasecmp.c +0 -0
  167. /data/vendor/bundle/ruby/3.3.0/gems/{prism-1.8.0 → prism-1.9.0}/src/util/pm_strpbrk.c +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f03de65702183e8b910e09adbc851e2712ec629d851d5d4f78198cfd2a6753e2
4
- data.tar.gz: 13133fcfacdb6299f252dca04ae9c1e623ecc9a6a83b0c9f74cdbcba17e1d4c0
3
+ metadata.gz: '09e42ad424630955a200960e136ef043f2658d022d8558ee5dbe99fbc3de7e4f'
4
+ data.tar.gz: e375bc20d34df93561b92142c838328d7b6569d3557df1476a1c6a679f4a70e8
5
5
  SHA512:
6
- metadata.gz: d2eac38744986e30903da63e46b3a15bf7a2927ddfecf4ea03647c1a13717a2666f2cb0057a91cd97852ac7b40d8770da0b1cf0443d0edfb636473b004b0c903
7
- data.tar.gz: b6e531adbe4b43a8c0a74e2b79eb29d21d74a139aa8b6fc3b4790021aaf6870012e8728f8581c69f2f84466ac65742cb34a4ae072f123311eedcce58b29f4c36
6
+ metadata.gz: 96e51d7dfc1526d4d17de69150d4f5520272d2606abd6f409c9c977c53f87c39c5b00dd1cbea80c76b13c3159c6f5611e5e3a95b0d08cc04ee4fb9a8bd38ae6b
7
+ data.tar.gz: 0efe86670c67a16bfc8b2fc5eb3deafba4007fe97452e12c2d7f66b0dcca209cbe2c58481db270e5827f4b17e9f220954e8e735f8c8d841427abc2fce239db4f
data/README.md CHANGED
@@ -79,3 +79,6 @@ Tokite support only below events now.
79
79
  <tr><td>requested_team:</td><td>Match team name of review requested team</td><td>requested_team:cookpad/chef</td></tr>
80
80
  <tr><td>unspecified</td><td>Match title or body field.</td><td>review please</td></tr>
81
81
  </table>
82
+
83
+ ## Maintenance
84
+ To release a new version of the tokite gem, please write CHANGELOG.md, update the version string in lib/tokite/version.rb, and send a pull request for the changes. After merging the pull request, manually approve the run of push_gem.yml at https://github.com/cookpad/tokite/actions/workflows/push_gem.yml to release the new version to RubyGems.org.
@@ -1,3 +1,3 @@
1
1
  module Tokite
2
- VERSION = '1.0.0.rc1'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -1,15 +1,15 @@
1
- current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext/prism
1
+ current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext/prism
2
2
  /opt/hostedtoolcache/Ruby/3.3.10/x64/bin/ruby extconf.rb
3
- checking for prism.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include... yes
4
- checking for prism/extension.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext... yes
3
+ checking for prism.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include... yes
4
+ checking for prism/extension.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext... yes
5
5
  checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
6
6
  creating Makefile
7
7
 
8
- current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext/prism
9
- make DESTDIR\= sitearchdir\=./.gem.20260124-2648-h8l1ka sitelibdir\=./.gem.20260124-2648-h8l1ka clean
8
+ current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext/prism
9
+ make DESTDIR\= sitearchdir\=./.gem.20260128-2666-66ejew sitelibdir\=./.gem.20260128-2666-66ejew clean
10
10
 
11
- current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext/prism
12
- make DESTDIR\= sitearchdir\=./.gem.20260124-2648-h8l1ka sitelibdir\=./.gem.20260124-2648-h8l1ka
11
+ current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext/prism
12
+ make DESTDIR\= sitearchdir\=./.gem.20260128-2666-66ejew sitelibdir\=./.gem.20260128-2666-66ejew
13
13
  compiling api_node.c
14
14
  compiling api_pack.c
15
15
  compiling extension.c
@@ -36,9 +36,9 @@ compiling ./../../src/util/pm_strncasecmp.c
36
36
  compiling ./../../src/util/pm_strpbrk.c
37
37
  linking shared-object prism/prism.so
38
38
 
39
- current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext/prism
40
- make DESTDIR\= sitearchdir\=./.gem.20260124-2648-h8l1ka sitelibdir\=./.gem.20260124-2648-h8l1ka install
41
- /usr/bin/install -c -m 0755 prism.so ./.gem.20260124-2648-h8l1ka/prism
39
+ current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext/prism
40
+ make DESTDIR\= sitearchdir\=./.gem.20260128-2666-66ejew sitelibdir\=./.gem.20260128-2666-66ejew install
41
+ /usr/bin/install -c -m 0755 prism.so ./.gem.20260128-2666-66ejew/prism
42
42
 
43
- current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext/prism
44
- make DESTDIR\= sitearchdir\=./.gem.20260124-2648-h8l1ka sitelibdir\=./.gem.20260124-2648-h8l1ka clean
43
+ current directory: /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext/prism
44
+ make DESTDIR\= sitearchdir\=./.gem.20260128-2666-66ejew sitelibdir\=./.gem.20260128-2666-66ejew clean
@@ -1,4 +1,4 @@
1
- find_header: checking for prism.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include... -------------------- yes
1
+ find_header: checking for prism.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include... -------------------- yes
2
2
 
3
3
  LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.3.10/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.3.10/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.3.10/x64/lib -L/opt/hostedtoolcache/Ruby/3.3.10/x64/lib -lruby -lm -lpthread -lc"
4
4
  checked program was:
@@ -23,7 +23,7 @@ checked program was:
23
23
  3: #include <prism.h>
24
24
  /* end */
25
25
 
26
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include -c conftest.c"
26
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include -c conftest.c"
27
27
  checked program was:
28
28
  /* begin */
29
29
  1: #include "ruby.h"
@@ -33,9 +33,9 @@ checked program was:
33
33
 
34
34
  --------------------
35
35
 
36
- find_header: checking for prism/extension.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext... -------------------- yes
36
+ find_header: checking for prism/extension.h in /home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext... -------------------- yes
37
37
 
38
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -c conftest.c"
38
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -c conftest.c"
39
39
  conftest.c:3:10: fatal error: prism/extension.h: No such file or directory
40
40
  3 | #include <prism/extension.h>
41
41
  | ^~~~~~~~~~~~~~~~~~~
@@ -47,7 +47,7 @@ checked program was:
47
47
  3: #include <prism/extension.h>
48
48
  /* end */
49
49
 
50
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext -c conftest.c"
50
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext -c conftest.c"
51
51
  checked program was:
52
52
  /* begin */
53
53
  1: #include "ruby.h"
@@ -59,7 +59,7 @@ checked program was:
59
59
 
60
60
  append_cflags: checking for whether -fvisibility=hidden is accepted as CFLAGS... -------------------- yes
61
61
 
62
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -fvisibility=hidden -Werror -c conftest.c"
62
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.10/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.10/x64/include/ruby-3.3.0 -I. -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -fvisibility=hidden -Werror -c conftest.c"
63
63
  checked program was:
64
64
  /* begin */
65
65
  1: #include "ruby.h"
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [Unreleased]
8
+
9
+ ## [1.9.0] - 2026-01-27
10
+
11
+ ### Added
12
+
13
+ - Lots of work on the Ripper translation layer to make it more compatible and efficient.
14
+ - Alias `Prism::Node#breadth_first_search` to `Prism::Node#find`.
15
+ - Add `Prism::Node#breadth_first_search_all`/`Prism::Node#find_all` for finding all nodes matching a condition.
16
+
17
+ ### Changed
18
+
19
+ - Fixed location of opening tokens when invalid syntax is parsed.
20
+ - Fix RBI for parsing options.
21
+
7
22
  ## [1.8.0] - 2026-01-12
8
23
 
9
24
  ### Added
@@ -19,8 +34,6 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
19
34
  - Decouple ripper translator from ripper library.
20
35
  - Sync Prism::Translation::ParserCurrent with Ruby 4.0.
21
36
 
22
- ## [Unreleased]
23
-
24
37
  ## [1.7.0] - 2025-12-18
25
38
 
26
39
  ### Added
@@ -731,7 +744,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
731
744
 
732
745
  - 🎉 Initial release! 🎉
733
746
 
734
- [unreleased]: https://github.com/ruby/prism/compare/v1.8.0...HEAD
747
+ [unreleased]: https://github.com/ruby/prism/compare/v1.9.0...HEAD
748
+ [1.9.0]: https://github.com/ruby/prism/compare/v1.8.0...v1.9.0
735
749
  [1.8.0]: https://github.com/ruby/prism/compare/v1.7.0...v1.8.0
736
750
  [1.7.0]: https://github.com/ruby/prism/compare/v1.6.0...v1.7.0
737
751
  [1.6.0]: https://github.com/ruby/prism/compare/v1.5.2...v1.6.0
@@ -1269,17 +1269,17 @@ nodes:
1269
1269
  - name: opening_loc
1270
1270
  type: location
1271
1271
  comment: |
1272
- Represents the location of the opening `|`.
1272
+ Represents the location of the opening `{` or `do`.
1273
1273
 
1274
1274
  [1, 2, 3].each { |i| puts x }
1275
- ^
1275
+ ^
1276
1276
  - name: closing_loc
1277
1277
  type: location
1278
1278
  comment: |
1279
- Represents the location of the closing `|`.
1279
+ Represents the location of the closing `}` or `end`.
1280
1280
 
1281
1281
  [1, 2, 3].each { |i| puts x }
1282
- ^
1282
+ ^
1283
1283
  comment: |
1284
1284
  Represents a block of ruby code.
1285
1285
 
@@ -1,22 +1,6 @@
1
1
  # Ripper translation
2
2
 
3
- Prism provides the ability to mirror the `Ripper` standard library. You can do this by:
4
-
5
- ```ruby
6
- require "prism/translation/ripper/shim"
7
- ```
8
-
9
- This provides the APIs like:
10
-
11
- ```ruby
12
- Ripper.lex
13
- Ripper.parse
14
- Ripper.sexp_raw
15
- Ripper.sexp
16
-
17
- Ripper::SexpBuilder
18
- Ripper::SexpBuilderPP
19
- ```
3
+ Prism provides the ability to mirror the `Ripper` standard library. It is available under `Prism::Translation::Ripper`. You can use the entire public API, and also some undocumented features that are commonly used.
20
4
 
21
5
  Briefly, `Ripper` is a streaming parser that allows you to construct your own syntax tree. As an example:
22
6
 
@@ -49,6 +33,13 @@ ArithmeticRipper.new("1 + 2 - 3").parse # => [0]
49
33
 
50
34
  The exact names of the `on_*` methods are listed in the `Ripper` source.
51
35
 
36
+ You can can also automatically use the ripper translation in places that don't explicitly use the translation layer by doing the following:
37
+
38
+ ```ruby
39
+ # Will redirect access of the `Ripper` constant to `Prism::Translation::Ripper`.
40
+ require "prism/translation/ripper/shim"
41
+ ```
42
+
52
43
  ## Background
53
44
 
54
45
  It is helpful to understand the differences between the `Ripper` library and the `Prism` library. Both libraries perform parsing and provide you with APIs to manipulate and understand the resulting syntax tree. However, there are a few key differences.
@@ -86,7 +86,7 @@ warnflags = -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-c
86
86
  cppflags =
87
87
  CCDLFLAGS = -fPIC
88
88
  CFLAGS = $(CCDLFLAGS) $(cflags) -fPIC -fvisibility=hidden $(ARCH_FLAG)
89
- INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/include -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.8.0/ext
89
+ INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/include -I/home/runner/work/tokite/tokite/vendor/bundle/ruby/3.3.0/gems/prism-1.9.0/ext
90
90
  DEFS =
91
91
  CPPFLAGS = -DENABLE_PATH_CHECK=0 $(DEFS) $(cppflags)
92
92
  CXXFLAGS = $(CCDLFLAGS) $(ARCH_FLAG)
@@ -1,7 +1,7 @@
1
1
  #ifndef PRISM_EXT_NODE_H
2
2
  #define PRISM_EXT_NODE_H
3
3
 
4
- #define EXPECTED_PRISM_VERSION "1.8.0"
4
+ #define EXPECTED_PRISM_VERSION "1.9.0"
5
5
 
6
6
  #include <ruby.h>
7
7
  #include <ruby/encoding.h>
@@ -1826,20 +1826,20 @@ typedef struct pm_block_node {
1826
1826
  /**
1827
1827
  * BlockNode#opening_loc
1828
1828
  *
1829
- * Represents the location of the opening `|`.
1829
+ * Represents the location of the opening `{` or `do`.
1830
1830
  *
1831
1831
  * [1, 2, 3].each { |i| puts x }
1832
- * ^
1832
+ * ^
1833
1833
  */
1834
1834
  pm_location_t opening_loc;
1835
1835
 
1836
1836
  /**
1837
1837
  * BlockNode#closing_loc
1838
1838
  *
1839
- * Represents the location of the closing `|`.
1839
+ * Represents the location of the closing `}` or `end`.
1840
1840
  *
1841
1841
  * [1, 2, 3].each { |i| puts x }
1842
- * ^
1842
+ * ^
1843
1843
  */
1844
1844
  pm_location_t closing_loc;
1845
1845
  } pm_block_node_t;
@@ -14,7 +14,7 @@
14
14
  /**
15
15
  * The minor version of the Prism library as an int.
16
16
  */
17
- #define PRISM_VERSION_MINOR 8
17
+ #define PRISM_VERSION_MINOR 9
18
18
 
19
19
  /**
20
20
  * The patch version of the Prism library as an int.
@@ -24,6 +24,6 @@
24
24
  /**
25
25
  * The version of the Prism library as a constant string.
26
26
  */
27
- #define PRISM_VERSION "1.8.0"
27
+ #define PRISM_VERSION "1.9.0"
28
28
 
29
29
  #endif
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  # :markup: markdown
3
3
 
4
- require "delegate"
5
-
6
4
  module Prism
7
5
  # This class is responsible for lexing the source using prism and then
8
6
  # converting those tokens to be compatible with Ripper. In the vast majority
@@ -201,87 +199,51 @@ module Prism
201
199
  # When we produce tokens, we produce the same arrays that Ripper does.
202
200
  # However, we add a couple of convenience methods onto them to make them a
203
201
  # little easier to work with. We delegate all other methods to the array.
204
- class Token < SimpleDelegator
205
- # @dynamic initialize, each, []
202
+ class Token < BasicObject
203
+ # Create a new token object with the given ripper-compatible array.
204
+ def initialize(array)
205
+ @array = array
206
+ end
206
207
 
207
208
  # The location of the token in the source.
208
209
  def location
209
- self[0]
210
+ @array[0]
210
211
  end
211
212
 
212
213
  # The type of the token.
213
214
  def event
214
- self[1]
215
+ @array[1]
215
216
  end
216
217
 
217
218
  # The slice of the source that this token represents.
218
219
  def value
219
- self[2]
220
+ @array[2]
220
221
  end
221
222
 
222
223
  # The state of the lexer when this token was produced.
223
224
  def state
224
- self[3]
225
+ @array[3]
225
226
  end
226
- end
227
227
 
228
- # Ripper doesn't include the rest of the token in the event, so we need to
229
- # trim it down to just the content on the first line when comparing.
230
- class EndContentToken < Token
228
+ # We want to pretend that this is just an Array.
231
229
  def ==(other) # :nodoc:
232
- [self[0], self[1], self[2][0..self[2].index("\n")], self[3]] == other
230
+ @array == other
233
231
  end
234
- end
235
232
 
236
- # Tokens where state should be ignored
237
- # used for :on_comment, :on_heredoc_end, :on_embexpr_end
238
- class IgnoreStateToken < Token
239
- def ==(other) # :nodoc:
240
- self[0...-1] == other[0...-1]
233
+ def respond_to_missing?(name, include_private = false) # :nodoc:
234
+ @array.respond_to?(name, include_private)
241
235
  end
242
- end
243
236
 
244
- # Ident tokens for the most part are exactly the same, except sometimes we
245
- # know an ident is a local when ripper doesn't (when they are introduced
246
- # through named captures in regular expressions). In that case we don't
247
- # compare the state.
248
- class IdentToken < Token
249
- def ==(other) # :nodoc:
250
- (self[0...-1] == other[0...-1]) && (
251
- (other[3] == Translation::Ripper::EXPR_LABEL | Translation::Ripper::EXPR_END) ||
252
- (other[3] & (Translation::Ripper::EXPR_ARG | Translation::Ripper::EXPR_CMDARG) != 0)
253
- )
237
+ def method_missing(name, ...) # :nodoc:
238
+ @array.send(name, ...)
254
239
  end
255
240
  end
256
241
 
257
- # Ignored newlines can occasionally have a LABEL state attached to them, so
258
- # we compare the state differently here.
259
- class IgnoredNewlineToken < Token
260
- def ==(other) # :nodoc:
261
- return false unless self[0...-1] == other[0...-1]
262
-
263
- if self[3] == Translation::Ripper::EXPR_ARG | Translation::Ripper::EXPR_LABELED
264
- other[3] & Translation::Ripper::EXPR_ARG | Translation::Ripper::EXPR_LABELED != 0
265
- else
266
- self[3] == other[3]
267
- end
268
- end
269
- end
270
-
271
- # If we have an identifier that follows a method name like:
272
- #
273
- # def foo bar
274
- #
275
- # then Ripper will mark bar as END|LABEL if there is a local in a parent
276
- # scope named bar because it hasn't pushed the local table yet. We do this
277
- # more accurately, so we need to allow comparing against both END and
278
- # END|LABEL.
279
- class ParamToken < Token
242
+ # Tokens where state should be ignored
243
+ # used for :on_sp, :on_comment, :on_heredoc_end, :on_embexpr_end
244
+ class IgnoreStateToken < Token
280
245
  def ==(other) # :nodoc:
281
- (self[0...-1] == other[0...-1]) && (
282
- (other[3] == Translation::Ripper::EXPR_END) ||
283
- (other[3] == Translation::Ripper::EXPR_END | Translation::Ripper::EXPR_LABEL)
284
- )
246
+ self[0...-1] == other[0...-1]
285
247
  end
286
248
  end
287
249
 
@@ -619,10 +581,10 @@ module Prism
619
581
  BOM_FLUSHED = RUBY_VERSION >= "3.3.0"
620
582
  private_constant :BOM_FLUSHED
621
583
 
622
- attr_reader :source, :options
584
+ attr_reader :options
623
585
 
624
- def initialize(source, **options)
625
- @source = source
586
+ def initialize(code, **options)
587
+ @code = code
626
588
  @options = options
627
589
  end
628
590
 
@@ -632,12 +594,14 @@ module Prism
632
594
  state = :default
633
595
  heredoc_stack = [[]] #: Array[Array[Heredoc::PlainHeredoc | Heredoc::DashHeredoc | Heredoc::DedentingHeredoc]]
634
596
 
635
- result = Prism.lex(source, **options)
597
+ result = Prism.lex(@code, **options)
598
+ source = result.source
636
599
  result_value = result.value
637
600
  previous_state = nil #: State?
638
601
  last_heredoc_end = nil #: Integer?
602
+ eof_token = nil
639
603
 
640
- bom = source.byteslice(0..2) == "\xEF\xBB\xBF"
604
+ bom = source.slice(0, 3) == "\xEF\xBB\xBF"
641
605
 
642
606
  result_value.each_with_index do |(token, lex_state), index|
643
607
  lineno = token.location.start_line
@@ -675,12 +639,15 @@ module Prism
675
639
 
676
640
  event = RIPPER.fetch(token.type)
677
641
  value = token.value
678
- lex_state = Translation::Ripper::Lexer::State.new(lex_state)
642
+ lex_state = Translation::Ripper::Lexer::State.cached(lex_state)
679
643
 
680
644
  token =
681
645
  case event
682
646
  when :on___end__
683
- EndContentToken.new([[lineno, column], event, value, lex_state])
647
+ # Ripper doesn't include the rest of the token in the event, so we need to
648
+ # trim it down to just the content on the first line.
649
+ value = value[0..value.index("\n")]
650
+ Token.new([[lineno, column], event, value, lex_state])
684
651
  when :on_comment
685
652
  IgnoreStateToken.new([[lineno, column], event, value, lex_state])
686
653
  when :on_heredoc_end
@@ -688,33 +655,18 @@ module Prism
688
655
  # want to bother comparing the state on them.
689
656
  last_heredoc_end = token.location.end_offset
690
657
  IgnoreStateToken.new([[lineno, column], event, value, lex_state])
691
- when :on_ident
692
- if lex_state == Translation::Ripper::EXPR_END
693
- # If we have an identifier that follows a method name like:
694
- #
695
- # def foo bar
696
- #
697
- # then Ripper will mark bar as END|LABEL if there is a local in a
698
- # parent scope named bar because it hasn't pushed the local table
699
- # yet. We do this more accurately, so we need to allow comparing
700
- # against both END and END|LABEL.
701
- ParamToken.new([[lineno, column], event, value, lex_state])
702
- elsif lex_state == Translation::Ripper::EXPR_END | Translation::Ripper::EXPR_LABEL
703
- # In the event that we're comparing identifiers, we're going to
704
- # allow a little divergence. Ripper doesn't account for local
705
- # variables introduced through named captures in regexes, and we
706
- # do, which accounts for this difference.
707
- IdentToken.new([[lineno, column], event, value, lex_state])
708
- else
709
- Token.new([[lineno, column], event, value, lex_state])
710
- end
711
658
  when :on_embexpr_end
712
659
  IgnoreStateToken.new([[lineno, column], event, value, lex_state])
713
- when :on_ignored_nl
714
- # Ignored newlines can occasionally have a LABEL state attached to
715
- # them which doesn't actually impact anything. We don't mirror that
716
- # state so we ignored it.
717
- IgnoredNewlineToken.new([[lineno, column], event, value, lex_state])
660
+ when :on_words_sep
661
+ # Ripper emits one token each per line.
662
+ value.each_line.with_index do |line, index|
663
+ if index > 0
664
+ lineno += 1
665
+ column = 0
666
+ end
667
+ tokens << Token.new([[lineno, column], event, line, lex_state])
668
+ end
669
+ tokens.pop
718
670
  when :on_regexp_end
719
671
  # On regex end, Ripper scans and then sets end state, so the ripper
720
672
  # lexed output is begin, when it should be end. prism sets lex state
@@ -739,13 +691,14 @@ module Prism
739
691
  counter += { on_embexpr_beg: -1, on_embexpr_end: 1 }[current_event] || 0
740
692
  end
741
693
 
742
- Translation::Ripper::Lexer::State.new(result_value[current_index][1])
694
+ Translation::Ripper::Lexer::State.cached(result_value[current_index][1])
743
695
  else
744
696
  previous_state
745
697
  end
746
698
 
747
699
  Token.new([[lineno, column], event, value, lex_state])
748
700
  when :on_eof
701
+ eof_token = token
749
702
  previous_token = result_value[index - 1][0]
750
703
 
751
704
  # If we're at the end of the file and the previous token was a
@@ -768,7 +721,7 @@ module Prism
768
721
  end_offset += 3
769
722
  end
770
723
 
771
- tokens << Token.new([[lineno, 0], :on_nl, source.byteslice(start_offset...end_offset), lex_state])
724
+ tokens << Token.new([[lineno, 0], :on_nl, source.slice(start_offset, end_offset - start_offset), lex_state])
772
725
  end
773
726
  end
774
727
 
@@ -859,10 +812,98 @@ module Prism
859
812
  # Drop the EOF token from the list
860
813
  tokens = tokens[0...-1]
861
814
 
862
- # We sort by location to compare against Ripper's output
863
- tokens.sort_by!(&:location)
815
+ # We sort by location because Ripper.lex sorts.
816
+ # Manually implemented instead of `sort_by!(&:location)` for performance.
817
+ tokens.sort_by! do |token|
818
+ line, column = token.location
819
+ source.byte_offset(line, column)
820
+ end
821
+
822
+ # Add :on_sp tokens
823
+ tokens = add_on_sp_tokens(tokens, source, result.data_loc, bom, eof_token)
824
+
825
+ Result.new(tokens, result.comments, result.magic_comments, result.data_loc, result.errors, result.warnings, source)
826
+ end
827
+
828
+ def add_on_sp_tokens(tokens, source, data_loc, bom, eof_token)
829
+ new_tokens = []
830
+
831
+ prev_token_state = Translation::Ripper::Lexer::State.cached(Translation::Ripper::EXPR_BEG)
832
+ prev_token_end = bom ? 3 : 0
833
+
834
+ tokens.each do |token|
835
+ line, column = token.location
836
+ start_offset = source.byte_offset(line, column)
837
+
838
+ # Ripper reports columns on line 1 without counting the BOM, so we
839
+ # adjust to get the real offset
840
+ start_offset += 3 if line == 1 && bom
841
+
842
+ if start_offset > prev_token_end
843
+ sp_value = source.slice(prev_token_end, start_offset - prev_token_end)
844
+ sp_line = source.line(prev_token_end)
845
+ sp_column = source.column(prev_token_end)
846
+ # Ripper reports columns on line 1 without counting the BOM
847
+ sp_column -= 3 if sp_line == 1 && bom
848
+ continuation_index = sp_value.byteindex("\\")
849
+
850
+ # ripper emits up to three :on_sp tokens when line continuations are used
851
+ if continuation_index
852
+ next_whitespace_index = continuation_index + 1
853
+ next_whitespace_index += 1 if sp_value.byteslice(next_whitespace_index) == "\r"
854
+ next_whitespace_index += 1
855
+ first_whitespace = sp_value[0...continuation_index]
856
+ continuation = sp_value[continuation_index...next_whitespace_index]
857
+ second_whitespace = sp_value[next_whitespace_index..]
858
+
859
+ new_tokens << IgnoreStateToken.new([
860
+ [sp_line, sp_column],
861
+ :on_sp,
862
+ first_whitespace,
863
+ prev_token_state
864
+ ]) unless first_whitespace.empty?
865
+
866
+ new_tokens << IgnoreStateToken.new([
867
+ [sp_line, sp_column + continuation_index],
868
+ :on_sp,
869
+ continuation,
870
+ prev_token_state
871
+ ])
872
+
873
+ new_tokens << IgnoreStateToken.new([
874
+ [sp_line + 1, 0],
875
+ :on_sp,
876
+ second_whitespace,
877
+ prev_token_state
878
+ ]) unless second_whitespace.empty?
879
+ else
880
+ new_tokens << IgnoreStateToken.new([
881
+ [sp_line, sp_column],
882
+ :on_sp,
883
+ sp_value,
884
+ prev_token_state
885
+ ])
886
+ end
887
+ end
888
+
889
+ new_tokens << token
890
+ prev_token_state = token.state
891
+ prev_token_end = start_offset + token.value.bytesize
892
+ end
893
+
894
+ unless data_loc # no trailing :on_sp with __END__ as it is always preceded by :on_nl
895
+ end_offset = eof_token.location.end_offset
896
+ if prev_token_end < end_offset
897
+ new_tokens << IgnoreStateToken.new([
898
+ [source.line(prev_token_end), source.column(prev_token_end)],
899
+ :on_sp,
900
+ source.slice(prev_token_end, end_offset - prev_token_end),
901
+ prev_token_state
902
+ ])
903
+ end
904
+ end
864
905
 
865
- Result.new(tokens, result.comments, result.magic_comments, result.data_loc, result.errors, result.warnings, Source.for(source))
906
+ new_tokens
866
907
  end
867
908
  end
868
909