Module: Ast::Merge::Text

Defined in:
lib/ast/merge/text.rb,
lib/ast/merge/text/section.rb,
lib/ast/merge/text/line_node.rb,
lib/ast/merge/text/word_node.rb,
lib/ast/merge/text/merge_result.rb,
lib/ast/merge/text/smart_merger.rb,
lib/ast/merge/text/file_analysis.rb,
lib/ast/merge/text/section_splitter.rb,
lib/ast/merge/text/conflict_resolver.rb

Overview

Text-based AST module for ast-merge.

Provides a simple line/word based AST that can be used with any text file. This serves as both:

  1. A reference implementation for *-merge gems

  2. A testing tool for validating merge behavior

Examples:

Basic usage

require "ast/merge/text"

template = "Line one\nLine two\nLine three"
dest = "Line one modified\nLine two\nCustom line"

merger = Ast::Merge::Text::SmartMerger.new(template, dest)
result = merger.merge

Defined Under Namespace

Classes: ConflictResolver, FileAnalysis, LineNode, LineSectionSplitter, MergeResult, Section, SectionSplitter, SmartMerger, WordNode

Constant Summary collapse

DEFAULT_FREEZE_TOKEN =

Default freeze token for text files

"text-merge"