tree_haver 7.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/LICENSE.md +13 -0
  4. data/README.md +1959 -0
  5. data/lib/tree_haver/backend_api.rb +392 -0
  6. data/lib/tree_haver/backend_registry.rb +153 -3
  7. data/lib/tree_haver/backends/citrus.rb +489 -0
  8. data/lib/tree_haver/backends/ffi.rb +1013 -0
  9. data/lib/tree_haver/backends/java.rb +909 -0
  10. data/lib/tree_haver/backends/mri.rb +367 -0
  11. data/lib/tree_haver/backends/parslet.rb +565 -0
  12. data/lib/tree_haver/backends/prism.rb +568 -0
  13. data/lib/tree_haver/backends/psych.rb +379 -0
  14. data/lib/tree_haver/backends/rust.rb +243 -0
  15. data/lib/tree_haver/backends/tslp.rb +274 -0
  16. data/lib/tree_haver/base/comment.rb +320 -0
  17. data/lib/tree_haver/base/language.rb +98 -0
  18. data/lib/tree_haver/base/node.rb +330 -0
  19. data/lib/tree_haver/base/parser.rb +28 -0
  20. data/lib/tree_haver/base/point.rb +48 -0
  21. data/lib/tree_haver/base/tree.rb +128 -0
  22. data/lib/tree_haver/citrus_grammar_finder.rb +213 -0
  23. data/lib/tree_haver/contracts.rb +661 -96
  24. data/lib/tree_haver/grammar_finder.rb +429 -0
  25. data/lib/tree_haver/kaitai_backend.rb +2 -2
  26. data/lib/tree_haver/language.rb +294 -0
  27. data/lib/tree_haver/language_pack.rb +17 -166
  28. data/lib/tree_haver/language_registry.rb +221 -0
  29. data/lib/tree_haver/library_path_utils.rb +80 -0
  30. data/lib/tree_haver/node.rb +588 -0
  31. data/lib/tree_haver/parser.rb +445 -0
  32. data/lib/tree_haver/parslet_grammar_finder.rb +217 -0
  33. data/lib/tree_haver/path_validator.rb +356 -0
  34. data/lib/tree_haver/peg_backends.rb +7 -7
  35. data/lib/tree_haver/point.rb +27 -0
  36. data/lib/tree_haver/rspec/dependency_tags.rb +52 -0
  37. data/lib/tree_haver/rspec.rb +3 -0
  38. data/lib/tree_haver/tree.rb +267 -0
  39. data/lib/tree_haver/version.rb +5 -3
  40. data/lib/tree_haver.rb +613 -8
  41. data/sig/tree_haver.rbs +6 -0
  42. data.tar.gz.sig +0 -0
  43. metadata +314 -13
  44. metadata.gz.sig +0 -0
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tree_haver
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
8
- bindir: bin
8
+ bindir: exe
9
9
  cert_chain:
10
10
  - |
11
11
  -----BEGIN CERTIFICATE-----
@@ -67,49 +67,349 @@ dependencies:
67
67
  version: '2.0'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: tree_sitter_language_pack
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.13.2
75
+ - - "<"
76
+ - !ruby/object:Gem::Version
77
+ version: '2.0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 1.13.2
85
+ - - "<"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.0'
88
+ - !ruby/object:Gem::Dependency
89
+ name: version_gem
70
90
  requirement: !ruby/object:Gem::Requirement
71
91
  requirements:
72
92
  - - "~>"
73
93
  - !ruby/object:Gem::Version
74
- version: '1.6'
94
+ version: '1.1'
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 1.1.15
75
98
  type: :runtime
76
99
  prerelease: false
77
100
  version_requirements: !ruby/object:Gem::Requirement
78
101
  requirements:
79
102
  - - "~>"
80
103
  - !ruby/object:Gem::Version
