private function assertSummaryProseParts($old, $new, array $expect_parts, $label) { $engine = new PhutilProseDifferenceEngine(); $diff = $engine->getDiff($old, $new); $parts = $diff->getSummaryParts(); $this->assertParts($expect_parts, $parts, $label); }
private function buildDiff() { $engine = new PhutilProseDifferenceEngine(); return $engine->getDiff($this->oldText, $this->newText); }
$args->setSynopsis(<<<EOHELP **prosediff.php** __old__ __new__ [__options__] Diff two prose files. EOHELP ); $args->parseStandardArguments(); $args->parse(array(array('name' => 'files', 'wildcard' => true))); $files = $args->getArg('files'); if (count($files) !== 2) { $args->printHelpAndExit(); } $old_file = head($files); $new_file = last($files); $old_data = Filesystem::readFile($old_file); $new_data = Filesystem::readFile($new_file); $engine = new PhutilProseDifferenceEngine(); $prose_diff = $engine->getDiff($old_data, $new_data); foreach ($prose_diff->getParts() as $part) { switch ($part['type']) { case '-': echo tsprintf('<bg:red>%B</bg>', $part['text']); break; case '+': echo tsprintf('<bg:green>%B</bg>', $part['text']); break; case '=': echo tsprintf('%B', $part['text']); break; } }