ast-merge 7.0.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -3
- data/LICENSE.md +13 -0
- data/README.md +689 -0
- data/lib/ast/merge/ast_node.rb +295 -0
- data/lib/ast/merge/block_directive.rb +109 -0
- data/lib/ast/merge/comment/README.md +110 -0
- data/lib/ast/merge/comment/attachment.rb +128 -0
- data/lib/ast/merge/comment/augmenter.rb +414 -0
- data/lib/ast/merge/comment/block.rb +220 -0
- data/lib/ast/merge/comment/c_style_tracker_base.rb +446 -0
- data/lib/ast/merge/comment/capability.rb +162 -0
- data/lib/ast/merge/comment/empty.rb +82 -0
- data/lib/ast/merge/comment/hash_tracker_base.rb +516 -0
- data/lib/ast/merge/comment/line.rb +160 -0
- data/lib/ast/merge/comment/parser.rb +271 -0
- data/lib/ast/merge/comment/quoted_hash_line_parser.rb +127 -0
- data/lib/ast/merge/comment/region.rb +173 -0
- data/lib/ast/merge/comment/region_merge_policy.rb +117 -0
- data/lib/ast/merge/comment/style.rb +280 -0
- data/lib/ast/merge/comment/support_style.rb +152 -0
- data/lib/ast/merge/comment/tracked_hash_adapter.rb +139 -0
- data/lib/ast/merge/comment.rb +46 -0
- data/lib/ast/merge/comment_layout_emission_support.rb +376 -0
- data/lib/ast/merge/composite_match_refiner.rb +95 -0
- data/lib/ast/merge/conflict_resolver_base.rb +455 -0
- data/lib/ast/merge/content_match_refiner.rb +265 -0
- data/lib/ast/merge/debug_logger.rb +291 -0
- data/lib/ast/merge/detector/README.md +126 -0
- data/lib/ast/merge/detector/base.rb +193 -0
- data/lib/ast/merge/detector/fenced_code_block.rb +227 -0
- data/lib/ast/merge/detector/mergeable.rb +370 -0
- data/lib/ast/merge/detector/toml_frontmatter.rb +82 -0
- data/lib/ast/merge/detector/yaml_frontmatter.rb +82 -0
- data/lib/ast/merge/diff_mapper_base.rb +245 -0
- data/lib/ast/merge/emitter_base.rb +406 -0
- data/lib/ast/merge/emitter_line_metadata_support.rb +46 -0
- data/lib/ast/merge/file_aligner_base.rb +271 -0
- data/lib/ast/merge/file_analyzable.rb +759 -0
- data/lib/ast/merge/freezable.rb +82 -0
- data/lib/ast/merge/freeze_node_base.rb +451 -0
- data/lib/ast/merge/healer.rb +64 -0
- data/lib/ast/merge/jaccard_similarity.rb +96 -0
- data/lib/ast/merge/key_path_partial_template_merger_base.rb +230 -0
- data/lib/ast/merge/layout/README.md +138 -0
- data/lib/ast/merge/layout/attachment.rb +48 -0
- data/lib/ast/merge/layout/augmenter.rb +182 -0
- data/lib/ast/merge/layout/gap.rb +241 -0
- data/lib/ast/merge/layout/policy.rb +59 -0
- data/lib/ast/merge/layout.rb +40 -0
- data/lib/ast/merge/line_range_support.rb +43 -0
- data/lib/ast/merge/match_refiner_base.rb +312 -0
- data/lib/ast/merge/match_score_base.rb +135 -0
- data/lib/ast/merge/merge_result_base.rb +542 -0
- data/lib/ast/merge/merger_config.rb +309 -0
- data/lib/ast/merge/navigable/injection_point.rb +132 -0
- data/lib/ast/merge/navigable/injection_point_finder.rb +100 -0
- data/lib/ast/merge/navigable/statement.rb +379 -0
- data/lib/ast/merge/navigable.rb +20 -0
- data/lib/ast/merge/node_typing/frozen_wrapper.rb +99 -0
- data/lib/ast/merge/node_typing/normalizer.rb +201 -0
- data/lib/ast/merge/node_typing/wrapper.rb +77 -0
- data/lib/ast/merge/node_typing.rb +235 -0
- data/lib/ast/merge/node_wrapper_base.rb +349 -0
- data/lib/ast/merge/owner_selection.rb +62 -0
- data/lib/ast/merge/partial_template_merger_base.rb +465 -0
- data/lib/ast/merge/recipe/README.md +233 -0
- data/lib/ast/merge/recipe/config.rb +481 -0
- data/lib/ast/merge/recipe/preset.rb +220 -0
- data/lib/ast/merge/recipe/runner.rb +724 -0
- data/lib/ast/merge/recipe/script_loader.rb +192 -0
- data/lib/ast/merge/recipe.rb +26 -0
- data/lib/ast/merge/rspec/README.md +251 -0
- data/lib/ast/merge/rspec/comment_behavior_matrix_adapters.rb +79 -0
- data/lib/ast/merge/rspec/conformance_fixtures.rb +67 -0
- data/lib/ast/merge/rspec/dependency_tags.rb +42 -0
- data/lib/ast/merge/rspec/dependency_tags_config.rb +85 -0
- data/lib/ast/merge/rspec/dependency_tags_helpers.rb +56 -0
- data/lib/ast/merge/rspec/merge_gem_registry.rb +387 -0
- data/lib/ast/merge/rspec/setup.rb +30 -0
- data/lib/ast/merge/rspec/shared_examples/comment_attachment.rb +35 -0
- data/lib/ast/merge/rspec/shared_examples/comment_augmenter.rb +36 -0
- data/lib/ast/merge/rspec/shared_examples/comment_behavior_matrix.rb +680 -0
- data/lib/ast/merge/rspec/shared_examples/comment_region.rb +32 -0
- data/lib/ast/merge/rspec/shared_examples/conflict_resolver_base.rb +491 -0
- data/lib/ast/merge/rspec/shared_examples/debug_logger.rb +180 -0
- data/lib/ast/merge/rspec/shared_examples/feature_profile.rb +88 -0
- data/lib/ast/merge/rspec/shared_examples/file_analyzable.rb +251 -0
- data/lib/ast/merge/rspec/shared_examples/freeze_node_base.rb +219 -0
- data/lib/ast/merge/rspec/shared_examples/layout_attachment.rb +33 -0
- data/lib/ast/merge/rspec/shared_examples/layout_augmenter.rb +33 -0
- data/lib/ast/merge/rspec/shared_examples/merge_result_base.rb +106 -0
- data/lib/ast/merge/rspec/shared_examples/merger_config.rb +266 -0
- data/lib/ast/merge/rspec/shared_examples/recipe_preset_contract.rb +71 -0
- data/lib/ast/merge/rspec/shared_examples/recursive_retained_blank_gap_compliance.rb +44 -0
- data/lib/ast/merge/rspec/shared_examples/removal_mode_compliance.rb +66 -0
- data/lib/ast/merge/rspec/shared_examples/reproducible_merge.rb +116 -0
- data/lib/ast/merge/rspec/shared_examples/reproducible_partial_merge.rb +63 -0
- data/lib/ast/merge/rspec/shared_examples/retained_blank_gap_compliance.rb +44 -0
- data/lib/ast/merge/rspec/shared_examples/runtime_debug_contract.rb +63 -0
- data/lib/ast/merge/rspec/shared_examples/tree_haver_backend_contract.rb +19 -0
- data/lib/ast/merge/rspec/shared_examples/unresolved_helper_contract.rb +157 -0
- data/lib/ast/merge/rspec/shared_examples/unresolved_review_state_transport_contract.rb +102 -0
- data/lib/ast/merge/rspec/shared_examples/unresolved_runtime_contract.rb +58 -0
- data/lib/ast/merge/rspec/shared_examples/unresolved_runtime_debug_contract.rb +33 -0
- data/lib/ast/merge/rspec/shared_examples.rb +63 -0
- data/lib/ast/merge/rspec.rb +42 -0
- data/lib/ast/merge/ruleset/config.rb +125 -0
- data/lib/ast/merge/ruleset/delegation_policy.rb +26 -0
- data/lib/ast/merge/ruleset/feature_profile.rb +194 -0
- data/lib/ast/merge/ruleset/logical_owner_policy.rb +53 -0
- data/lib/ast/merge/ruleset/parser.rb +261 -0
- data/lib/ast/merge/ruleset/profile_vocabulary.rb +128 -0
- data/lib/ast/merge/ruleset/repair_policy.rb +26 -0
- data/lib/ast/merge/ruleset/runtime_declaration.rb +67 -0
- data/lib/ast/merge/ruleset/runtime_translator.rb +60 -0
- data/lib/ast/merge/ruleset/support_style_resolver.rb +37 -0
- data/lib/ast/merge/ruleset/surface_declaration.rb +26 -0
- data/lib/ast/merge/ruleset.rb +20 -0
- data/lib/ast/merge/runtime/child_result.rb +60 -0
- data/lib/ast/merge/runtime/delegate.rb +125 -0
- data/lib/ast/merge/runtime/delegation_registry.rb +52 -0
- data/lib/ast/merge/runtime/diagnostic.rb +40 -0
- data/lib/ast/merge/runtime/frame.rb +41 -0
- data/lib/ast/merge/runtime/operation.rb +116 -0
- data/lib/ast/merge/runtime/resolution_case.rb +94 -0
- data/lib/ast/merge/runtime/root_session_support.rb +108 -0
- data/lib/ast/merge/runtime/session.rb +122 -0
- data/lib/ast/merge/runtime/surface.rb +68 -0
- data/lib/ast/merge/runtime.rb +20 -0
- data/lib/ast/merge/section_typing.rb +308 -0
- data/lib/ast/merge/smart_merger_base.rb +528 -0
- data/lib/ast/merge/source_region_report_support.rb +243 -0
- data/lib/ast/merge/structural_edit/README.md +145 -0
- data/lib/ast/merge/structural_edit/boundary.rb +75 -0
- data/lib/ast/merge/structural_edit/boundary_support.rb +90 -0
- data/lib/ast/merge/structural_edit/plan_set.rb +135 -0
- data/lib/ast/merge/structural_edit/rehome_plan.rb +141 -0
- data/lib/ast/merge/structural_edit/remove_plan.rb +297 -0
- data/lib/ast/merge/structural_edit/remove_plan_support.rb +59 -0
- data/lib/ast/merge/structural_edit/splice_plan.rb +179 -0
- data/lib/ast/merge/structural_edit.rb +20 -0
- data/lib/ast/merge/structured_emitter_provenance_support.rb +44 -0
- data/lib/ast/merge/structured_review_apply_support.rb +80 -0
- data/lib/ast/merge/text/README.md +127 -0
- data/lib/ast/merge/text/conflict_resolver.rb +250 -0
- data/lib/ast/merge/text/file_analysis.rb +188 -0
- data/lib/ast/merge/text/line_node.rb +173 -0
- data/lib/ast/merge/text/merge_result.rb +42 -0
- data/lib/ast/merge/text/section.rb +96 -0
- data/lib/ast/merge/text/section_splitter.rb +402 -0
- data/lib/ast/merge/text/smart_merger.rb +150 -0
- data/lib/ast/merge/text/word_node.rb +117 -0
- data/lib/ast/merge/text.rb +35 -0
- data/lib/ast/merge/token_match_refiner.rb +98 -0
- data/lib/ast/merge/trailing_groups/alignment_sort.rb +96 -0
- data/lib/ast/merge/trailing_groups/core.rb +167 -0
- data/lib/ast/merge/trailing_groups/dest_iterate.rb +129 -0
- data/lib/ast/merge/trailing_groups.rb +66 -0
- data/lib/ast/merge/unresolved_policy.rb +78 -0
- data/lib/ast/merge/unresolved_review_state.rb +58 -0
- data/lib/ast/merge/unresolved_support.rb +149 -0
- data/lib/ast/merge/version.rb +5 -3
- data/lib/ast/merge.rb +3455 -534
- data/lib/ast-merge.rb +7 -1
- data/sig/ast/merge.rbs +8 -0
- data.tar.gz.sig +0 -0
- metadata +441 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 53af222230e0da319b5ce6c90f04ef191a056cbd9b315a7a401ccec334ad63dc
|
|
4
|
+
data.tar.gz: 325aef3c7cd4d4f4d3828a298077f735e82a9548ec0c0e278f94d7735e4d46da
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53212145e26102bc9820d9c435ae916fcb60405ae41e7cb7d5ccb86153d4ad2c28c5d849edce6f3f3e5ff5b0a6e5959cdff554801a34d1316364c04d65e4630a
|
|
7
|
+
data.tar.gz: 5bf7767dfc083a96c0857589647cf1046d904338dd77c44193286300f501e55827235dd4a12f0fd90baed5125faf4c89afd220f64a49187fa88f65c66e8b5b46
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
e-љ���vW#o��x�or�%[�^q� J4����ЊbI0b�C�ɉze��w�k�A.+��$��Z8��IeAT��Č�X�� (�}1�Q��$�y�>�TI�2�]��Q�F�EO���I��%�n9�Q=X�U��/~���p<���+Z�fбGkp,Mr�Iil��*
|
|
2
|
+
W�N1rM�
|
|
3
|
+
TKOtÉ�"���)j�Y�)ޑ�Im8^���=�Z�@���~��p&^1=��cȧ+:�H��h�Q ��ߧ��N�=�ެ�'$
|
data/LICENSE.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
This project is made available under the following licenses.
|
|
4
|
+
Choose the option that best fits your use case:
|
|
5
|
+
|
|
6
|
+
- [AGPL-3.0-only](https://github.com/structuredmerge/structuredmerge-ruby/blob/main/AGPL-3.0-only.md)
|
|
7
|
+
- [PolyForm-Small-Business-1.0.0](https://github.com/structuredmerge/structuredmerge-ruby/blob/main/PolyForm-Small-Business-1.0.0.md)
|
|
8
|
+
|
|
9
|
+
If none of the above licenses fit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
|
|
10
|
+
|
|
11
|
+
## Copyright Notice
|
|
12
|
+
|
|
13
|
+
- Required Notice: Copyright (c) 2026 Peter H. Boling
|