81
- version: '1.6'
82
- description: Backend registry, parser request/result contracts, and tree-sitter language-pack
83
- integration for Structured Merge.
104
+ version: '1.1'
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 1.1.15
108
+ - !ruby/object:Gem::Dependency
109
+ name: kettle-dev
110
+ requirement: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - "~>"
113
+ - !ruby/object:Gem::Version
114
+ version: '2.5'
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 2.5.17
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '2.5'
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: 2.5.17
128
+ - !ruby/object:Gem::Dependency
129
+ name: bundler-audit
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: 0.9.3
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: 0.9.3
142
+ - !ruby/object:Gem::Dependency
143
+ name: rake
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '13.0'
149
+ type: :development
150
+ prerelease: false
151
+ version_requirements: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: '13.0'
156
+ - !ruby/object:Gem::Dependency
157
+ name: require_bench
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: '1.0'
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 1.0.4
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '1.0'
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: 1.0.4
176
+ - !ruby/object:Gem::Dependency
177
+ name: anonymous_loader
178
+ requirement: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.1'
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: 0.1.3
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '0.1'
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: 0.1.3
196
+ - !ruby/object:Gem::Dependency
197
+ name: appraisal2
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - "~>"
201
+ - !ruby/object:Gem::Version
202
+ version: '3.2'
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: 3.2.0
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - "~>"
211
+ - !ruby/object:Gem::Version
212
+ version: '3.2'
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: 3.2.0
216
+ - !ruby/object:Gem::Dependency
217
+ name: kettle-test
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '2.0'
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: 2.0.19
226
+ type: :development
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - "~>"
231
+ - !ruby/object:Gem::Version
232
+ version: '2.0'
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: 2.0.19
236
+ - !ruby/object:Gem::Dependency
237
+ name: turbo_tests2
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '3.2'
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: 3.2.4
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - "~>"
251
+ - !ruby/object:Gem::Version
252
+ version: '3.2'
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 3.2.4
256
+ - !ruby/object:Gem::Dependency
257
+ name: ruby-progressbar
258
+ requirement: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: '1.13'
263
+ type: :development
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '1.13'
270
+ - !ruby/object:Gem::Dependency
271
+ name: stone_checksums
272
+ requirement: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - "~>"
275
+ - !ruby/object:Gem::Version
276
+ version: '1.0'
277
+ - - ">="
278
+ - !ruby/object:Gem::Version
279
+ version: 1.0.8
280
+ type: :development
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - "~>"
285
+ - !ruby/object:Gem::Version
286
+ version: '1.0'
287
+ - - ">="
288
+ - !ruby/object:Gem::Version
289
+ version: 1.0.8
290
+ - !ruby/object:Gem::Dependency
291
+ name: gitmoji-regex
292
+ requirement: !ruby/object:Gem::Requirement
293
+ requirements:
294
+ - - "~>"
295
+ - !ruby/object:Gem::Version
296
+ version: '2.0'
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: 2.0.11
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '2.0'
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: 2.0.11
310
+ - !ruby/object:Gem::Dependency
311
+ name: toml
312
+ requirement: !ruby/object:Gem::Requirement
313
+ requirements:
314
+ - - "~>"
315
+ - !ruby/object:Gem::Version
316
+ version: '0.3'
317
+ type: :development
318
+ prerelease: false
319
+ version_requirements: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - "~>"
322
+ - !ruby/object:Gem::Version
323
+ version: '0.3'
324
+ - !ruby/object:Gem::Dependency
325
+ name: toml-rb
326
+ requirement: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - "~>"
329
+ - !ruby/object:Gem::Version
330
+ version: '4.1'
331
+ type: :development
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: '4.1'
338
+ description: "\U0001F334 Backend registry, parser request/result contracts, and tree-sitter
339
+ language-pack integration for Structured Merge."
84
340
  email:
85
- - info@structuredmerge.org
341
+ - floss@galtzo.com
86
342
  executables: []
87
343
  extensions: []
88
344
  extra_rdoc_files: []
89
345
  files:
346
+ - LICENSE.md
347
+ - README.md
90
348
  - lib/tree_haver.rb
349
+ - lib/tree_haver/backend_api.rb
91
350
  - lib/tree_haver/backend_context.rb
