Mavryk_micheline.Micheline_diff
val diff :
prev:(_, string) Micheline.node ->
current:(_, string) Micheline.node ->
unit ->
Micheline_printer.node option
diff ~prev ~current ()
computes the difference between expressions prev
and current
. It depends on primitives being ordinary strings so that they can be displayed easily. To simplify things, differences in annotations are ignored. Annotations from prev
are preserved.
Returns None
if expressions are identical or Some d
if they're not, where d
is a copy of prev
with information about differences with respect to current
displayed as comments.
Parts of the expression that are present in prev
but missing in current
get "-" comment. Parts present in current
but missing in prev
get "+" comment. Parts which appear in both versions are the same as in prev
and current
version, if different, is put after a "->" mark in the comment.