Skip to content

Commit 793d83e

Browse files
committed
feat: new pad direction option
1 parent 3139fdc commit 793d83e

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

addon/merge/merge.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -479,15 +479,15 @@
479479
}
480480

481481
if (offset[0] != offset[1] || cm.length == 3 && offset[1] != offset[2])
482-
alignLines(cm, offset, [0, 0, 0], aligners)
482+
alignLines(cm, offset, [0, 0, 0], aligners, dv.mv.options.padDirection)
483483
for (var ln = 0; ln < linesToAlign.length; ln++)
484-
alignLines(cm, offset, linesToAlign[ln], aligners);
484+
alignLines(cm, offset, linesToAlign[ln], aligners, dv.mv.options.padDirection);
485485

486486
for (var i = 0; i < cm.length; i++)
487487
cm[i].scrollTo(null, scroll[i]);
488488
}
489489

490-
function alignLines(cm, cmOffset, lines, aligners) {
490+
function alignLines(cm, cmOffset, lines, aligners, padDirection) {
491491
var maxOffset = -1e8, offset = [];
492492
for (var i = 0; i < cm.length; i++) if (lines[i] != null) {
493493
var off = cm[i].heightAtLine(lines[i], "local") - cmOffset[i];
@@ -496,14 +496,15 @@
496496
}
497497
for (var i = 0; i < cm.length; i++) if (lines[i] != null) {
498498
var diff = maxOffset - offset[i];
499-
if (diff > 1 && i === 0) {
500-
aligners.push(padAbove(cm[i], lines[i], diff));
501-
} else if (diff > 1) {
502-
aligners.push(padBelow(cm[i], lines[i] - 1, diff));
503-
}
499+
if (diff > 1) aligners.push(padAlign(cm[i], lines[i] - 1, diff, padDirection));
504500
}
505501
}
506502

503+
function padAlign(cm, line, size, padDirection) {
504+
if (padDirection === 'below') return padBelow(cm, line, size)
505+
return padAbove(cm, line, size)
506+
}
507+
507508
function padAbove(cm, line, size) {
508509
var above = true;
509510
if (line > cm.lastLine()) {

0 commit comments

Comments
 (0)