92
351
  - lib/tree_haver/backend_registry.rb
352
+ - lib/tree_haver/backends/citrus.rb
353
+ - lib/tree_haver/backends/ffi.rb
354
+ - lib/tree_haver/backends/java.rb
355
+ - lib/tree_haver/backends/mri.rb
356
+ - lib/tree_haver/backends/parslet.rb
357
+ - lib/tree_haver/backends/prism.rb
358
+ - lib/tree_haver/backends/psych.rb
359
+ - lib/tree_haver/backends/rust.rb
360
+ - lib/tree_haver/backends/tslp.rb
361
+ - lib/tree_haver/base/comment.rb
362
+ - lib/tree_haver/base/language.rb
363
+ - lib/tree_haver/base/node.rb
364
+ - lib/tree_haver/base/parser.rb
365
+ - lib/tree_haver/base/point.rb
366
+ - lib/tree_haver/base/tree.rb
367
+ - lib/tree_haver/citrus_grammar_finder.rb
93
368
  - lib/tree_haver/contracts.rb
369
+ - lib/tree_haver/grammar_finder.rb
94
370
  - lib/tree_haver/kaitai_backend.rb
371
+ - lib/tree_haver/language.rb
95
372
  - lib/tree_haver/language_pack.rb
373
+ - lib/tree_haver/language_registry.rb
374
+ - lib/tree_haver/library_path_utils.rb
375
+ - lib/tree_haver/node.rb
376
+ - lib/tree_haver/parser.rb
377
+ - lib/tree_haver/parslet_grammar_finder.rb
378
+ - lib/tree_haver/path_validator.rb
96
379
  - lib/tree_haver/peg_backends.rb
380
+ - lib/tree_haver/point.rb
381
+ - lib/tree_haver/rspec.rb
382
+ - lib/tree_haver/rspec/dependency_tags.rb
383
+ - lib/tree_haver/tree.rb
97
384
  - lib/tree_haver/version.rb
385
+ - sig/tree_haver.rbs
98
386
  homepage: https://github.com/structuredmerge/structuredmerge-ruby
99
387
  licenses:
100
388
  - AGPL-3.0-only
101
389
  - PolyForm-Small-Business-1.0.0
102
390
  metadata:
103
391
  homepage_uri: https://structuredmerge.org
104
- source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.0.0
105
- changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.0.0/CHANGELOG.md
392
+ source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.0
393
+ changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.0/CHANGELOG.md
106
394
  bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
107
- documentation_uri: https://www.rubydoc.info/gems/tree_haver/7.0.0
395
+ documentation_uri: https://www.rubydoc.info/gems/tree_haver/7.1.0
108
396
  funding_uri: https://github.com/sponsors/pboling
109
397
  wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
398
+ news_uri: https://www.railsbling.com/tags/tree_haver
110
399
  discord_uri: https://discord.gg/3qme4XHNKN
400
+ mailing_list_uri: https://www.rubyforum.org/tag/tree_haver
111
401
  rubygems_mfa_required: 'true'
112
- rdoc_options: []
402
+ rdoc_options:
403
+ - "--title"
404
+ - "tree_haver - \U0001F334 Structured Merge parser abstraction and process analysis
405
+ for Ruby"
406
+ - "--main"
407
+ - README.md
408
+ - "--exclude"
409
+ - "^sig/"
410
+ - "--line-numbers"
411
+ - "--inline-source"
412
+ - "--quiet"
113
413
  require_paths:
114
414
  - lib
115
415
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -123,7 +423,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
423
  - !ruby/object:Gem::Version
124
424
  version: '0'
125
425
  requirements: []
126
- rubygems_version: 4.0.10
426
+ rubygems_version: 4.0.17
127
427
  specification_version: 4
128
- summary: Structured Merge parser abstraction and process analysis for Ruby
428
+ summary: "\U0001F334 Structured Merge parser abstraction and process analysis for
429
+ Ruby"
129
430
  test_files: []
metadata.gz.sig CHANGED
Binary file