! Copyright (C) 2008, 2010 Slava Pestov ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel lcs sequences strings xml.syntax xml.writer ; IN: lcs.diff2html GENERIC: diff-line ( obj -- xml ) : item-string ( item -- string ) item>> [ char: no-break-space 1string ] when-empty ; M: retain diff-line item-string XML-CHUNK[[ <-> ]] dup XML-CHUNK[[ <-><-> ]] ; M: insert diff-line item-string XML-CHUNK[[ <-> ]] ; M: delete diff-line item-string XML-CHUNK[[ <-> ]] ; : htmlize-diff ( diff -- xml ) [ diff-line ] map XML-CHUNK[[ <->
OldNew
]] ;