diff --git a/examples/app.js b/examples/app.js index f699c5e..4c8c3e6 100644 --- a/examples/app.js +++ b/examples/app.js @@ -33,10 +33,11 @@ document.onreadystatechange = function () { }, rhs: function(setValue) { setValue(macbeth.join('\n') - .replace(/serpent/g, 'pencil')); + .replace(/\brain\b/g, 'sleet') + .replace(/\bfog\b/g, 'smog')); //.replace(/heart/g, 'head')); }, - _debug: 'scroll,debug,event' + _debug: '' // _debug: 'draw,change,event' }); diff --git a/src/diff-view.js b/src/diff-view.js index d0ffef0..92cfeba 100644 --- a/src/diff-view.js +++ b/src/diff-view.js @@ -668,11 +668,9 @@ CodeMirrorDiffView.prototype.bind = function(el) { if (this._current_diff >= 0) { const current = this.changes[this._current_diff]; for (let i = current['lhs-line-from']; i <= current['lhs-line-to']; ++i) { - console.log('remove gutter lhs', i); this.editor.lhs.removeLineClass(i, 'gutter'); } for (let i = current['rhs-line-from']; i <= current['rhs-line-to']; ++i) { - console.log('remove gutter rhs', i); this.editor.rhs.removeLineClass(i, 'gutter'); } } @@ -1204,7 +1202,9 @@ CodeMirrorDiffView.prototype._markupLineChanges = function (changes) { }); } - if (lineDiff && (lhsInView || rhsInView)) { + if (lineDiff + && (lhsInView || rhsInView) + && change.op === 'c') { vdoc.addInlineDiff(change, { getText: (side, lineNum) => { if (side === 'lhs') { diff --git a/src/lcs.js b/src/lcs.js index c3cc631..a8fa9b4 100644 --- a/src/lcs.js +++ b/src/lcs.js @@ -59,7 +59,6 @@ LCS.prototype.diff = function (added, removed) { ignoreaccents: !!this.options.ignoreaccents }); const changes = DiffParser(d.normal_form()); - console.log(changes); for (let i = 0; i < changes.length; ++i) { const change = changes[i]; if (this.options.ignorews) { diff --git a/src/vdoc.js b/src/vdoc.js index abcce71..d2cabec 100644 --- a/src/vdoc.js +++ b/src/vdoc.js @@ -54,7 +54,7 @@ class VDoc { // FIXME: need lineDiff here? } else { // apply change for each line in-between the changed lines - for (let j = lf; j <= lt; ++j) { + for (let j = lf, k = olf; j <= lt; ++j, ++k) { this._getLine(side, j).addLineClass('background', bgClass.join(' ')); if (!lineDiff) { @@ -64,7 +64,7 @@ class VDoc { if (side === 'lhs' && (change.op === 'd' - || (change.op === 'c' && j > olt) + || (change.op === 'c' && k > olt) )) { // mark entire line text with deleted (strikeout) if the // change is a delete, or if it is changed text and the @@ -72,7 +72,7 @@ class VDoc { this._getLine(side, j).markText(0, undefined, 'mergely ch d lhs'); } else if (side == 'rhs' && (change.op === 'a' - || (change.op === 'c' && j > olt) + || (change.op === 'c' && k > olt) )) { // mark entire line text with added if the change is an // add, or if it is changed text and the line goes past the @@ -116,12 +116,10 @@ class VDoc { // too many lines here. it's no more than the viewport. lcs.diff( function _added(from, to) { - console.log('added', {from, to}); const line = vdoc._getLine('rhs', k); line.markText(from, to, 'mergely ch a rhs'); }, function _removed(from, to) { - console.log('removed', {from, to}); const line = vdoc._getLine('lhs', j); line.markText(from, to, 'mergely ch d lhs'); }