Module: Uniword::Diff::Semantic

Defined in:
lib/uniword/diff/semantic.rb,
lib/uniword/diff/semantic/change.rb,
lib/uniword/diff/semantic/engine.rb,
lib/uniword/diff/semantic/result.rb,
lib/uniword/diff/semantic/paragraph_comparator.rb

Overview

Element-level semantic diff. Builds on the existing DocumentDiffer (paragraph LCS) to produce a structured change report where each change has a classification:

  • :added — element only in new
  • :removed — element only in old
  • :modified — element in both but different; sub-classified by what changed (:text, :format, :structure)
  • :moved — element in both, same content, different position

Open/closed: a new element kind to compare (images, tables, styles) = a new Comparator subclass + registration in Engine::COMPARATORS.

Defined Under Namespace

Modules: ParagraphComparator Classes: Change, Engine, Result