1 function make_getter_setter(id, should_splitjoin) {
2 return function (maybe_newval) {
3 var elt = document.getElementById(id);
5 elt.value = should_splitjoin ? maybe_newval.join(" ") : maybe_newval;
8 return should_splitjoin ? elt.value.split(/ +/) : elt.value;
13 var f0 = make_getter_setter("f0", true);
14 var f1 = make_getter_setter("f1", true);
15 var f2 = make_getter_setter("f2", true);
16 var f3 = make_getter_setter("f3", false);
19 f3(uneval(Diff.longest_common_subsequence(f1(), f2())));
22 function demo_comm() {
23 f3(uneval(Diff.diff_comm(f1(), f2())));
26 function demo_diff_patch() {
27 f3(uneval(Diff.diff_patch(f1(), f2())));
30 function demo_invert() {
36 function demo_apply_patch() {
37 f2(Diff.patch(f1(), eval(f3())));
40 function demo_diff1() {
41 f3(uneval(Diff.diff_patch(f0(), f1())));
44 function demo_diff2() {
45 f3(uneval(Diff.diff_patch(f0(), f2())));
48 function demo_diff3(excludeFalseConflicts) {
49 f3(uneval(Diff.diff3_merge(f1(), f0(), f2(), excludeFalseConflicts)));
52 function demo_diff3_cooked(excludeFalseConflicts) {
53 var merger = Diff.diff3_merge(f1(), f0(), f2(), excludeFalseConflicts);
55 for (var i = 0; i < merger.length; i++) {
58 lines = lines.concat(item.ok);
60 lines = lines.concat(["\n<<<<<<<<<\n"], item.conflict.a,
61 ["\n=========\n"], item.conflict.b,
68 function demo_diff3_dig_in() {
69 var merger = Diff.diff3_merge(f1(), f0(), f2(), false);
71 for (var i = 0; i < merger.length; i++) {
74 lines = lines.concat(item.ok);
76 var c = Diff.diff_comm(item.conflict.a, item.conflict.b);
77 for (var j = 0; j < c.length; j++) {
80 lines = lines.concat(inner.common);
82 lines = lines.concat(["\n<<<<<<<<<\n"], inner.file1,
83 ["\n=========\n"], inner.file2,