zayef 0.1.1 → 0.2.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 (1299) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +6 -0
  3. data/.rspec_status +71 -0
  4. data/.rubocop.yml +40 -0
  5. data/.simplecov +19 -0
  6. data/CHANGELOG.md +32 -0
  7. data/CONTRIBUTING.md +281 -0
  8. data/README.md +288 -9
  9. data/Rakefile +45 -2
  10. data/cliff.toml +2 -0
  11. data/demo.rb +161 -7
  12. data/lib/zayef/generator.rb +454 -276
  13. data/lib/zayef/version.rb +1 -1
  14. data/lib/zayef.rb +40 -0
  15. data/vendor/bundle/ruby/3.0.0/bin/htmldiff +31 -0
  16. data/vendor/bundle/ruby/3.0.0/bin/ldiff +31 -0
  17. data/vendor/bundle/ruby/3.0.0/bin/rspec +29 -0
  18. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/json-2.13.2/gem_make.out +8 -0
  19. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/prism-1.5.1/gem_make.out +8 -0
  20. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.8.1/gem_make.out +8 -0
  21. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  22. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  23. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/node.rb +268 -0
  24. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor/mixin.rb +288 -0
  25. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor.rb +12 -0
  26. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/sexp.rb +30 -0
  27. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast.rb +17 -0
  28. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/.rspec +1 -0
  29. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  30. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md +128 -0
  31. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md +71 -0
  32. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md +49 -0
  33. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/LICENCE.md +40 -0
  34. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Manifest.txt +115 -0
  35. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/README.md +92 -0
  36. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Rakefile +115 -0
  37. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/SECURITY.md +41 -0
  38. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/htmldiff +35 -0
  39. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/ldiff +9 -0
  40. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/COPYING.txt +339 -0
  41. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/artistic.txt +127 -0
  42. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb +7 -0
  43. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb +13 -0
  44. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb +37 -0
  45. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb +327 -0
  46. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb +174 -0
  47. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb +160 -0
  48. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb +379 -0
  49. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb +308 -0
  50. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb +189 -0
  51. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb +5 -0
  52. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb +7 -0
  53. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb +742 -0
  54. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb +3 -0
  55. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/mise.toml +5 -0
  56. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/change_spec.rb +89 -0
  57. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb +51 -0
  58. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x +2 -0
  59. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x +2 -0
  60. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/aX +1 -0
  61. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX +1 -0
  62. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv +50 -0
  63. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv +51 -0
  64. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/empty +0 -0
  65. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin +0 -0
  66. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin +0 -0
  67. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines +4 -0
  68. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line +4 -0
  69. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e +1 -0
  70. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f +1 -0
  71. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e +1 -0
  72. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f +1 -0
  73. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e +2 -0
  74. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f +2 -0
  75. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e +1 -0
  76. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f +1 -0
  77. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e +1 -0
  78. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f +1 -0
  79. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff +4 -0
  80. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c +7 -0
  81. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e +3 -0
  82. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f +3 -0
  83. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u +5 -0
  84. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 +0 -0
  85. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c +0 -0
  86. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e +0 -0
  87. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f +0 -0
  88. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u +0 -0
  89. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 +1 -0
  90. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c +1 -0
  91. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e +1 -0
  92. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f +1 -0
  93. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u +1 -0
  94. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef +4 -0
  95. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  96. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  97. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  98. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  99. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  100. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  101. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  102. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  103. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  104. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  105. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines +5 -0
  106. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c +9 -0
  107. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e +6 -0
  108. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f +6 -0
  109. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u +7 -0
  110. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty +5 -0
  111. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c +9 -0
  112. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e +1 -0
  113. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f +1 -0
  114. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u +7 -0
  115. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context +4 -0
  116. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c +9 -0
  117. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e +3 -0
  118. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f +3 -0
  119. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u +6 -0
  120. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 +5 -0
  121. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c +14 -0
  122. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e +0 -0
  123. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f +0 -0
  124. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u +9 -0
  125. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 +5 -0
  126. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c +14 -0
  127. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e +0 -0
  128. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f +0 -0
  129. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u +9 -0
  130. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef +4 -0
  131. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 +17 -0
  132. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef +4 -0
  133. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 +14 -0
  134. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb +83 -0
  135. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb +160 -0
  136. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb +56 -0
  137. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb +100 -0
  138. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb +416 -0
  139. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb +216 -0
  140. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb +376 -0
  141. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb +312 -0
  142. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb +137 -0
  143. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/dependabot.yml +15 -0
  144. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/workflows/main.yml +42 -0
  145. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.gitignore +11 -0
  146. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rspec +2 -0
  147. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rubocop.yml +5 -0
  148. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.yardopts +7 -0
  149. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Gemfile +26 -0
  150. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/HISTORY.md +134 -0
  151. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/LICENSE +21 -0
  152. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/README.md +409 -0
  153. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Rakefile +14 -0
  154. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/SECURITY.md +19 -0
  155. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  156. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/backtrace_filter.rb +24 -0
  157. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/chaining_fallback_context_proxy.rb +27 -0
  158. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/execution.rb +53 -0
  159. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/fallback_context_proxy.rb +107 -0
  160. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/version.rb +6 -0
  161. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile.rb +134 -0
  162. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/BSDL +22 -0
  163. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/CHANGES.md +660 -0
  164. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/COPYING +56 -0
  165. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/LEGAL +8 -0
  166. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/README.md +281 -0
  167. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/fbuffer/fbuffer.h +270 -0
  168. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/extconf.rb +16 -0
  169. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/generator.c +2162 -0
  170. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/extconf.rb +15 -0
  171. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/parser.c +1552 -0
  172. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/conf.rb +24 -0
  173. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/simd.h +188 -0
  174. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/fpconv.c +479 -0
  175. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/jeaiii-ltoa.h +267 -0
  176. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/json.gemspec +62 -0
  177. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/bigdecimal.rb +58 -0
  178. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/complex.rb +51 -0
  179. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/core.rb +12 -0
  180. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date.rb +54 -0
  181. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date_time.rb +67 -0
  182. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/exception.rb +49 -0
  183. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/ostruct.rb +54 -0
  184. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/range.rb +54 -0
  185. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/rational.rb +49 -0
  186. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/regexp.rb +48 -0
  187. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/set.rb +48 -0
  188. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/struct.rb +52 -0
  189. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/symbol.rb +52 -0
  190. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/time.rb +52 -0
  191. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/common.rb +1105 -0
  192. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext/generator/state.rb +106 -0
  193. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext.rb +45 -0
  194. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/generic_object.rb +75 -0
  195. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/truffle_ruby/generator.rb +690 -0
  196. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/version.rb +5 -0
  197. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json.rb +620 -0
  198. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  199. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  200. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_kind.rb +85 -0
  201. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_trigger_kind.rb +22 -0
  202. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_kind.rb +36 -0
  203. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  204. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_trigger_kind.rb +26 -0
  205. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_severity.rb +24 -0
  206. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  207. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  208. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_highlight_kind.rb +23 -0
  209. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/error_codes.rb +73 -0
  210. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/failure_handling_kind.rb +30 -0
  211. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_change_type.rb +23 -0
  212. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  213. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/folding_range_kind.rb +24 -0
  214. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/initialize_error_codes.rb +16 -0
  215. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/inlay_hint_kind.rb +19 -0
  216. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_format.rb +25 -0
  217. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  218. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/markup_kind.rb +23 -0
  219. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/message_type.rb +24 -0
  220. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/moniker_kind.rb +24 -0
  221. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/notebook_cell_kind.rb +19 -0
  222. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  223. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  224. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
  225. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_modifiers.rb +18 -0
  226. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_types.rb +35 -0
  227. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +24 -0
  228. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_kind.rb +37 -0
  229. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  230. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_save_reason.rb +24 -0
  231. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_sync_kind.rb +27 -0
  232. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/token_format.rb +9 -0
  233. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/uniqueness_level.rb +31 -0
  234. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/watch_kind.rb +20 -0
  235. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant.rb +77 -0
  236. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  237. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +44 -0
  238. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +56 -0
  239. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  240. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  241. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  242. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  243. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  244. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  245. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  246. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  247. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  248. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/cancel_params.rb +33 -0
  249. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  250. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/client_capabilities.rb +78 -0
  251. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action.rb +127 -0
  252. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
  253. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_context.rb +63 -0
  254. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_options.rb +52 -0
  255. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_params.rb +73 -0
  256. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_registration_options.rb +62 -0
  257. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_description.rb +36 -0
  258. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens.rb +61 -0
  259. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  260. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_options.rb +39 -0
  261. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_params.rb +52 -0
  262. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_registration_options.rb +49 -0
  263. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  264. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color.rb +63 -0
  265. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_information.rb +42 -0
  266. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation.rb +57 -0
  267. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation_params.rb +70 -0
  268. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/command.rb +52 -0
  269. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_client_capabilities.rb +79 -0
  270. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_context.rb +48 -0
  271. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item.rb +267 -0
  272. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  273. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_list.rb +69 -0
  274. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_options.rb +87 -0
  275. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_params.rb +72 -0
  276. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_registration_options.rb +94 -0
  277. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_item.rb +42 -0
  278. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_params.rb +30 -0
  279. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file.rb +63 -0
  280. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file_options.rb +45 -0
  281. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  282. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  283. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_options.rb +30 -0
  284. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_params.rb +61 -0
  285. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
  286. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  287. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_options.rb +30 -0
  288. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_params.rb +61 -0
  289. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
  290. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file.rb +63 -0
  291. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
  292. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  293. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic.rb +110 -0
  294. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  295. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_options.rb +64 -0
  296. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_registration_options.rb +84 -0
  297. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_related_information.rb +47 -0
  298. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +33 -0
  299. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +42 -0
  300. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  301. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_params.rb +33 -0
  302. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +56 -0
  303. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_text_document_params.rb +56 -0
  304. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +45 -0
  305. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_params.rb +33 -0
  306. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +36 -0
  307. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +33 -0
  308. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +46 -0
  309. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_text_document_params.rb +33 -0
  310. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +46 -0
  311. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_text_document_params.rb +33 -0
  312. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +36 -0
  313. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_text_document_params.rb +43 -0
  314. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  315. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_options.rb +30 -0
  316. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_params.rb +52 -0
  317. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
  318. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_params.rb +73 -0
  319. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +33 -0
  320. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_filter.rb +63 -0
  321. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  322. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
  323. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_params.rb +51 -0
  324. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
  325. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight.rb +47 -0
  326. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  327. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
  328. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
  329. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
  330. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link.rb +70 -0
  331. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  332. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_options.rb +39 -0
  333. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_params.rb +52 -0
  334. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_registration_options.rb +49 -0
  335. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  336. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +42 -0
  337. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +65 -0
  338. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +52 -0
  339. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  340. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_options.rb +30 -0
  341. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_params.rb +60 -0
  342. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
  343. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol.rb +108 -0
  344. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
  345. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
  346. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_params.rb +52 -0
  347. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
  348. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  349. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_options.rb +39 -0
  350. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_params.rb +51 -0
  351. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_registration_options.rb +42 -0
  352. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  353. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_create.rb +36 -0
  354. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_delete.rb +36 -0
  355. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_event.rb +45 -0
  356. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  357. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  358. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  359. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  360. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_rename.rb +45 -0
  361. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_system_watcher.rb +45 -0
  362. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range.rb +94 -0
  363. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +76 -0
  364. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
  365. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_params.rb +52 -0
  366. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
  367. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/formatting_options.rb +72 -0
  368. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +56 -0
  369. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover.rb +46 -0
  370. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
  371. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_options.rb +30 -0
  372. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_params.rb +51 -0
  373. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
  374. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_result.rb +30 -0
  375. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  376. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_options.rb +30 -0
  377. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_params.rb +61 -0
  378. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
  379. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_error.rb +36 -0
  380. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_params.rb +128 -0
  381. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_result.rb +42 -0
  382. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialized_params.rb +24 -0
  383. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint.rb +122 -0
  384. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +46 -0
  385. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_label_part.rb +79 -0
  386. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_options.rb +43 -0
  387. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_params.rb +54 -0
  388. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +63 -0
  389. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +42 -0
  390. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +37 -0
  391. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_context.rb +44 -0
  392. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +52 -0
  393. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_options.rb +33 -0
  394. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_params.rb +64 -0
  395. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_registration_options.rb +53 -0
  396. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_text.rb +45 -0
  397. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +61 -0
  398. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +42 -0
  399. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  400. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  401. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  402. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  403. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  404. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_ranges.rb +46 -0
  405. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location.rb +36 -0
  406. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location_link.rb +68 -0
  407. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_message_params.rb +42 -0
  408. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  409. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/markup_content.rb +68 -0
  410. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message.rb +30 -0
  411. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message_action_item.rb +33 -0
  412. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker.rb +64 -0
  413. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  414. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  415. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  416. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  417. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell.rb +69 -0
  418. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_array_change.rb +55 -0
  419. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +52 -0
  420. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document.rb +74 -0
  421. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_change_event.rb +45 -0
  422. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +36 -0
  423. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_filter.rb +79 -0
  424. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_identifier.rb +36 -0
  425. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +48 -0
  426. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_options.rb +56 -0
  427. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +56 -0
  428. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notification_message.rb +48 -0
  429. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  430. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/parameter_information.rb +56 -0
  431. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  432. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/position.rb +46 -0
  433. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/prepare_rename_params.rb +51 -0
  434. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/previous_result_id.rb +46 -0
  435. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/progress_params.rb +42 -0
  436. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
  437. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_params.rb +52 -0
  438. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/range.rb +42 -0
  439. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  440. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_context.rb +33 -0
  441. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_options.rb +30 -0
  442. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_params.rb +67 -0
  443. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
  444. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration.rb +55 -0
  445. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration_params.rb +30 -0
  446. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  447. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +69 -0
  448. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +62 -0
  449. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/relative_pattern.rb +48 -0
  450. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
  451. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file.rb +72 -0
  452. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
  453. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  454. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_options.rb +39 -0
  455. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_params.rb +62 -0
  456. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_registration_options.rb +49 -0
  457. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/request_message.rb +57 -0
  458. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_error.rb +52 -0
  459. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_message.rb +58 -0
  460. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/save_options.rb +33 -0
  461. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range.rb +43 -0
  462. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
  463. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
  464. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
  465. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
  466. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  467. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +125 -0
  468. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  469. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  470. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  471. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  472. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  473. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  474. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  475. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  476. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  477. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  478. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  479. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/server_capabilities.rb +352 -0
  480. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  481. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  482. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  483. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  484. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_params.rb +42 -0
  485. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  486. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_params.rb +51 -0
  487. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help.rb +71 -0
  488. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  489. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
  490. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_options.rb +53 -0
  491. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
  492. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_registration_options.rb +63 -0
  493. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_information.rb +69 -0
  494. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/static_registration_options.rb +37 -0
  495. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/symbol_information.rb +93 -0
  496. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_change_registration_options.rb +47 -0
  497. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_client_capabilities.rb +297 -0
  498. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_content_change_event.rb +59 -0
  499. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_edit.rb +42 -0
  500. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_identifier.rb +33 -0
  501. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_item.rb +61 -0
  502. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_position_params.rb +42 -0
  503. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_registration_options.rb +37 -0
  504. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_save_registration_options.rb +43 -0
  505. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  506. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_options.rb +78 -0
  507. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_edit.rb +44 -0
  508. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  509. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
  510. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
  511. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
  512. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_item.rb +102 -0
  513. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_options.rb +30 -0
  514. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +51 -0
  515. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +50 -0
  516. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +49 -0
  517. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +49 -0
  518. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +50 -0
  519. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration.rb +46 -0
  520. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration_params.rb +30 -0
  521. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +45 -0
  522. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +45 -0
  523. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/will_save_text_document_params.rb +45 -0
  524. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  525. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  526. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  527. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  528. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  529. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  530. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  531. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +65 -0
  532. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +33 -0
  533. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +33 -0
  534. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit.rb +68 -0
  535. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
  536. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folder.rb +43 -0
  537. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_change_event.rb +45 -0
  538. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  539. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +75 -0
  540. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol.rb +89 -0
  541. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +64 -0
  542. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_options.rb +40 -0
  543. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_params.rb +56 -0
  544. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +40 -0
  545. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +68 -0
  546. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface.rb +631 -0
  547. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/reader.rb +35 -0
  548. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/writer.rb +39 -0
  549. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io.rb +2 -0
  550. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/reader.rb +13 -0
  551. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/writer.rb +13 -0
  552. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio.rb +2 -0
  553. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport.rb +2 -0
  554. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/version.rb +5 -0
  555. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol.rb +4 -0
  556. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server-protocol.rb +1 -0
  557. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/.standard.yml +3 -0
  558. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  559. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile +9 -0
  560. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile.lock +58 -0
  561. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  562. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  563. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Rakefile +12 -0
  564. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/about.rb +9 -0
  565. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/context.rb +11 -0
  566. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/error.rb +4 -0
  567. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/plugin.rb +22 -0
  568. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/rules.rb +17 -0
  569. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/support/merges_upstream_metadata.rb +23 -0
  570. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/version.rb +3 -0
  571. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller.rb +13 -0
  572. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/MIT-LICENSE.txt +20 -0
  573. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  574. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel.rb +708 -0
  575. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/BSDmakefile +58 -0
  576. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CHANGELOG.md +713 -0
  577. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CODE_OF_CONDUCT.md +76 -0
  578. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CONTRIBUTING.md +58 -0
  579. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/LICENSE.md +7 -0
  580. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/Makefile +109 -0
  581. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/README.md +142 -0
  582. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/config.yml +4713 -0
  583. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/build_system.md +119 -0
  584. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/configuration.md +68 -0
  585. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/cruby_compilation.md +27 -0
  586. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/design.md +53 -0
  587. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/encoding.md +121 -0
  588. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/fuzzing.md +88 -0
  589. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/heredocs.md +36 -0
  590. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/javascript.md +118 -0
  591. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/local_variable_depth.md +229 -0
  592. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/mapping.md +117 -0
  593. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parser_translation.md +24 -0
  594. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parsing_rules.md +22 -0
  595. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/releasing.md +96 -0
  596. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/relocation.md +34 -0
  597. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ripper_translation.md +72 -0
  598. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_api.md +44 -0
  599. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_parser_translation.md +19 -0
  600. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/serialization.md +233 -0
  601. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/testing.md +55 -0
  602. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_node.c +6941 -0
  603. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_pack.c +276 -0
  604. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extconf.rb +127 -0
  605. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.c +1419 -0
  606. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.h +19 -0
  607. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/ast.h +8190 -0
  608. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/defines.h +260 -0
  609. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/diagnostic.h +455 -0
  610. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/encoding.h +283 -0
  611. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/node.h +129 -0
  612. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/options.h +482 -0
  613. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/pack.h +163 -0
  614. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/parser.h +933 -0
  615. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/prettyprint.h +34 -0
  616. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/regexp.h +43 -0
  617. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/static_literals.h +121 -0
  618. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_buffer.h +236 -0
  619. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_char.h +204 -0
  620. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_constant_pool.h +218 -0
  621. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_integer.h +130 -0
  622. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_list.h +103 -0
  623. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_memchr.h +29 -0
  624. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_newline_list.h +113 -0
  625. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_string.h +200 -0
  626. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strncasecmp.h +32 -0
  627. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strpbrk.h +46 -0
  628. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/version.h +29 -0
  629. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism.h +408 -0
  630. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/compiler.rb +801 -0
  631. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/desugar_compiler.rb +392 -0
  632. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dispatcher.rb +2210 -0
  633. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dot_visitor.rb +4762 -0
  634. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dsl.rb +1003 -0
  635. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/ffi.rb +570 -0
  636. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/inspect_visitor.rb +2392 -0
  637. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/lex_compat.rb +928 -0
  638. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/mutation_compiler.rb +772 -0
  639. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node.rb +18816 -0
  640. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node_ext.rb +511 -0
  641. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pack.rb +230 -0
  642. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/comments.rb +188 -0
  643. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/errors.rb +66 -0
  644. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/newlines.rb +155 -0
  645. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result.rb +911 -0
  646. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pattern.rb +269 -0
  647. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/append_as_bytes.rb +15 -0
  648. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/byteindex.rb +13 -0
  649. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/scan_byte.rb +14 -0
  650. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/unpack1.rb +14 -0
  651. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/warn.rb +42 -0
  652. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/reflection.rb +416 -0
  653. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/relocation.rb +505 -0
  654. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/serialize.rb +2397 -0
  655. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/string_query.rb +31 -0
  656. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/builder.rb +62 -0
  657. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/compiler.rb +2234 -0
  658. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/lexer.rb +820 -0
  659. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser.rb +367 -0
  660. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser33.rb +13 -0
  661. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser34.rb +13 -0
  662. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser35.rb +13 -0
  663. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser_current.rb +24 -0
  664. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/sexp.rb +126 -0
  665. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/shim.rb +5 -0
  666. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper.rb +3474 -0
  667. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ruby_parser.rb +1929 -0
  668. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation.rb +16 -0
  669. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/visitor.rb +813 -0
  670. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism.rb +91 -0
  671. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/prism.gemspec +174 -0
  672. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/compiler.rbi +12 -0
  673. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/dsl.rbi +524 -0
  674. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/inspect_visitor.rbi +12 -0
  675. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node.rbi +8734 -0
  676. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node_ext.rbi +107 -0
  677. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/parse_result.rbi +404 -0
  678. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/reflection.rbi +58 -0
  679. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/string_query.rbi +12 -0
  680. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser.rbi +11 -0
  681. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser33.rbi +6 -0
  682. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser34.rbi +6 -0
  683. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser35.rbi +6 -0
  684. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/ripper.rbi +15 -0
  685. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/visitor.rbi +473 -0
  686. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism.rbi +66 -0
  687. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/compiler.rbs +9 -0
  688. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dispatcher.rbs +19 -0
  689. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dot_visitor.rbs +6 -0
  690. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dsl.rbs +351 -0
  691. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/inspect_visitor.rbs +22 -0
  692. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/lex_compat.rbs +10 -0
  693. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/mutation_compiler.rbs +159 -0
  694. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node.rbs +4028 -0
  695. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node_ext.rbs +149 -0
  696. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pack.rbs +43 -0
  697. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result/comments.rbs +38 -0
  698. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result.rbs +196 -0
  699. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pattern.rbs +13 -0
  700. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/reflection.rbs +50 -0
  701. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/relocation.rbs +185 -0
  702. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/serialize.rbs +8 -0
  703. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/string_query.rbs +11 -0
  704. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/visitor.rbs +169 -0
  705. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism.rbs +254 -0
  706. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/diagnostic.c +848 -0
  707. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/encoding.c +5235 -0
  708. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/node.c +8676 -0
  709. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/options.c +328 -0
  710. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/pack.c +509 -0
  711. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prettyprint.c +8941 -0
  712. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prism.c +23302 -0
  713. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/regexp.c +790 -0
  714. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/serialize.c +2268 -0
  715. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/static_literals.c +617 -0
  716. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/token_type.c +703 -0
  717. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_buffer.c +357 -0
  718. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_char.c +318 -0
  719. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_constant_pool.c +342 -0
  720. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_integer.c +670 -0
  721. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_list.c +49 -0
  722. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_memchr.c +35 -0
  723. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_newline_list.c +125 -0
  724. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_string.c +383 -0
  725. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strncasecmp.c +36 -0
  726. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strpbrk.c +206 -0
  727. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/BSDL +22 -0
  728. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/COPYING +56 -0
  729. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ChangeLog +846 -0
  730. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  731. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.rdoc +60 -0
  732. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/TODO +5 -0
  733. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/bin/racc +320 -0
  734. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
  735. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
  736. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
  737. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
  738. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
  739. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
  740. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
  741. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
  742. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  743. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  744. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  745. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  746. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  747. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  748. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  749. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  750. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  751. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  752. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  753. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  754. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  755. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  756. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  757. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  758. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  759. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  760. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  761. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  762. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  763. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/color.rb +150 -0
  764. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/ext/string.rb +64 -0
  765. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/global.rb +25 -0
  766. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/null_presenter.rb +100 -0
  767. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/presenter.rb +144 -0
  768. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/refinement.rb +14 -0
  769. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb +22 -0
  770. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/version.rb +5 -0
  771. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/wrapper.rb +22 -0
  772. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/x11_color_names.rb +153 -0
  773. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow.rb +13 -0
  774. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Gemfile +17 -0
  775. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/LICENSE +22 -0
  776. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Rakefile +25 -0
  777. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/error.rb +6 -0
  778. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/base.rb +78 -0
  779. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/alternation.rb +12 -0
  780. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/anchor.rb +26 -0
  781. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/backreference.rb +58 -0
  782. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/intersection.rb +11 -0
  783. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/range.rb +21 -0
  784. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set.rb +25 -0
  785. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_type.rb +19 -0
  786. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/conditional.rb +52 -0
  787. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/escape_sequence.rb +33 -0
  788. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/free_space.rb +19 -0
  789. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/group.rb +75 -0
  790. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/keep.rb +9 -0
  791. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/literal.rb +5 -0
  792. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/posix_class.rb +13 -0
  793. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/root.rb +11 -0
  794. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/unicode_property.rb +121 -0
  795. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/construct.rb +43 -0
  796. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
  797. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
  798. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/human_name.rb +45 -0
  799. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match.rb +15 -0
  800. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match_length.rb +178 -0
  801. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/negative.rb +22 -0
  802. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/options.rb +37 -0
  803. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/parts.rb +25 -0
  804. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/printing.rb +28 -0
  805. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
  806. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/strfregexp.rb +116 -0
  807. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/tests.rb +145 -0
  808. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/traverse.rb +82 -0
  809. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/quantifier.rb +86 -0
  810. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence.rb +33 -0
  811. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence_operation.rb +22 -0
  812. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/shared.rb +114 -0
  813. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/subexpression.rb +69 -0
  814. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression.rb +42 -0
  815. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/lexer.rb +171 -0
  816. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/parser.rb +602 -0
  817. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/char_type.rl +28 -0
  818. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/premature_end_error.rb +10 -0
  819. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/scanner_error.rb +8 -0
  820. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/validation_error.rb +65 -0
  821. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/long.csv +670 -0
  822. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/short.csv +257 -0
  823. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/property.rl +30 -0
  824. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/scanner.rl +864 -0
  825. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner.rb +2601 -0
  826. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/any.rb +12 -0
  827. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/base.rb +122 -0
  828. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/anchor.rb +17 -0
  829. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/assertion.rb +15 -0
  830. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/backreference.rb +35 -0
  831. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_set.rb +18 -0
  832. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_type.rb +18 -0
  833. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/conditional.rb +18 -0
  834. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/escape.rb +35 -0
  835. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/group.rb +25 -0
  836. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/keep.rb +14 -0
  837. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/meta.rb +22 -0
  838. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/posix_class.rb +19 -0
  839. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/quantifier.rb +37 -0
  840. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/unicode_property.rb +766 -0
  841. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/virtual.rb +13 -0
  842. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token.rb +47 -0
  843. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/version_lookup.rb +67 -0
  844. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.8.6.rb +16 -0
  845. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.1.rb +13 -0
  846. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.3.rb +6 -0
  847. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.0.0.rb +12 -0
  848. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.2.0.rb +6 -0
  849. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.3.0.rb +6 -0
  850. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.0.rb +6 -0
  851. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.1.rb +5 -0
  852. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.5.0.rb +6 -0
  853. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.0.rb +6 -0
  854. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.2.rb +6 -0
  855. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.3.rb +6 -0
  856. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.1.0.rb +6 -0
  857. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.2.0.rb +6 -0
  858. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
  859. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions.rb +10 -0
  860. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax.rb +13 -0
  861. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/token.rb +26 -0
  862. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/version.rb +7 -0
  863. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser.rb +8 -0
  864. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/regexp_parser.gemspec +36 -0
  865. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/LICENSE.md +27 -0
  866. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/README.md +47 -0
  867. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec/version.rb +5 -0
  868. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec.rb +3 -0
  869. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.document +5 -0
  870. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.yardopts +8 -0
  871. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/Changelog.md +2439 -0
  872. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/LICENSE.md +26 -0
  873. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/README.md +389 -0
  874. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/exe/rspec +4 -0
  875. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/autorun.rb +3 -0
  876. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/backtrace_formatter.rb +65 -0
  877. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/coordinator.rb +62 -0
  878. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  879. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/fork_runner.rb +140 -0
  880. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/server.rb +61 -0
  881. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_command.rb +126 -0
  882. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_runner.rb +73 -0
  883. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/utilities.rb +69 -0
  884. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration.rb +2419 -0
  885. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration_options.rb +240 -0
  886. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/did_you_mean.rb +52 -0
  887. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/drb.rb +120 -0
  888. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/dsl.rb +98 -0
  889. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example.rb +666 -0
  890. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_group.rb +912 -0
  891. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_status_persister.rb +235 -0
  892. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/filter_manager.rb +231 -0
  893. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/flat_map.rb +20 -0
  894. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  895. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_formatter.rb +70 -0
  896. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  897. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  898. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  899. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/console_codes.rb +76 -0
  900. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  901. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  902. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/exception_presenter.rb +553 -0
  903. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  904. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  905. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/helpers.rb +118 -0
  906. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_formatter.rb +153 -0
  907. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_printer.rb +412 -0
  908. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_snippet_extractor.rb +122 -0
  909. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/json_formatter.rb +103 -0
  910. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  911. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  912. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/protocol.rb +182 -0
  913. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  914. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  915. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters.rb +279 -0
  916. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/hooks.rb +646 -0
  917. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/invocations.rb +87 -0
  918. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/memoized_helpers.rb +580 -0
  919. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata.rb +498 -0
  920. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata_filter.rb +255 -0
  921. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  922. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  923. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  924. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/null.rb +14 -0
  925. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  926. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  927. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/notifications.rb +523 -0
  928. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/option_parser.rb +325 -0
  929. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ordering.rb +208 -0
  930. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/output_wrapper.rb +29 -0
  931. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/pending.rb +157 -0
  932. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/profiler.rb +34 -0
  933. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/.rspec +1 -0
  934. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  935. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer.rb +48 -0
  936. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/rake_task.rb +190 -0
  937. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/reporter.rb +266 -0
  938. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ruby_project.rb +53 -0
  939. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/runner.rb +216 -0
  940. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/sandbox.rb +37 -0
  941. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/set.rb +54 -0
  942. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_context.rb +55 -0
  943. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_example_group.rb +271 -0
  944. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shell_escape.rb +49 -0
  945. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  946. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/version.rb +9 -0
  947. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/warnings.rb +40 -0
  948. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/world.rb +287 -0
  949. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core.rb +212 -0
  950. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.document +5 -0
  951. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.yardopts +6 -0
  952. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/Changelog.md +1366 -0
  953. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
  954. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/README.md +326 -0
  955. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/block_snippet_extractor.rb +255 -0
  956. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/configuration.rb +244 -0
  957. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/expectation_target.rb +163 -0
  958. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/fail_with.rb +39 -0
  959. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/failure_aggregator.rb +236 -0
  960. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/handler.rb +181 -0
  961. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/minitest_integration.rb +58 -0
  962. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/syntax.rb +132 -0
  963. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/version.rb +8 -0
  964. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations.rb +82 -0
  965. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/aliased_matcher.rb +116 -0
  966. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/all.rb +86 -0
  967. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/base_matcher.rb +225 -0
  968. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be.rb +191 -0
  969. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_between.rb +77 -0
  970. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  971. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  972. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_within.rb +72 -0
  973. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/change.rb +452 -0
  974. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/compound.rb +293 -0
  975. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/contain_exactly.rb +312 -0
  976. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/count_expectation.rb +171 -0
  977. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/cover.rb +24 -0
  978. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eq.rb +44 -0
  979. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eql.rb +38 -0
  980. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/equal.rb +81 -0
  981. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/exist.rb +90 -0
  982. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/has.rb +194 -0
  983. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  984. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/include.rb +218 -0
  985. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/match.rb +120 -0
  986. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/operators.rb +128 -0
  987. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/output.rb +207 -0
  988. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/raise_error.rb +275 -0
  989. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  990. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/satisfy.rb +62 -0
  991. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  992. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  993. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/yield.rb +375 -0
  994. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in.rb +53 -0
  995. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/composable.rb +171 -0
  996. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/dsl.rb +546 -0
  997. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/english_phrasing.rb +60 -0
  998. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/fail_matchers.rb +42 -0
  999. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/generated_descriptions.rb +41 -0
  1000. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_delegator.rb +61 -0
  1001. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_protocol.rb +105 -0
  1002. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/multi_matcher_diff.rb +82 -0
  1003. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers.rb +1046 -0
  1004. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.document +5 -0
  1005. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.yardopts +6 -0
  1006. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/Changelog.md +1329 -0
  1007. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/LICENSE.md +25 -0
  1008. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/README.md +465 -0
  1009. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/chain.rb +111 -0
  1010. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1011. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  1012. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  1013. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1014. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  1015. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/recorder.rb +299 -0
  1016. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  1017. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  1018. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance.rb +11 -0
  1019. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  1020. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_matchers.rb +366 -0
  1021. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/configuration.rb +212 -0
  1022. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/error_generator.rb +390 -0
  1023. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/example_methods.rb +434 -0
  1024. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  1025. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/marshal_extension.rb +41 -0
  1026. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1027. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/have_received.rb +134 -0
  1028. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive.rb +134 -0
  1029. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1030. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1031. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_chain.rb +87 -0
  1032. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_expectation.rb +856 -0
  1033. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_double.rb +316 -0
  1034. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_reference.rb +214 -0
  1035. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/minitest_integration.rb +68 -0
  1036. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/mutate_const.rb +339 -0
  1037. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/object_reference.rb +149 -0
  1038. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/order_group.rb +81 -0
  1039. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/proxy.rb +517 -0
  1040. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/space.rb +238 -0
  1041. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/standalone.rb +3 -0
  1042. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/syntax.rb +325 -0
  1043. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/targets.rb +124 -0
  1044. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/test_double.rb +173 -0
  1045. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_double.rb +125 -0
  1046. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  1047. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_proxy.rb +221 -0
  1048. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/version.rb +9 -0
  1049. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks.rb +133 -0
  1050. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/Changelog.md +437 -0
  1051. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/LICENSE.md +23 -0
  1052. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/README.md +40 -0
  1053. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/caller_filter.rb +85 -0
  1054. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/comparable_version.rb +48 -0
  1055. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/differ.rb +216 -0
  1056. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/directory_maker.rb +65 -0
  1057. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/encoded_string.rb +163 -0
  1058. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/fuzzy_matcher.rb +50 -0
  1059. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/hunk_generator.rb +49 -0
  1060. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/matcher_definition.rb +44 -0
  1061. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/method_signature_verifier.rb +467 -0
  1062. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/mutex.rb +75 -0
  1063. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/object_formatter.rb +279 -0
  1064. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/recursive_const_methods.rb +78 -0
  1065. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/reentrant_mutex.rb +80 -0
  1066. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/ruby_features.rb +221 -0
  1067. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/location.rb +23 -0
  1068. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/node.rb +112 -0
  1069. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/token.rb +96 -0
  1070. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source.rb +87 -0
  1071. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/deprecation_helpers.rb +50 -0
  1072. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/diff_helpers.rb +45 -0
  1073. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/formatting_support.rb +11 -0
  1074. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/in_sub_process.rb +73 -0
  1075. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/library_wide_checks.rb +152 -0
  1076. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/shell_out.rb +115 -0
  1077. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/stderr_splitter.rb +77 -0
  1078. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/string_matcher.rb +47 -0
  1079. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_directory.rb +15 -0
  1080. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_stderr.rb +15 -0
  1081. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec.rb +84 -0
  1082. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/version.rb +9 -0
  1083. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/warnings.rb +41 -0
  1084. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/with_keywords_when_needed.rb +35 -0
  1085. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support.rb +163 -0
  1086. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  1087. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  1088. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/Rakefile +2 -0
  1089. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/base.rb +234 -0
  1090. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/calculators/length.rb +98 -0
  1091. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/bar.rb +102 -0
  1092. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/percentage.rb +27 -0
  1093. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/rate.rb +39 -0
  1094. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/time.rb +101 -0
  1095. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/title.rb +13 -0
  1096. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1097. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  1098. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/molecule.rb +61 -0
  1099. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/string.rb +38 -0
  1100. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/output.rb +71 -0
  1101. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1102. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  1103. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1104. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/progress.rb +108 -0
  1105. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projector.rb +14 -0
  1106. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projectors/smoothed_average.rb +71 -0
  1107. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements/progress_enumerator.rb +28 -0
  1108. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements.rb +1 -0
  1109. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/throttle.rb +25 -0
  1110. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/time.rb +30 -0
  1111. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/timer.rb +78 -0
  1112. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/version.rb +3 -0
  1113. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar.rb +12 -0
  1114. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  1115. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  1116. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/README.md +974 -0
  1117. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/alternate-formatters.md +71 -0
  1118. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/commercial-services.md +25 -0
  1119. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/editor-integration.md +18 -0
  1120. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/minitest/simplecov_plugin.rb +15 -0
  1121. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/branches_combiner.rb +32 -0
  1122. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/files_combiner.rb +24 -0
  1123. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/lines_combiner.rb +43 -0
  1124. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/results_combiner.rb +60 -0
  1125. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine.rb +30 -0
  1126. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/command_guesser.rb +64 -0
  1127. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/configuration.rb +500 -0
  1128. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/coverage_statistics.rb +56 -0
  1129. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/default_formatter.rb +20 -0
  1130. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/defaults.rb +53 -0
  1131. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/exit_code_handling.rb +29 -0
  1132. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +83 -0
  1133. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +54 -0
  1134. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +53 -0
  1135. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes.rb +15 -0
  1136. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/file_list.rb +120 -0
  1137. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/filter.rb +94 -0
  1138. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/multi_formatter.rb +32 -0
  1139. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/simple_formatter.rb +25 -0
  1140. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter.rb +10 -0
  1141. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/last_run.rb +28 -0
  1142. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/lines_classifier.rb +48 -0
  1143. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/load_global_config.rb +8 -0
  1144. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/no_defaults.rb +4 -0
  1145. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/process.rb +19 -0
  1146. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/bundler_filter.rb +5 -0
  1147. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/hidden_filter.rb +5 -0
  1148. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/rails.rb +18 -0
  1149. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/root_filter.rb +10 -0
  1150. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/test_frameworks.rb +8 -0
  1151. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles.rb +35 -0
  1152. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result.rb +94 -0
  1153. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_adapter.rb +30 -0
  1154. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_merger.rb +194 -0
  1155. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/simulate_coverage.rb +29 -0
  1156. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/branch.rb +84 -0
  1157. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/line.rb +72 -0
  1158. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file.rb +355 -0
  1159. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/useless_results_remover.rb +18 -0
  1160. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/version.rb +5 -0
  1161. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov.rb +470 -0
  1162. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/.document +5 -0
  1163. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  1164. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  1165. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  1166. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/Rakefile +55 -0
  1167. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html/version.rb +9 -0
  1168. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html.rb +165 -0
  1169. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc.png +0 -0
  1170. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  1171. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_both.png +0 -0
  1172. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc.png +0 -0
  1173. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  1174. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.css +1 -0
  1175. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.js +7 -0
  1176. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/border.png +0 -0
  1177. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/controls.png +0 -0
  1178. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading.gif +0 -0
  1179. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading_background.png +0 -0
  1180. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_green.png +0 -0
  1181. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_red.png +0 -0
  1182. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_yellow.png +0 -0
  1183. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1184. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1185. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1186. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1187. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1188. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1189. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1190. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1191. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_222222_256x240.png +0 -0
  1192. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_2e83ff_256x240.png +0 -0
  1193. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_454545_256x240.png +0 -0
  1194. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_888888_256x240.png +0 -0
  1195. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_cd0a0a_256x240.png +0 -0
  1196. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/loading.gif +0 -0
  1197. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/magnify.png +0 -0
  1198. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/covered_percent.erb +3 -0
  1199. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/file_list.erb +78 -0
  1200. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/layout.erb +40 -0
  1201. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/source_file.erb +57 -0
  1202. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  1203. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  1204. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_exporter.rb +27 -0
  1205. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_hash_formatter.rb +52 -0
  1206. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/source_file_formatter.rb +65 -0
  1207. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/version.rb +5 -0
  1208. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter.rb +36 -0
  1209. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  1210. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  1211. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  1212. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
  1213. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb +10 -0
  1214. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb +55 -0
  1215. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/index.rb +34 -0
  1216. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  1217. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/reline_ext.rb +14 -0
  1218. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/string_ext.rb +9 -0
  1219. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width.rb +247 -0
  1220. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.gitignore +3 -0
  1221. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.rake_tasks +5 -0
  1222. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CHANGELOG.md +196 -0
  1223. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CODE_OF_CONDUCT.md +74 -0
  1224. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Gemfile +7 -0
  1225. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/MIT-LICENSE.txt +20 -0
  1226. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/README.md +205 -0
  1227. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Rakefile +46 -0
  1228. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/emoji.marshal.gz +0 -0
  1229. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/generate_constants.rb +344 -0
  1230. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/constants.rb +49 -0
  1231. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex.rb +8 -0
  1232. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  1233. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  1234. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  1235. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  1236. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  1237. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  1238. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  1239. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  1240. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  1241. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  1242. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  1243. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  1244. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  1245. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text.rb +8 -0
  1246. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  1247. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  1248. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  1249. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  1250. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  1251. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
  1252. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  1253. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  1254. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  1255. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  1256. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  1257. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  1258. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  1259. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  1260. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  1261. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  1262. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  1263. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  1264. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  1265. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  1266. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  1267. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  1268. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  1269. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  1270. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
  1271. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/index.rb +14 -0
  1272. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/lazy_constants.rb +56 -0
  1273. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/list.rb +13 -0
  1274. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji.rb +111 -0
  1275. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/data/.keep +0 -0
  1276. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/emoji_test_txt_spec.rb +181 -0
  1277. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/unicode_emoji_spec.rb +725 -0
  1278. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/unicode-emoji.gemspec +22 -0
  1279. data/vendor/bundle/ruby/3.0.0/specifications/ast-2.4.3.gemspec +40 -0
  1280. data/vendor/bundle/ruby/3.0.0/specifications/diff-lcs-1.6.2.gemspec +46 -0
  1281. data/vendor/bundle/ruby/3.0.0/specifications/docile-1.4.1.gemspec +22 -0
  1282. data/vendor/bundle/ruby/3.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +42 -0
  1283. data/vendor/bundle/ruby/3.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  1284. data/vendor/bundle/ruby/3.0.0/specifications/parallel-1.27.0.gemspec +21 -0
  1285. data/vendor/bundle/ruby/3.0.0/specifications/rainbow-3.1.1.gemspec +31 -0
  1286. data/vendor/bundle/ruby/3.0.0/specifications/regexp_parser-2.11.3.gemspec +22 -0
  1287. data/vendor/bundle/ruby/3.0.0/specifications/rspec-3.13.1.gemspec +39 -0
  1288. data/vendor/bundle/ruby/3.0.0/specifications/rspec-core-3.13.5.gemspec +37 -0
  1289. data/vendor/bundle/ruby/3.0.0/specifications/rspec-expectations-3.13.5.gemspec +36 -0
  1290. data/vendor/bundle/ruby/3.0.0/specifications/rspec-mocks-3.13.5.gemspec +36 -0
  1291. data/vendor/bundle/ruby/3.0.0/specifications/rspec-support-3.13.6.gemspec +36 -0
  1292. data/vendor/bundle/ruby/3.0.0/specifications/ruby-progressbar-1.13.0.gemspec +38 -0
  1293. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-0.22.0.gemspec +36 -0
  1294. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  1295. data/vendor/bundle/ruby/3.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  1296. data/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-3.2.0.gemspec +38 -0
  1297. data/vendor/bundle/ruby/3.0.0/specifications/unicode-emoji-4.1.0.gemspec +22 -0
  1298. data/zayef.gemspec +4 -0
  1299. metadata +1320 -7
