! Copyright (C) 2008 Slava Pestov ! See http://factorcode.org/license.txt for BSD license. USING: lcs xml.syntax xml.writer kernel strings ; FROM: accessors => item>> ; FROM: io => write ; FROM: sequences => each if-empty when-empty map ; 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 <-> XML] dup [XML <-><-> XML] ; M: insert diff-line item-string [XML <-> XML] ; M: delete diff-line item-string [XML <-> XML] ; : htmlize-diff ( diff -- xml ) [ diff-line ] map [XML <->
OldNew
XML] ;