@@ -0,0 +1,1419 @@
1
+ #include "prism/extension.h"
2
+
3
+ #ifdef _WIN32
4
+ #include <ruby/win32.h>
5
+ #endif
6
+
7
+ // NOTE: this file should contain only bindings. All non-trivial logic should be
8
+ // in libprism so it can be shared its the various callers.
9
+
10
+ VALUE rb_cPrism;
11
+ VALUE rb_cPrismNode;
12
+ VALUE rb_cPrismSource;
13
+ VALUE rb_cPrismToken;
14
+ VALUE rb_cPrismLocation;
15
+
16
+ VALUE rb_cPrismComment;
17
+ VALUE rb_cPrismInlineComment;
18
+ VALUE rb_cPrismEmbDocComment;
19
+ VALUE rb_cPrismMagicComment;
20
+ VALUE rb_cPrismParseError;
21
+ VALUE rb_cPrismParseWarning;
22
+ VALUE rb_cPrismResult;
23
+ VALUE rb_cPrismParseResult;
24
+ VALUE rb_cPrismLexResult;
25
+ VALUE rb_cPrismParseLexResult;
26
+ VALUE rb_cPrismStringQuery;
27
+ VALUE rb_cPrismScope;
28
+
29
+ VALUE rb_cPrismDebugEncoding;
30
+
31
+ ID rb_id_option_command_line;
32
+ ID rb_id_option_encoding;
33
+ ID rb_id_option_filepath;
34
+ ID rb_id_option_freeze;
35
+ ID rb_id_option_frozen_string_literal;
36
+ ID rb_id_option_line;
37
+ ID rb_id_option_main_script;
38
+ ID rb_id_option_partial_script;
39
+ ID rb_id_option_scopes;
40
+ ID rb_id_option_version;
41
+ ID rb_id_source_for;
42
+ ID rb_id_forwarding_positionals;
43
+ ID rb_id_forwarding_keywords;
44
+ ID rb_id_forwarding_block;
45
+ ID rb_id_forwarding_all;
46
+
47
+ /******************************************************************************/
48
+ /* IO of Ruby code */
49
+ /******************************************************************************/
50
+
51
+ /**
52
+ * Check if the given VALUE is a string. If it's not a string, then raise a
53
+ * TypeError. Otherwise return the VALUE as a C string.
54
+ */
55
+ static const char *
56
+ check_string(VALUE value) {
57
+ // Check if the value is a string. If it's not, then raise a type error.
58
+ if (!RB_TYPE_P(value, T_STRING)) {
59
+ rb_raise(rb_eTypeError, "wrong argument type %" PRIsVALUE " (expected String)", rb_obj_class(value));
60
+ }
61
+
62
+ // Otherwise, return the value as a C string.
63
+ return RSTRING_PTR(value);
64
+ }
65
+
66
+ /**
67
+ * Load the contents and size of the given string into the given pm_string_t.
68
+ */
69
+ static void
70
+ input_load_string(pm_string_t *input, VALUE string) {
71
+ // Check if the string is a string. If it's not, then raise a type error.
72
+ if (!RB_TYPE_P(string, T_STRING)) {
73
+ rb_raise(rb_eTypeError, "wrong argument type %" PRIsVALUE " (expected String)", rb_obj_class(string));
74
+ }
75
+
76
+ pm_string_constant_init(input, RSTRING_PTR(string), RSTRING_LEN(string));
77
+ }
78
+
79
+ /******************************************************************************/
80
+ /* Building C options from Ruby options */
81
+ /******************************************************************************/
82
+
83
+ /**
84
+ * Build the scopes associated with the provided Ruby keyword value.
85
+ */
86
+ static void
87
+ build_options_scopes(pm_options_t *options, VALUE scopes) {
88
+ // Check if the value is an array. If it's not, then raise a type error.
89
+ if (!RB_TYPE_P(scopes, T_ARRAY)) {
90
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Array)", rb_obj_class(scopes));
91
+ }
92
+
93
+ // Initialize the scopes array.
94
+ size_t scopes_count = RARRAY_LEN(scopes);
95
+ if (!pm_options_scopes_init(options, scopes_count)) {
96
+ rb_raise(rb_eNoMemError, "failed to allocate memory");
97
+ }
98
+
99
+ // Iterate over the scopes and add them to the options.
100
+ for (size_t scope_index = 0; scope_index < scopes_count; scope_index++) {
101
+ VALUE scope = rb_ary_entry(scopes, scope_index);
102
+
103
+ // The scope can be either an array or it can be a Prism::Scope object.
104
+ // Parse out the correct values here from either.
105
+ VALUE locals;
106
+ uint8_t forwarding = PM_OPTIONS_SCOPE_FORWARDING_NONE;
107
+
108
+ if (RB_TYPE_P(scope, T_ARRAY)) {
109
+ locals = scope;
110
+ } else if (rb_obj_is_kind_of(scope, rb_cPrismScope)) {
111
+ locals = rb_ivar_get(scope, rb_intern("@locals"));
112
+ if (!RB_TYPE_P(locals, T_ARRAY)) {
113
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Array)", rb_obj_class(locals));
114
+ }
115
+
116
+ VALUE names = rb_ivar_get(scope, rb_intern("@forwarding"));
117
+ if (!RB_TYPE_P(names, T_ARRAY)) {
118
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Array)", rb_obj_class(names));
119
+ }
120
+
121
+ size_t names_count = RARRAY_LEN(names);
122
+ for (size_t name_index = 0; name_index < names_count; name_index++) {
123
+ VALUE name = rb_ary_entry(names, name_index);
124
+
125
+ // Check that the name is a symbol. If it's not, then raise
126
+ // a type error.
127
+ if (!RB_TYPE_P(name, T_SYMBOL)) {
128
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Symbol)", rb_obj_class(name));
129
+ }
130
+
131
+ ID id = SYM2ID(name);
132
+ if (id == rb_id_forwarding_positionals) {
133
+ forwarding |= PM_OPTIONS_SCOPE_FORWARDING_POSITIONALS;
134
+ } else if (id == rb_id_forwarding_keywords) {
135
+ forwarding |= PM_OPTIONS_SCOPE_FORWARDING_KEYWORDS;
136
+ } else if (id == rb_id_forwarding_block) {
137
+ forwarding |= PM_OPTIONS_SCOPE_FORWARDING_BLOCK;
138
+ } else if (id == rb_id_forwarding_all) {
139
+ forwarding |= PM_OPTIONS_SCOPE_FORWARDING_ALL;
140
+ } else {
141
+ rb_raise(rb_eArgError, "invalid forwarding value: %" PRIsVALUE, name);
142
+ }
143
+ }
144
+ } else {
145
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Array or Prism::Scope)", rb_obj_class(scope));
146
+ }
147
+
148
+ // Initialize the scope array.
149
+ size_t locals_count = RARRAY_LEN(locals);
150
+ pm_options_scope_t *options_scope = &options->scopes[scope_index];
151
+ if (!pm_options_scope_init(options_scope, locals_count)) {
152
+ rb_raise(rb_eNoMemError, "failed to allocate memory");
153
+ }
154
+
155
+ // Iterate over the locals and add them to the scope.
156
+ for (size_t local_index = 0; local_index < locals_count; local_index++) {
157
+ VALUE local = rb_ary_entry(locals, local_index);
158
+
159
+ // Check that the local is a symbol. If it's not, then raise a
160
+ // type error.
161
+ if (!RB_TYPE_P(local, T_SYMBOL)) {
162
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected Symbol)", rb_obj_class(local));
163
+ }
164
+
165
+ // Add the local to the scope.
166
+ pm_string_t *scope_local = &options_scope->locals[local_index];
167
+ const char *name = rb_id2name(SYM2ID(local));
168
+ pm_string_constant_init(scope_local, name, strlen(name));
169
+ }
170
+
171
+ // Now set the forwarding options.
172
+ pm_options_scope_forwarding_set(options_scope, forwarding);
173
+ }
174
+ }
175
+
176
+ /**
177
+ * An iterator function that is called for each key-value in the keywords hash.
178
+ */
179
+ static int
180
+ build_options_i(VALUE key, VALUE value, VALUE argument) {
181
+ pm_options_t *options = (pm_options_t *) argument;
182
+ ID key_id = SYM2ID(key);
183
+
184
+ if (key_id == rb_id_option_filepath) {
185
+ if (!NIL_P(value)) pm_options_filepath_set(options, check_string(value));
186
+ } else if (key_id == rb_id_option_encoding) {
187
+ if (!NIL_P(value)) {
188
+ if (value == Qfalse) {
189
+ pm_options_encoding_locked_set(options, true);
190
+ } else {
191
+ pm_options_encoding_set(options, rb_enc_name(rb_to_encoding(value)));
192
+ }
193
+ }
194
+ } else if (key_id == rb_id_option_line) {
195
+ if (!NIL_P(value)) pm_options_line_set(options, NUM2INT(value));
196
+ } else if (key_id == rb_id_option_frozen_string_literal) {
197
+ if (!NIL_P(value)) pm_options_frozen_string_literal_set(options, RTEST(value));
198
+ } else if (key_id == rb_id_option_version) {
199
+ if (!NIL_P(value)) {
200
+ const char *version = check_string(value);
201
+
202
+ if (!pm_options_version_set(options, version, RSTRING_LEN(value))) {
203
+ rb_raise(rb_eArgError, "invalid version: %" PRIsVALUE, value);
204
+ }
205
+ }
206
+ } else if (key_id == rb_id_option_scopes) {
207
+ if (!NIL_P(value)) build_options_scopes(options, value);
208
+ } else if (key_id == rb_id_option_command_line) {
209
+ if (!NIL_P(value)) {
210
+ const char *string = check_string(value);
211
+ uint8_t command_line = 0;
212
+
213
+ for (size_t index = 0; index < strlen(string); index++) {
214
+ switch (string[index]) {
215
+ case 'a': command_line |= PM_OPTIONS_COMMAND_LINE_A; break;
216
+ case 'e': command_line |= PM_OPTIONS_COMMAND_LINE_E; break;
217
+ case 'l': command_line |= PM_OPTIONS_COMMAND_LINE_L; break;
218
+ case 'n': command_line |= PM_OPTIONS_COMMAND_LINE_N; break;
219
+ case 'p': command_line |= PM_OPTIONS_COMMAND_LINE_P; break;
220
+ case 'x': command_line |= PM_OPTIONS_COMMAND_LINE_X; break;
221
+ default: rb_raise(rb_eArgError, "invalid command line flag: '%c'", string[index]); break;
222
+ }
223
+ }
224
+
225
+ pm_options_command_line_set(options, command_line);
226
+ }
227
+ } else if (key_id == rb_id_option_main_script) {
228
+ if (!NIL_P(value)) pm_options_main_script_set(options, RTEST(value));
229
+ } else if (key_id == rb_id_option_partial_script) {
230
+ if (!NIL_P(value)) pm_options_partial_script_set(options, RTEST(value));
231
+ } else if (key_id == rb_id_option_freeze) {
232
+ if (!NIL_P(value)) pm_options_freeze_set(options, RTEST(value));
233
+ } else {
234
+ rb_raise(rb_eArgError, "unknown keyword: %" PRIsVALUE, key);
235
+ }
236
+
237
+ return ST_CONTINUE;
238
+ }
239
+
240
+ /**
241
+ * We need a struct here to pass through rb_protect and it has to be a single
242
+ * value. Because the sizeof(VALUE) == sizeof(void *), we're going to pass this
243
+ * through as an opaque pointer and cast it on both sides.
244
+ */
245
+ struct build_options_data {
246
+ pm_options_t *options;
247
+ VALUE keywords;
248
+ };
249
+
250
+ /**
251
+ * Build the set of options from the given keywords. Note that this can raise a
252
+ * Ruby error if the options are not valid.
253
+ */
254
+ static VALUE
255
+ build_options(VALUE argument) {
256
+ struct build_options_data *data = (struct build_options_data *) argument;
257
+ rb_hash_foreach(data->keywords, build_options_i, (VALUE) data->options);
258
+ return Qnil;
259
+ }
260
+
261
+ /**
262
+ * Extract the options from the given keyword arguments.
263
+ */
264
+ static void
265
+ extract_options(pm_options_t *options, VALUE filepath, VALUE keywords) {
266
+ options->line = 1; // default
267
+
268
+ if (!NIL_P(keywords)) {
269
+ struct build_options_data data = { .options = options, .keywords = keywords };
270
+ struct build_options_data *argument = &data;
271
+
272
+ int state = 0;
273
+ rb_protect(build_options, (VALUE) argument, &state);
274
+
275
+ if (state != 0) {
276
+ pm_options_free(options);
277
+ rb_jump_tag(state);
278
+ }
279
+ }
280
+
281
+ if (!NIL_P(filepath)) {
282
+ if (!RB_TYPE_P(filepath, T_STRING)) {
283
+ pm_options_free(options);
284
+ rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (expected String)", rb_obj_class(filepath));
285
+ }
286
+
287
+ pm_options_filepath_set(options, RSTRING_PTR(filepath));
288
+ }
289
+ }
290
+
291
+ /**
292
+ * Read options for methods that look like (source, **options).
293
+ */
294
+ static void
295
+ string_options(int argc, VALUE *argv, pm_string_t *input, pm_options_t *options) {
296
+ VALUE string;
297
+ VALUE keywords;
298
+ rb_scan_args(argc, argv, "1:", &string, &keywords);
299
+
300
+ extract_options(options, Qnil, keywords);
301
+ input_load_string(input, string);
302
+ }
303
+
304
+ /**
305
+ * Read options for methods that look like (filepath, **options).
306
+ */
307
+ static void
308
+ file_options(int argc, VALUE *argv, pm_string_t *input, pm_options_t *options, VALUE *encoded_filepath) {
309
+ VALUE filepath;
310
+ VALUE keywords;
311
+ rb_scan_args(argc, argv, "1:", &filepath, &keywords);
312
+
313
+ Check_Type(filepath, T_STRING);
314
+ *encoded_filepath = rb_str_encode_ospath(filepath);
315
+ extract_options(options, *encoded_filepath, keywords);
316
+
317
+ const char *source = (const char *) pm_string_source(&options->filepath);
318
+ pm_string_init_result_t result;
319
+
320
+ switch (result = pm_string_file_init(input, source)) {
321
+ case PM_STRING_INIT_SUCCESS:
322
+ break;
323
+ case PM_STRING_INIT_ERROR_GENERIC: {
324
+ pm_options_free(options);
325
+
326
+ #ifdef _WIN32
327
+ int e = rb_w32_map_errno(GetLastError());
328
+ #else
329
+ int e = errno;
330
+ #endif
331
+
332
+ rb_syserr_fail(e, source);
333
+ break;
334
+ }
335
+ case PM_STRING_INIT_ERROR_DIRECTORY:
336
+ pm_options_free(options);
337
+ rb_syserr_fail(EISDIR, source);
338
+ break;
339
+ default:
340
+ pm_options_free(options);
341
+ rb_raise(rb_eRuntimeError, "Unknown error (%d) initializing file: %s", result, source);
342
+ break;
343
+ }
344
+ }
345
+
346
+ #ifndef PRISM_EXCLUDE_SERIALIZATION
347
+
348
+ /******************************************************************************/
349
+ /* Serializing the AST */
350
+ /******************************************************************************/
351
+
352
+ /**
353
+ * Dump the AST corresponding to the given input to a string.
354
+ */
355
+ static VALUE
356
+ dump_input(pm_string_t *input, const pm_options_t *options) {
357
+ pm_buffer_t buffer;
358
+ if (!pm_buffer_init(&buffer)) {
359
+ rb_raise(rb_eNoMemError, "failed to allocate memory");
360
+ }
361
+
362
+ pm_parser_t parser;
363
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
364
+
365
+ pm_node_t *node = pm_parse(&parser);
366
+ pm_serialize(&parser, node, &buffer);
367
+
368
+ VALUE result = rb_str_new(pm_buffer_value(&buffer), pm_buffer_length(&buffer));
369
+ pm_node_destroy(&parser, node);
370
+ pm_buffer_free(&buffer);
371
+ pm_parser_free(&parser);
372
+
373
+ return result;
374
+ }
375
+
376
+ /**
377
+ * call-seq:
378
+ * Prism::dump(source, **options) -> String
379
+ *
380
+ * Dump the AST corresponding to the given string to a string. For supported
381
+ * options, see Prism::parse.
382
+ */
383
+ static VALUE
384
+ dump(int argc, VALUE *argv, VALUE self) {
385
+ pm_string_t input;
386
+ pm_options_t options = { 0 };
387
+ string_options(argc, argv, &input, &options);
388
+
389
+ #ifdef PRISM_BUILD_DEBUG
390
+ size_t length = pm_string_length(&input);
391
+ char* dup = xmalloc(length);
392
+ memcpy(dup, pm_string_source(&input), length);
393
+ pm_string_constant_init(&input, dup, length);
394
+ #endif
395
+
396
+ VALUE value = dump_input(&input, &options);
397
+ if (options.freeze) rb_obj_freeze(value);
398
+
399
+ #ifdef PRISM_BUILD_DEBUG
400
+ xfree(dup);
401
+ #endif
402
+
403
+ pm_string_free(&input);
404
+ pm_options_free(&options);
405
+
406
+ return value;
407
+ }
408
+
409
+ /**
410
+ * call-seq:
411
+ * Prism::dump_file(filepath, **options) -> String
412
+ *
413
+ * Dump the AST corresponding to the given file to a string. For supported
414
+ * options, see Prism::parse.
415
+ */
416
+ static VALUE
417
+ dump_file(int argc, VALUE *argv, VALUE self) {
418
+ pm_string_t input;
419
+ pm_options_t options = { 0 };
420
+
421
+ VALUE encoded_filepath;
422
+ file_options(argc, argv, &input, &options, &encoded_filepath);
423
+
424
+ VALUE value = dump_input(&input, &options);
425
+ pm_string_free(&input);
426
+ pm_options_free(&options);
427
+
428
+ return value;
429
+ }
430
+
431
+ #endif
432
+
433
+ /******************************************************************************/
434
+ /* Extracting values for the parse result */
435
+ /******************************************************************************/
436
+
437
+ /**
438
+ * The same as rb_class_new_instance, but accepts an additional boolean to
439
+ * indicate whether or not the resulting class instance should be frozen.
440
+ */
441
+ static inline VALUE
442
+ rb_class_new_instance_freeze(int argc, const VALUE *argv, VALUE klass, bool freeze) {
443
+ VALUE value = rb_class_new_instance(argc, argv, klass);
444
+ if (freeze) rb_obj_freeze(value);
445
+ return value;
446
+ }
447
+
448
+ /**
449
+ * Create a new Location instance from the given parser and bounds.
450
+ */
451
+ static inline VALUE
452
+ parser_location(const pm_parser_t *parser, VALUE source, bool freeze, const uint8_t *start, size_t length) {
453
+ VALUE argv[] = { source, LONG2FIX(start - parser->start), LONG2FIX(length) };
454
+ return rb_class_new_instance_freeze(3, argv, rb_cPrismLocation, freeze);
455
+ }
456
+
457
+ /**
458
+ * Create a new Location instance from the given parser and location.
459
+ */
460
+ #define PARSER_LOCATION_LOC(parser, source, freeze, loc) \
461
+ parser_location(parser, source, freeze, loc.start, (size_t) (loc.end - loc.start))
462
+
463
+ /**
464
+ * Build a new Comment instance from the given parser and comment.
465
+ */
466
+ static inline VALUE
467
+ parser_comment(const pm_parser_t *parser, VALUE source, bool freeze, const pm_comment_t *comment) {
468
+ VALUE argv[] = { PARSER_LOCATION_LOC(parser, source, freeze, comment->location) };
469
+ VALUE type = (comment->type == PM_COMMENT_EMBDOC) ? rb_cPrismEmbDocComment : rb_cPrismInlineComment;
470
+ return rb_class_new_instance_freeze(1, argv, type, freeze);
471
+ }
472
+
473
+ /**
474
+ * Extract the comments out of the parser into an array.
475
+ */
476
+ static VALUE
477
+ parser_comments(const pm_parser_t *parser, VALUE source, bool freeze) {
478
+ VALUE comments = rb_ary_new_capa(parser->comment_list.size);
479
+
480
+ for (
481
+ const pm_comment_t *comment = (const pm_comment_t *) parser->comment_list.head;
482
+ comment != NULL;
483
+ comment = (const pm_comment_t *) comment->node.next
484
+ ) {
485
+ VALUE value = parser_comment(parser, source, freeze, comment);
486
+ rb_ary_push(comments, value);
487
+ }
488
+
489
+ if (freeze) rb_obj_freeze(comments);
490
+ return comments;
491
+ }
492
+
493
+ /**
494
+ * Build a new MagicComment instance from the given parser and magic comment.
495
+ */
496
+ static inline VALUE
497
+ parser_magic_comment(const pm_parser_t *parser, VALUE source, bool freeze, const pm_magic_comment_t *magic_comment) {
498
+ VALUE key_loc = parser_location(parser, source, freeze, magic_comment->key_start, magic_comment->key_length);
499
+ VALUE value_loc = parser_location(parser, source, freeze, magic_comment->value_start, magic_comment->value_length);
500
+ VALUE argv[] = { key_loc, value_loc };
501
+ return rb_class_new_instance_freeze(2, argv, rb_cPrismMagicComment, freeze);
502
+ }
503
+
504
+ /**
505
+ * Extract the magic comments out of the parser into an array.
506
+ */
507
+ static VALUE
508
+ parser_magic_comments(const pm_parser_t *parser, VALUE source, bool freeze) {
509
+ VALUE magic_comments = rb_ary_new_capa(parser->magic_comment_list.size);
510
+
511
+ for (
512
+ const pm_magic_comment_t *magic_comment = (const pm_magic_comment_t *) parser->magic_comment_list.head;
513
+ magic_comment != NULL;
514
+ magic_comment = (const pm_magic_comment_t *) magic_comment->node.next
515
+ ) {
516
+ VALUE value = parser_magic_comment(parser, source, freeze, magic_comment);
517
+ rb_ary_push(magic_comments, value);
518
+ }
519
+
520
+ if (freeze) rb_obj_freeze(magic_comments);
521
+ return magic_comments;
522
+ }
523
+
524
+ /**
525
+ * Extract out the data location from the parser into a Location instance if one
526
+ * exists.
527
+ */
528
+ static VALUE
529
+ parser_data_loc(const pm_parser_t *parser, VALUE source, bool freeze) {
530
+ if (parser->data_loc.end == NULL) {
531
+ return Qnil;
532
+ } else {
533
+ return PARSER_LOCATION_LOC(parser, source, freeze, parser->data_loc);
534
+ }
535
+ }
536
+
537
+ /**
538
+ * Extract the errors out of the parser into an array.
539
+ */
540
+ static VALUE
541
+ parser_errors(const pm_parser_t *parser, rb_encoding *encoding, VALUE source, bool freeze) {
542
+ VALUE errors = rb_ary_new_capa(parser->error_list.size);
543
+
544
+ for (
545
+ const pm_diagnostic_t *error = (const pm_diagnostic_t *) parser->error_list.head;
546
+ error != NULL;
547
+ error = (const pm_diagnostic_t *) error->node.next
548
+ ) {
549
+ VALUE type = ID2SYM(rb_intern(pm_diagnostic_id_human(error->diag_id)));
550
+ VALUE message = rb_obj_freeze(rb_enc_str_new_cstr(error->message, encoding));
551
+ VALUE location = PARSER_LOCATION_LOC(parser, source, freeze, error->location);
552
+
553
+ VALUE level = Qnil;
554
+ switch (error->level) {
555
+ case PM_ERROR_LEVEL_SYNTAX:
556
+ level = ID2SYM(rb_intern("syntax"));
557
+ break;
558
+ case PM_ERROR_LEVEL_ARGUMENT:
559
+ level = ID2SYM(rb_intern("argument"));
560
+ break;
561
+ case PM_ERROR_LEVEL_LOAD:
562
+ level = ID2SYM(rb_intern("load"));
563
+ break;
564
+ default:
565
+ rb_raise(rb_eRuntimeError, "Unknown level: %" PRIu8, error->level);
566
+ }
567
+
568
+ VALUE argv[] = { type, message, location, level };
569
+ VALUE value = rb_class_new_instance_freeze(4, argv, rb_cPrismParseError, freeze);
570
+ rb_ary_push(errors, value);
571
+ }
572
+
573
+ if (freeze) rb_obj_freeze(errors);
574
+ return errors;
575
+ }
576
+
577
+ /**
578
+ * Extract the warnings out of the parser into an array.
579
+ */
580
+ static VALUE
581
+ parser_warnings(const pm_parser_t *parser, rb_encoding *encoding, VALUE source, bool freeze) {
582
+ VALUE warnings = rb_ary_new_capa(parser->warning_list.size);
583
+
584
+ for (
585
+ const pm_diagnostic_t *warning = (const pm_diagnostic_t *) parser->warning_list.head;
586
+ warning != NULL;
587
+ warning = (const pm_diagnostic_t *) warning->node.next
588
+ ) {
589
+ VALUE type = ID2SYM(rb_intern(pm_diagnostic_id_human(warning->diag_id)));
590
+ VALUE message = rb_obj_freeze(rb_enc_str_new_cstr(warning->message, encoding));
591
+ VALUE location = PARSER_LOCATION_LOC(parser, source, freeze, warning->location);
592
+
593
+ VALUE level = Qnil;
594
+ switch (warning->level) {
595
+ case PM_WARNING_LEVEL_DEFAULT:
596
+ level = ID2SYM(rb_intern("default"));
597
+ break;
598
+ case PM_WARNING_LEVEL_VERBOSE:
599
+ level = ID2SYM(rb_intern("verbose"));
600
+ break;
601
+ default:
602
+ rb_raise(rb_eRuntimeError, "Unknown level: %" PRIu8, warning->level);
603
+ }
604
+
605
+ VALUE argv[] = { type, message, location, level };
606
+ VALUE value = rb_class_new_instance_freeze(4, argv, rb_cPrismParseWarning, freeze);
607
+ rb_ary_push(warnings, value);
608
+ }
609
+
610
+ if (freeze) rb_obj_freeze(warnings);
611
+ return warnings;
612
+ }
613
+
614
+ /**
615
+ * Create a new parse result from the given parser, value, encoding, and source.
616
+ */
617
+ static VALUE
618
+ parse_result_create(VALUE class, const pm_parser_t *parser, VALUE value, rb_encoding *encoding, VALUE source, bool freeze) {
619
+ VALUE result_argv[] = {
620
+ value,
621
+ parser_comments(parser, source, freeze),
622
+ parser_magic_comments(parser, source, freeze),
623
+ parser_data_loc(parser, source, freeze),
624
+ parser_errors(parser, encoding, source, freeze),
625
+ parser_warnings(parser, encoding, source, freeze),
626
+ source
627
+ };
628
+
629
+ return rb_class_new_instance_freeze(7, result_argv, class, freeze);
630
+ }
631
+
632
+ /******************************************************************************/
633
+ /* Lexing Ruby code */
634
+ /******************************************************************************/
635
+
636
+ /**
637
+ * This struct gets stored in the parser and passed in to the lex callback any
638
+ * time a new token is found. We use it to store the necessary information to
639
+ * initialize a Token instance.
640
+ */
641
+ typedef struct {
642
+ VALUE source;
643
+ VALUE tokens;
644
+ rb_encoding *encoding;
645
+ bool freeze;
646
+ } parse_lex_data_t;
647
+
648
+ /**
649
+ * This is passed as a callback to the parser. It gets called every time a new
650
+ * token is found. Once found, we initialize a new instance of Token and push it
651
+ * onto the tokens array.
652
+ */
653
+ static void
654
+ parse_lex_token(void *data, pm_parser_t *parser, pm_token_t *token) {
655
+ parse_lex_data_t *parse_lex_data = (parse_lex_data_t *) parser->lex_callback->data;
656
+
657
+ VALUE value = pm_token_new(parser, token, parse_lex_data->encoding, parse_lex_data->source, parse_lex_data->freeze);
658
+ VALUE yields = rb_assoc_new(value, INT2FIX(parser->lex_state));
659
+
660
+ if (parse_lex_data->freeze) {
661
+ rb_obj_freeze(value);
662
+ rb_obj_freeze(yields);
663
+ }
664
+
665
+ rb_ary_push(parse_lex_data->tokens, yields);
666
+ }
667
+
668
+ /**
669
+ * This is called whenever the encoding changes based on the magic comment at
670
+ * the top of the file. We use it to update the encoding that we are using to
671
+ * create tokens.
672
+ */
673
+ static void
674
+ parse_lex_encoding_changed_callback(pm_parser_t *parser) {
675
+ parse_lex_data_t *parse_lex_data = (parse_lex_data_t *) parser->lex_callback->data;
676
+ parse_lex_data->encoding = rb_enc_find(parser->encoding->name);
677
+
678
+ // Since the encoding changed, we need to go back and change the encoding of
679
+ // the tokens that were already lexed. This is only going to end up being
680
+ // one or two tokens, since the encoding can only change at the top of the
681
+ // file.
682
+ VALUE tokens = parse_lex_data->tokens;
683
+ VALUE next_tokens = rb_ary_new();
684
+
685
+ for (long index = 0; index < RARRAY_LEN(tokens); index++) {
686
+ VALUE yields = rb_ary_entry(tokens, index);
687
+ VALUE token = rb_ary_entry(yields, 0);
688
+
689
+ VALUE value = rb_ivar_get(token, rb_intern("@value"));
690
+ VALUE next_value = rb_str_dup(value);
691
+
692
+ rb_enc_associate(next_value, parse_lex_data->encoding);
693
+ if (parse_lex_data->freeze) rb_obj_freeze(next_value);
694
+
695
+ VALUE next_token_argv[] = {
696
+ parse_lex_data->source,
697
+ rb_ivar_get(token, rb_intern("@type")),
698
+ next_value,
699
+ rb_ivar_get(token, rb_intern("@location"))
700
+ };
701
+
702
+ VALUE next_token = rb_class_new_instance(4, next_token_argv, rb_cPrismToken);
703
+ VALUE next_yields = rb_assoc_new(next_token, rb_ary_entry(yields, 1));
704
+
705
+ if (parse_lex_data->freeze) {
706
+ rb_obj_freeze(next_token);
707
+ rb_obj_freeze(next_yields);
708
+ }
709
+
710
+ rb_ary_push(next_tokens, next_yields);
711
+ }
712
+
713
+ rb_ary_replace(parse_lex_data->tokens, next_tokens);
714
+ }
715
+
716
+ /**
717
+ * Parse the given input and return a ParseResult containing just the tokens or
718
+ * the nodes and tokens.
719
+ */
720
+ static VALUE
721
+ parse_lex_input(pm_string_t *input, const pm_options_t *options, bool return_nodes) {
722
+ pm_parser_t parser;
723
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
724
+ pm_parser_register_encoding_changed_callback(&parser, parse_lex_encoding_changed_callback);
725
+
726
+ VALUE source_string = rb_str_new((const char *) pm_string_source(input), pm_string_length(input));
727
+ VALUE offsets = rb_ary_new_capa(parser.newline_list.size);
728
+ VALUE source = rb_funcall(rb_cPrismSource, rb_id_source_for, 3, source_string, LONG2NUM(parser.start_line), offsets);
729
+
730
+ parse_lex_data_t parse_lex_data = {
731
+ .source = source,
732
+ .tokens = rb_ary_new(),
733
+ .encoding = rb_utf8_encoding(),
734
+ .freeze = options->freeze,
735
+ };
736
+
737
+ parse_lex_data_t *data = &parse_lex_data;
738
+ pm_lex_callback_t lex_callback = (pm_lex_callback_t) {
739
+ .data = (void *) data,
740
+ .callback = parse_lex_token,
741
+ };
742
+
743
+ parser.lex_callback = &lex_callback;
744
+ pm_node_t *node = pm_parse(&parser);
745
+
746
+ // Here we need to update the Source object to have the correct
747
+ // encoding for the source string and the correct newline offsets.
748
+ // We do it here because we've already created the Source object and given
749
+ // it over to all of the tokens, and both of these are only set after pm_parse().
750
+ rb_encoding *encoding = rb_enc_find(parser.encoding->name);
751
+ rb_enc_associate(source_string, encoding);
752
+
753
+ for (size_t index = 0; index < parser.newline_list.size; index++) {
754
+ rb_ary_push(offsets, ULONG2NUM(parser.newline_list.offsets[index]));
755
+ }
756
+
757
+ if (options->freeze) {
758
+ rb_obj_freeze(source_string);
759
+ rb_obj_freeze(offsets);
760
+ rb_obj_freeze(source);
761
+ rb_obj_freeze(parse_lex_data.tokens);
762
+ }
763
+
764
+ VALUE result;
765
+ if (return_nodes) {
766
+ VALUE value = rb_ary_new_capa(2);
767
+ rb_ary_push(value, pm_ast_new(&parser, node, parse_lex_data.encoding, source, options->freeze));
768
+ rb_ary_push(value, parse_lex_data.tokens);
769
+ if (options->freeze) rb_obj_freeze(value);
770
+ result = parse_result_create(rb_cPrismParseLexResult, &parser, value, parse_lex_data.encoding, source, options->freeze);
771
+ } else {
772
+ result = parse_result_create(rb_cPrismLexResult, &parser, parse_lex_data.tokens, parse_lex_data.encoding, source, options->freeze);
773
+ }
774
+
775
+ pm_node_destroy(&parser, node);
776
+ pm_parser_free(&parser);
777
+
778
+ return result;
779
+ }
780
+
781
+ /**
782
+ * call-seq:
783
+ * Prism::lex(source, **options) -> LexResult
784
+ *
785
+ * Return a LexResult instance that contains an array of Token instances
786
+ * corresponding to the given string. For supported options, see Prism::parse.
787
+ */
788
+ static VALUE
789
+ lex(int argc, VALUE *argv, VALUE self) {
790
+ pm_string_t input;
791
+ pm_options_t options = { 0 };
792
+ string_options(argc, argv, &input, &options);
793
+
794
+ VALUE result = parse_lex_input(&input, &options, false);
795
+ pm_string_free(&input);
796
+ pm_options_free(&options);
797
+
798
+ return result;
799
+ }
800
+
801
+ /**
802
+ * call-seq:
803
+ * Prism::lex_file(filepath, **options) -> LexResult
804
+ *
805
+ * Return a LexResult instance that contains an array of Token instances
806
+ * corresponding to the given file. For supported options, see Prism::parse.
807
+ */
808
+ static VALUE
809
+ lex_file(int argc, VALUE *argv, VALUE self) {
810
+ pm_string_t input;
811
+ pm_options_t options = { 0 };
812
+
813
+ VALUE encoded_filepath;
814
+ file_options(argc, argv, &input, &options, &encoded_filepath);
815
+
816
+ VALUE value = parse_lex_input(&input, &options, false);
817
+ pm_string_free(&input);
818
+ pm_options_free(&options);
819
+
820
+ return value;
821
+ }
822
+
823
+ /******************************************************************************/
824
+ /* Parsing Ruby code */
825
+ /******************************************************************************/
826
+
827
+ /**
828
+ * Parse the given input and return a ParseResult instance.
829
+ */
830
+ static VALUE
831
+ parse_input(pm_string_t *input, const pm_options_t *options) {
832
+ pm_parser_t parser;
833
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
834
+
835
+ pm_node_t *node = pm_parse(&parser);
836
+ rb_encoding *encoding = rb_enc_find(parser.encoding->name);
837
+
838
+ VALUE source = pm_source_new(&parser, encoding, options->freeze);
839
+ VALUE value = pm_ast_new(&parser, node, encoding, source, options->freeze);
840
+ VALUE result = parse_result_create(rb_cPrismParseResult, &parser, value, encoding, source, options->freeze);
841
+
842
+ if (options->freeze) {
843
+ rb_obj_freeze(source);
844
+ }
845
+
846
+ pm_node_destroy(&parser, node);
847
+ pm_parser_free(&parser);
848
+
849
+ return result;
850
+ }
851
+
852
+ /**
853
+ * call-seq:
854
+ * Prism::parse(source, **options) -> ParseResult
855
+ *
856
+ * Parse the given string and return a ParseResult instance. The options that
857
+ * are supported are:
858
+ *
859
+ * * `command_line` - either nil or a string of the various options that were
860
+ * set on the command line. Valid values are combinations of "a", "l",
861
+ * "n", "p", and "x".
862
+ * * `encoding` - the encoding of the source being parsed. This should be an
863
+ * encoding or nil.
864
+ * * `filepath` - the filepath of the source being parsed. This should be a
865
+ * string or nil.
866
+ * * `freeze` - whether or not to deeply freeze the AST. This should be a
867
+ * boolean or nil.
868
+ * * `frozen_string_literal` - whether or not the frozen string literal pragma
869
+ * has been set. This should be a boolean or nil.
870
+ * * `line` - the line number that the parse starts on. This should be an
871
+ * integer or nil. Note that this is 1-indexed.
872
+ * * `main_script` - a boolean indicating whether or not the source being parsed
873
+ * is the main script being run by the interpreter. This controls whether
874
+ * or not shebangs are parsed for additional flags and whether or not the
875
+ * parser will attempt to find a matching shebang if the first one does
876
+ * not contain the word "ruby".
877
+ * * `partial_script` - when the file being parsed is considered a "partial"
878
+ * script, jumps will not be marked as errors if they are not contained
879
+ * within loops/blocks. This is used in the case that you're parsing a
880
+ * script that you know will be embedded inside another script later, but
881
+ * you do not have that context yet. For example, when parsing an ERB
882
+ * template that will be evaluated inside another script.
883
+ * * `scopes` - the locals that are in scope surrounding the code that is being
884
+ * parsed. This should be an array of arrays of symbols or nil. Scopes are
885
+ * ordered from the outermost scope to the innermost one.
886
+ * * `version` - the version of Ruby syntax that prism should used to parse Ruby
887
+ * code. By default prism assumes you want to parse with the latest
888
+ * version of Ruby syntax (which you can trigger with `nil` or
889
+ * `"latest"`). You may also restrict the syntax to a specific version of
890
+ * Ruby, e.g., with `"3.3.0"`. To parse with the same syntax version that
891
+ * the current Ruby is running use `version: RUBY_VERSION`. Raises
892
+ * ArgumentError if the version is not currently supported by Prism.
893
+ */
894
+ static VALUE
895
+ parse(int argc, VALUE *argv, VALUE self) {
896
+ pm_string_t input;
897
+ pm_options_t options = { 0 };
898
+ string_options(argc, argv, &input, &options);
899
+
900
+ #ifdef PRISM_BUILD_DEBUG
901
+ size_t length = pm_string_length(&input);
902
+ char* dup = xmalloc(length);
903
+ memcpy(dup, pm_string_source(&input), length);
904
+ pm_string_constant_init(&input, dup, length);
905
+ #endif
906
+
907
+ VALUE value = parse_input(&input, &options);
908
+
909
+ #ifdef PRISM_BUILD_DEBUG
910
+ xfree(dup);
911
+ #endif
912
+
913
+ pm_string_free(&input);
914
+ pm_options_free(&options);
915
+ return value;
916
+ }
917
+
918
+ /**
919
+ * call-seq:
920
+ * Prism::parse_file(filepath, **options) -> ParseResult
921
+ *
922
+ * Parse the given file and return a ParseResult instance. For supported
923
+ * options, see Prism::parse.
924
+ */
925
+ static VALUE
926
+ parse_file(int argc, VALUE *argv, VALUE self) {
927
+ pm_string_t input;
928
+ pm_options_t options = { 0 };
929
+
930
+ VALUE encoded_filepath;
931
+ file_options(argc, argv, &input, &options, &encoded_filepath);
932
+
933
+ VALUE value = parse_input(&input, &options);
934
+ pm_string_free(&input);
935
+ pm_options_free(&options);
936
+
937
+ return value;
938
+ }
939
+
940
+ /**
941
+ * Parse the given input and return nothing.
942
+ */
943
+ static void
944
+ profile_input(pm_string_t *input, const pm_options_t *options) {
945
+ pm_parser_t parser;
946
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
947
+
948
+ pm_node_t *node = pm_parse(&parser);
949
+ pm_node_destroy(&parser, node);
950
+ pm_parser_free(&parser);
951
+ }
952
+
953
+ /**
954
+ * call-seq:
955
+ * Prism::profile(source, **options) -> nil
956
+ *
957
+ * Parse the given string and return nothing. This method is meant to allow
958
+ * profilers to avoid the overhead of reifying the AST to Ruby. For supported
959
+ * options, see Prism::parse.
960
+ */
961
+ static VALUE
962
+ profile(int argc, VALUE *argv, VALUE self) {
963
+ pm_string_t input;
964
+ pm_options_t options = { 0 };
965
+
966
+ string_options(argc, argv, &input, &options);
967
+ profile_input(&input, &options);
968
+ pm_string_free(&input);
969
+ pm_options_free(&options);
970
+
971
+ return Qnil;
972
+ }
973
+
974
+ /**
975
+ * call-seq:
976
+ * Prism::profile_file(filepath, **options) -> nil
977
+ *
978
+ * Parse the given file and return nothing. This method is meant to allow
979
+ * profilers to avoid the overhead of reifying the AST to Ruby. For supported
980
+ * options, see Prism::parse.
981
+ */
982
+ static VALUE
983
+ profile_file(int argc, VALUE *argv, VALUE self) {
984
+ pm_string_t input;
985
+ pm_options_t options = { 0 };
986
+
987
+ VALUE encoded_filepath;
988
+ file_options(argc, argv, &input, &options, &encoded_filepath);
989
+
990
+ profile_input(&input, &options);
991
+ pm_string_free(&input);
992
+ pm_options_free(&options);
993
+
994
+ return Qnil;
995
+ }
996
+
997
+ static int
998
+ parse_stream_eof(void *stream) {
999
+ if (rb_funcall((VALUE) stream, rb_intern("eof?"), 0)) {
1000
+ return 1;
1001
+ }
1002
+ return 0;
1003
+ }
1004
+
1005
+ /**
1006
+ * An implementation of fgets that is suitable for use with Ruby IO objects.
1007
+ */
1008
+ static char *
1009
+ parse_stream_fgets(char *string, int size, void *stream) {
1010
+ RUBY_ASSERT(size > 0);
1011
+
1012
+ VALUE line = rb_funcall((VALUE) stream, rb_intern("gets"), 1, INT2FIX(size - 1));
1013
+ if (NIL_P(line)) {
1014
+ return NULL;
1015
+ }
1016
+
1017
+ const char *cstr = RSTRING_PTR(line);
1018
+ long length = RSTRING_LEN(line);
1019
+
1020
+ memcpy(string, cstr, length);
1021
+ string[length] = '\0';
1022
+
1023
+ return string;
1024
+ }
1025
+
1026
+ /**
1027
+ * call-seq:
1028
+ * Prism::parse_stream(stream, **options) -> ParseResult
1029
+ *
1030
+ * Parse the given object that responds to `gets` and return a ParseResult
1031
+ * instance. The options that are supported are the same as Prism::parse.
1032
+ */
1033
+ static VALUE
1034
+ parse_stream(int argc, VALUE *argv, VALUE self) {
1035
+ VALUE stream;
1036
+ VALUE keywords;
1037
+ rb_scan_args(argc, argv, "1:", &stream, &keywords);
1038
+
1039
+ pm_options_t options = { 0 };
1040
+ extract_options(&options, Qnil, keywords);
1041
+
1042
+ pm_parser_t parser;
1043
+ pm_buffer_t buffer;
1044
+
1045
+ pm_node_t *node = pm_parse_stream(&parser, &buffer, (void *) stream, parse_stream_fgets, parse_stream_eof, &options);
1046
+ rb_encoding *encoding = rb_enc_find(parser.encoding->name);
1047
+
1048
+ VALUE source = pm_source_new(&parser, encoding, options.freeze);
1049
+ VALUE value = pm_ast_new(&parser, node, encoding, source, options.freeze);
1050
+ VALUE result = parse_result_create(rb_cPrismParseResult, &parser, value, encoding, source, options.freeze);
1051
+
1052
+ pm_node_destroy(&parser, node);
1053
+ pm_buffer_free(&buffer);
1054
+ pm_parser_free(&parser);
1055
+
1056
+ return result;
1057
+ }
1058
+
1059
+ /**
1060
+ * Parse the given input and return an array of Comment objects.
1061
+ */
1062
+ static VALUE
1063
+ parse_input_comments(pm_string_t *input, const pm_options_t *options) {
1064
+ pm_parser_t parser;
1065
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
1066
+
1067
+ pm_node_t *node = pm_parse(&parser);
1068
+ rb_encoding *encoding = rb_enc_find(parser.encoding->name);
1069
+
1070
+ VALUE source = pm_source_new(&parser, encoding, options->freeze);
1071
+ VALUE comments = parser_comments(&parser, source, options->freeze);
1072
+
1073
+ pm_node_destroy(&parser, node);
1074
+ pm_parser_free(&parser);
1075
+
1076
+ return comments;
1077
+ }
1078
+
1079
+ /**
1080
+ * call-seq:
1081
+ * Prism::parse_comments(source, **options) -> Array
1082
+ *
1083
+ * Parse the given string and return an array of Comment objects. For supported
1084
+ * options, see Prism::parse.
1085
+ */
1086
+ static VALUE
1087
+ parse_comments(int argc, VALUE *argv, VALUE self) {
1088
+ pm_string_t input;
1089
+ pm_options_t options = { 0 };
1090
+ string_options(argc, argv, &input, &options);
1091
+
1092
+ VALUE result = parse_input_comments(&input, &options);
1093
+ pm_string_free(&input);
1094
+ pm_options_free(&options);
1095
+
1096
+ return result;
1097
+ }
1098
+
1099
+ /**
1100
+ * call-seq:
1101
+ * Prism::parse_file_comments(filepath, **options) -> Array
1102
+ *
1103
+ * Parse the given file and return an array of Comment objects. For supported
1104
+ * options, see Prism::parse.
1105
+ */
1106
+ static VALUE
1107
+ parse_file_comments(int argc, VALUE *argv, VALUE self) {
1108
+ pm_string_t input;
1109
+ pm_options_t options = { 0 };
1110
+
1111
+ VALUE encoded_filepath;
1112
+ file_options(argc, argv, &input, &options, &encoded_filepath);
1113
+
1114
+ VALUE value = parse_input_comments(&input, &options);
1115
+ pm_string_free(&input);
1116
+ pm_options_free(&options);
1117
+
1118
+ return value;
1119
+ }
1120
+
1121
+ /**
1122
+ * call-seq:
1123
+ * Prism::parse_lex(source, **options) -> ParseLexResult
1124
+ *
1125
+ * Parse the given string and return a ParseLexResult instance that contains a
1126
+ * 2-element array, where the first element is the AST and the second element is
1127
+ * an array of Token instances.
1128
+ *
1129
+ * This API is only meant to be used in the case where you need both the AST and
1130
+ * the tokens. If you only need one or the other, use either Prism::parse or
1131
+ * Prism::lex.
1132
+ *
1133
+ * For supported options, see Prism::parse.
1134
+ */
1135
+ static VALUE
1136
+ parse_lex(int argc, VALUE *argv, VALUE self) {
1137
+ pm_string_t input;
1138
+ pm_options_t options = { 0 };
1139
+ string_options(argc, argv, &input, &options);
1140
+
1141
+ VALUE value = parse_lex_input(&input, &options, true);
1142
+ pm_string_free(&input);
1143
+ pm_options_free(&options);
1144
+
1145
+ return value;
1146
+ }
1147
+
1148
+ /**
1149
+ * call-seq:
1150
+ * Prism::parse_lex_file(filepath, **options) -> ParseLexResult
1151
+ *
1152
+ * Parse the given file and return a ParseLexResult instance that contains a
1153
+ * 2-element array, where the first element is the AST and the second element is
1154
+ * an array of Token instances.
1155
+ *
1156
+ * This API is only meant to be used in the case where you need both the AST and
1157
+ * the tokens. If you only need one or the other, use either Prism::parse_file
1158
+ * or Prism::lex_file.
1159
+ *
1160
+ * For supported options, see Prism::parse.
1161
+ */
1162
+ static VALUE
1163
+ parse_lex_file(int argc, VALUE *argv, VALUE self) {
1164
+ pm_string_t input;
1165
+ pm_options_t options = { 0 };
1166
+
1167
+ VALUE encoded_filepath;
1168
+ file_options(argc, argv, &input, &options, &encoded_filepath);
1169
+
1170
+ VALUE value = parse_lex_input(&input, &options, true);
1171
+ pm_string_free(&input);
1172
+ pm_options_free(&options);
1173
+
1174
+ return value;
1175
+ }
1176
+
1177
+ /**
1178
+ * Parse the given input and return true if it parses without errors.
1179
+ */
1180
+ static VALUE
1181
+ parse_input_success_p(pm_string_t *input, const pm_options_t *options) {
1182
+ pm_parser_t parser;
1183
+ pm_parser_init(&parser, pm_string_source(input), pm_string_length(input), options);
1184
+
1185
+ pm_node_t *node = pm_parse(&parser);
1186
+ pm_node_destroy(&parser, node);
1187
+
1188
+ VALUE result = parser.error_list.size == 0 ? Qtrue : Qfalse;
1189
+ pm_parser_free(&parser);
1190
+
1191
+ return result;
1192
+ }
1193
+
1194
+ /**
1195
+ * call-seq:
1196
+ * Prism::parse_success?(source, **options) -> bool
1197
+ *
1198
+ * Parse the given string and return true if it parses without errors. For
1199
+ * supported options, see Prism::parse.
1200
+ */
1201
+ static VALUE
1202
+ parse_success_p(int argc, VALUE *argv, VALUE self) {
1203
+ pm_string_t input;
1204
+ pm_options_t options = { 0 };
1205
+ string_options(argc, argv, &input, &options);
1206
+
1207
+ VALUE result = parse_input_success_p(&input, &options);
1208
+ pm_string_free(&input);
1209
+ pm_options_free(&options);
1210
+
1211
+ return result;
1212
+ }
1213
+
1214
+ /**
1215
+ * call-seq:
1216
+ * Prism::parse_failure?(source, **options) -> bool
1217
+ *
1218
+ * Parse the given string and return true if it parses with errors. For
1219
+ * supported options, see Prism::parse.
1220
+ */
1221
+ static VALUE
1222
+ parse_failure_p(int argc, VALUE *argv, VALUE self) {
1223
+ return RTEST(parse_success_p(argc, argv, self)) ? Qfalse : Qtrue;
1224
+ }
1225
+
1226
+ /**
1227
+ * call-seq:
1228
+ * Prism::parse_file_success?(filepath, **options) -> bool
1229
+ *
1230
+ * Parse the given file and return true if it parses without errors. For
1231
+ * supported options, see Prism::parse.
1232
+ */
1233
+ static VALUE
1234
+ parse_file_success_p(int argc, VALUE *argv, VALUE self) {
1235
+ pm_string_t input;
1236
+ pm_options_t options = { 0 };
1237
+
1238
+ VALUE encoded_filepath;
1239
+ file_options(argc, argv, &input, &options, &encoded_filepath);
1240
+
1241
+ VALUE result = parse_input_success_p(&input, &options);
1242
+ pm_string_free(&input);
1243
+ pm_options_free(&options);
1244
+
1245
+ return result;
1246
+ }
1247
+
1248
+ /**
1249
+ * call-seq:
1250
+ * Prism::parse_file_failure?(filepath, **options) -> bool
1251
+ *
1252
+ * Parse the given file and return true if it parses with errors. For
1253
+ * supported options, see Prism::parse.
1254
+ */
1255
+ static VALUE
1256
+ parse_file_failure_p(int argc, VALUE *argv, VALUE self) {
1257
+ return RTEST(parse_file_success_p(argc, argv, self)) ? Qfalse : Qtrue;
1258
+ }
1259
+
1260
+ /******************************************************************************/
1261
+ /* String query methods */
1262
+ /******************************************************************************/
1263
+
1264
+ /**
1265
+ * Process the result of a call to a string query method and return an
1266
+ * appropriate value.
1267
+ */
1268
+ static VALUE
1269
+ string_query(pm_string_query_t result) {
1270
+ switch (result) {
1271
+ case PM_STRING_QUERY_ERROR:
1272
+ rb_raise(rb_eArgError, "Invalid or non ascii-compatible encoding");
1273
+ return Qfalse;
1274
+ case PM_STRING_QUERY_FALSE:
1275
+ return Qfalse;
1276
+ case PM_STRING_QUERY_TRUE:
1277
+ return Qtrue;
1278
+ }
1279
+ return Qfalse;
1280
+ }
1281
+
1282
+ /**
1283
+ * call-seq:
1284
+ * Prism::StringQuery::local?(string) -> bool
1285
+ *
1286
+ * Returns true if the string constitutes a valid local variable name. Note that
1287
+ * this means the names that can be set through Binding#local_variable_set, not
1288
+ * necessarily the ones that can be set through a local variable assignment.
1289
+ */
1290
+ static VALUE
1291
+ string_query_local_p(VALUE self, VALUE string) {
1292
+ const uint8_t *source = (const uint8_t *) check_string(string);
1293
+ return string_query(pm_string_query_local(source, RSTRING_LEN(string), rb_enc_get(string)->name));
1294
+ }
1295
+
1296
+ /**
1297
+ * call-seq:
1298
+ * Prism::StringQuery::constant?(string) -> bool
1299
+ *
1300
+ * Returns true if the string constitutes a valid constant name. Note that this
1301
+ * means the names that can be set through Module#const_set, not necessarily the
1302
+ * ones that can be set through a constant assignment.
1303
+ */
1304
+ static VALUE
1305
+ string_query_constant_p(VALUE self, VALUE string) {
1306
+ const uint8_t *source = (const uint8_t *) check_string(string);
1307
+ return string_query(pm_string_query_constant(source, RSTRING_LEN(string), rb_enc_get(string)->name));
1308
+ }
1309
+
1310
+ /**
1311
+ * call-seq:
1312
+ * Prism::StringQuery::method_name?(string) -> bool
1313
+ *
1314
+ * Returns true if the string constitutes a valid method name.
1315
+ */
1316
+ static VALUE
1317
+ string_query_method_name_p(VALUE self, VALUE string) {
1318
+ const uint8_t *source = (const uint8_t *) check_string(string);
1319
+ return string_query(pm_string_query_method_name(source, RSTRING_LEN(string), rb_enc_get(string)->name));
1320
+ }
1321
+
1322
+ /******************************************************************************/
1323
+ /* Initialization of the extension */
1324
+ /******************************************************************************/
1325
+
1326
+ /**
1327
+ * The init function that Ruby calls when loading this extension.
1328
+ */
1329
+ RUBY_FUNC_EXPORTED void
1330
+ Init_prism(void) {
1331
+ // Make sure that the prism library version matches the expected version.
1332
+ // Otherwise something was compiled incorrectly.
1333
+ if (strcmp(pm_version(), EXPECTED_PRISM_VERSION) != 0) {
1334
+ rb_raise(
1335
+ rb_eRuntimeError,
1336
+ "The prism library version (%s) does not match the expected version (%s)",
1337
+ pm_version(),
1338
+ EXPECTED_PRISM_VERSION
1339
+ );
1340
+ }
1341
+
1342
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
1343
+ // Mark this extension as Ractor-safe.
1344
+ rb_ext_ractor_safe(true);
1345
+ #endif
1346
+
1347
+ // Grab up references to all of the constants that we're going to need to
1348
+ // reference throughout this extension.
1349
+ rb_cPrism = rb_define_module("Prism");
1350
+ rb_cPrismNode = rb_define_class_under(rb_cPrism, "Node", rb_cObject);
1351
+ rb_cPrismSource = rb_define_class_under(rb_cPrism, "Source", rb_cObject);
1352
+ rb_cPrismToken = rb_define_class_under(rb_cPrism, "Token", rb_cObject);
1353
+ rb_cPrismLocation = rb_define_class_under(rb_cPrism, "Location", rb_cObject);
1354
+ rb_cPrismComment = rb_define_class_under(rb_cPrism, "Comment", rb_cObject);
1355
+ rb_cPrismInlineComment = rb_define_class_under(rb_cPrism, "InlineComment", rb_cPrismComment);
1356
+ rb_cPrismEmbDocComment = rb_define_class_under(rb_cPrism, "EmbDocComment", rb_cPrismComment);
1357
+ rb_cPrismMagicComment = rb_define_class_under(rb_cPrism, "MagicComment", rb_cObject);
1358
+ rb_cPrismParseError = rb_define_class_under(rb_cPrism, "ParseError", rb_cObject);
1359
+ rb_cPrismParseWarning = rb_define_class_under(rb_cPrism, "ParseWarning", rb_cObject);
1360
+ rb_cPrismResult = rb_define_class_under(rb_cPrism, "Result", rb_cObject);
1361
+ rb_cPrismParseResult = rb_define_class_under(rb_cPrism, "ParseResult", rb_cPrismResult);
1362
+ rb_cPrismLexResult = rb_define_class_under(rb_cPrism, "LexResult", rb_cPrismResult);
1363
+ rb_cPrismParseLexResult = rb_define_class_under(rb_cPrism, "ParseLexResult", rb_cPrismResult);
1364
+ rb_cPrismStringQuery = rb_define_class_under(rb_cPrism, "StringQuery", rb_cObject);
1365
+ rb_cPrismScope = rb_define_class_under(rb_cPrism, "Scope", rb_cObject);
1366
+
1367
+ // Intern all of the IDs eagerly that we support so that we don't have to do
1368
+ // it every time we parse.
1369
+ rb_id_option_command_line = rb_intern_const("command_line");
1370
+ rb_id_option_encoding = rb_intern_const("encoding");
1371
+ rb_id_option_filepath = rb_intern_const("filepath");
1372
+ rb_id_option_freeze = rb_intern_const("freeze");
1373
+ rb_id_option_frozen_string_literal = rb_intern_const("frozen_string_literal");
1374
+ rb_id_option_line = rb_intern_const("line");
1375
+ rb_id_option_main_script = rb_intern_const("main_script");
1376
+ rb_id_option_partial_script = rb_intern_const("partial_script");
1377
+ rb_id_option_scopes = rb_intern_const("scopes");
1378
+ rb_id_option_version = rb_intern_const("version");
1379
+ rb_id_source_for = rb_intern("for");
1380
+ rb_id_forwarding_positionals = rb_intern("*");
1381
+ rb_id_forwarding_keywords = rb_intern("**");
1382
+ rb_id_forwarding_block = rb_intern("&");
1383
+ rb_id_forwarding_all = rb_intern("...");
1384
+
1385
+ /**
1386
+ * The version of the prism library.
1387
+ */
1388
+ rb_define_const(rb_cPrism, "VERSION", rb_str_freeze(rb_str_new_cstr(EXPECTED_PRISM_VERSION)));
1389
+
1390
+ // First, the functions that have to do with lexing and parsing.
1391
+ rb_define_singleton_method(rb_cPrism, "lex", lex, -1);
1392
+ rb_define_singleton_method(rb_cPrism, "lex_file", lex_file, -1);
1393
+ rb_define_singleton_method(rb_cPrism, "parse", parse, -1);
1394
+ rb_define_singleton_method(rb_cPrism, "parse_file", parse_file, -1);
1395
+ rb_define_singleton_method(rb_cPrism, "profile", profile, -1);
1396
+ rb_define_singleton_method(rb_cPrism, "profile_file", profile_file, -1);
1397
+ rb_define_singleton_method(rb_cPrism, "parse_stream", parse_stream, -1);
1398
+ rb_define_singleton_method(rb_cPrism, "parse_comments", parse_comments, -1);
1399
+ rb_define_singleton_method(rb_cPrism, "parse_file_comments", parse_file_comments, -1);
1400
+ rb_define_singleton_method(rb_cPrism, "parse_lex", parse_lex, -1);
1401
+ rb_define_singleton_method(rb_cPrism, "parse_lex_file", parse_lex_file, -1);
1402
+ rb_define_singleton_method(rb_cPrism, "parse_success?", parse_success_p, -1);
1403
+ rb_define_singleton_method(rb_cPrism, "parse_failure?", parse_failure_p, -1);
1404
+ rb_define_singleton_method(rb_cPrism, "parse_file_success?", parse_file_success_p, -1);
1405
+ rb_define_singleton_method(rb_cPrism, "parse_file_failure?", parse_file_failure_p, -1);
1406
+
1407
+ #ifndef PRISM_EXCLUDE_SERIALIZATION
1408
+ rb_define_singleton_method(rb_cPrism, "dump", dump, -1);
1409
+ rb_define_singleton_method(rb_cPrism, "dump_file", dump_file, -1);
1410
+ #endif
1411
+
1412
+ rb_define_singleton_method(rb_cPrismStringQuery, "local?", string_query_local_p, 1);
1413
+ rb_define_singleton_method(rb_cPrismStringQuery, "constant?", string_query_constant_p, 1);
1414
+ rb_define_singleton_method(rb_cPrismStringQuery, "method_name?", string_query_method_name_p, 1);
1415
+
1416
+ // Next, initialize the other APIs.
1417
+ Init_prism_api_node();
1418
+ Init_prism_pack();
1419
+ }