Code review fixes (mostly formatting)
- Fix unconventional '{' formatting
- Reformat `UndoManager` changes
- Revert change from `insertInLine` to `insert` in text.js
This commit is contained in:
parent
35a27fd1ba
commit
6b280bf6bb
7 changed files with 30 additions and 38 deletions
|
|
@ -101,14 +101,13 @@ var Anchor = exports.Anchor = function(doc, row, column) {
|
||||||
**/
|
**/
|
||||||
this.onChange = function(e) {
|
this.onChange = function(e) {
|
||||||
|
|
||||||
function _pointsInOrder(point1, point2, equalPointsInOrder)
|
function _pointsInOrder(point1, point2, equalPointsInOrder) {
|
||||||
{
|
|
||||||
var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
|
var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
|
||||||
return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
|
return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTransformedPoint(delta, point, moveIfEqual)
|
function getTransformedPoint(delta, point, moveIfEqual) {
|
||||||
{
|
|
||||||
// Get delta info.
|
// Get delta info.
|
||||||
var deltaIsInsert = (delta.action == 'insert')
|
var deltaIsInsert = (delta.action == 'insert')
|
||||||
var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.range.end.row - delta.range.start.row);
|
var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.range.end.row - delta.range.start.row);
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,7 @@ function throwDeltaError(delta, errorText){
|
||||||
throw 'Invalid Delta: ' + errorText;
|
throw 'Invalid Delta: ' + errorText;
|
||||||
}
|
}
|
||||||
|
|
||||||
function positionInDocument(docLines, position)
|
function positionInDocument(docLines, position) {
|
||||||
{
|
|
||||||
return position.row >= 0 && position.row < docLines.length &&
|
return position.row >= 0 && position.row < docLines.length &&
|
||||||
position.column >= 0 && position.column <= docLines[position.row].length;
|
position.column >= 0 && position.column <= docLines[position.row].length;
|
||||||
}
|
}
|
||||||
|
|
@ -93,8 +92,7 @@ exports.applyDelta = function(docLines, delta, doNotValidate) {
|
||||||
validateDelta(docLines, delta);
|
validateDelta(docLines, delta);
|
||||||
|
|
||||||
// Apply delta.
|
// Apply delta.
|
||||||
if (delta.range.start.row == delta.range.end.row)
|
if (delta.range.start.row == delta.range.end.row) {
|
||||||
{
|
|
||||||
// Apply single-line delta.
|
// Apply single-line delta.
|
||||||
// Note: The multi-line code below correctly handle single-line
|
// Note: The multi-line code below correctly handle single-line
|
||||||
// deltas too, but we need to short-circuit for speed.
|
// deltas too, but we need to short-circuit for speed.
|
||||||
|
|
|
||||||
|
|
@ -108,14 +108,15 @@ var Document = function(textOrLines) {
|
||||||
**/
|
**/
|
||||||
|
|
||||||
// check for IE split bug
|
// check for IE split bug
|
||||||
if ("aaa".split(/a/).length === 0)
|
if ("aaa".split(/a/).length === 0) {
|
||||||
this.$split = function(text) {
|
this.$split = function(text) {
|
||||||
return text.replace(/\r\n|\r/g, "\n").split("\n");
|
return text.replace(/\r\n|\r/g, "\n").split("\n");
|
||||||
};
|
};
|
||||||
else
|
} else {
|
||||||
this.$split = function(text) {
|
this.$split = function(text) {
|
||||||
return text.split(/\r\n|\r|\n/);
|
return text.split(/\r\n|\r|\n/);
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
this.$detectNewLine = function(text) {
|
this.$detectNewLine = function(text) {
|
||||||
|
|
@ -582,8 +583,8 @@ var Document = function(textOrLines) {
|
||||||
// as shown in https://gist.github.com/aldendaniels/8367109#file-document-snippet-js
|
// as shown in https://gist.github.com/aldendaniels/8367109#file-document-snippet-js
|
||||||
// If we do this, update validateDelta() to limit the number of lines in a delete delta.
|
// If we do this, update validateDelta() to limit the number of lines in a delete delta.
|
||||||
var bIsInsert = delta.action == 'insert';
|
var bIsInsert = delta.action == 'insert';
|
||||||
while (bIsInsert && delta.lines.length > 65001)
|
while (bIsInsert && delta.lines.length > 65001) {
|
||||||
{
|
|
||||||
// Get split deltas.
|
// Get split deltas.
|
||||||
var lines = delta.lines.splice(0, 65000);
|
var lines = delta.lines.splice(0, 65000);
|
||||||
lines.push('');
|
lines.push('');
|
||||||
|
|
@ -608,8 +609,7 @@ var Document = function(textOrLines) {
|
||||||
* Reverts `delta` from the document.
|
* Reverts `delta` from the document.
|
||||||
* @param {Object} delta A delta object (can include 'insert' and 'remove' actions)
|
* @param {Object} delta A delta object (can include 'insert' and 'remove' actions)
|
||||||
**/
|
**/
|
||||||
this.revertDelta = function(delta)
|
this.revertDelta = function(delta) {
|
||||||
{
|
|
||||||
this.applyDelta({
|
this.applyDelta({
|
||||||
action: (delta.action == 'insert' ? 'remove' : 'insert'),
|
action: (delta.action == 'insert' ? 'remove' : 'insert'),
|
||||||
range: delta.range.clone(),
|
range: delta.range.clone(),
|
||||||
|
|
|
||||||
|
|
@ -138,9 +138,9 @@ var Mode = function() {
|
||||||
var comment = function(line, i) {
|
var comment = function(line, i) {
|
||||||
if (!ignoreBlankLines || /\S/.test(line)) {
|
if (!ignoreBlankLines || /\S/.test(line)) {
|
||||||
if (shouldInsertSpace(line, minIndent, minIndent))
|
if (shouldInsertSpace(line, minIndent, minIndent))
|
||||||
doc.insert({row: i, column: minIndent}, commentWithSpace);
|
doc.insertInLine({row: i, column: minIndent}, commentWithSpace);
|
||||||
else
|
else
|
||||||
doc.insert({row: i, column: minIndent}, lineCommentStart);
|
doc.insertInLine({row: i, column: minIndent}, lineCommentStart);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var testRemove = function(line, i) {
|
var testRemove = function(line, i) {
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
|
||||||
var distanceFromStart = range.start.column - this.pos.column;
|
var distanceFromStart = range.start.column - this.pos.column;
|
||||||
this.length += lengthDiff;
|
this.length += lengthDiff;
|
||||||
if(!this.session.$fromUndo) {
|
if(!this.session.$fromUndo) {
|
||||||
if(delta.action === "insert") {
|
if(delta.action === 'insert') {
|
||||||
for (var i = this.others.length - 1; i >= 0; i--) {
|
for (var i = this.others.length - 1; i >= 0; i--) {
|
||||||
var otherPos = this.others[i];
|
var otherPos = this.others[i];
|
||||||
var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
|
var newPos = {row: otherPos.row, column: otherPos.column + distanceFromStart};
|
||||||
|
|
@ -179,7 +179,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Special case: insert in beginning
|
// Special case: insert in beginning
|
||||||
if(range.start.column === this.pos.column && delta.action === "insert") {
|
if(range.start.column === this.pos.column && delta.action === 'insert') {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
this.pos.setPosition(this.pos.row, this.pos.column - lengthDiff);
|
this.pos.setPosition(this.pos.row, this.pos.column - lengthDiff);
|
||||||
for (var i = 0; i < this.others.length; i++) {
|
for (var i = 0; i < this.others.length; i++) {
|
||||||
|
|
|
||||||
|
|
@ -165,10 +165,15 @@ var UndoManager = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Serializes deltaSets to reduce memory usage.
|
// Serializes deltaSets to reduce memory usage.
|
||||||
this.$serializeDeltas = function(deltaSets)
|
this.$serializeDeltas = function(deltaSets) {
|
||||||
{
|
return cloneDeltaSetsObj(deltaSets, $serializeDelta);
|
||||||
return this.$cloneDeltaSetsObj(deltaSets, $serializeDelta);
|
};
|
||||||
}
|
|
||||||
|
// Deserializes deltaSets to allow application to the document.
|
||||||
|
this.$deserializeDeltas = function(deltaSets) {
|
||||||
|
return cloneDeltaSetsObj(deltaSets, $deserializeDelta);
|
||||||
|
};
|
||||||
|
|
||||||
function $serializeDelta(delta){
|
function $serializeDelta(delta){
|
||||||
return {
|
return {
|
||||||
action: delta.action,
|
action: delta.action,
|
||||||
|
|
@ -177,13 +182,8 @@ var UndoManager = function() {
|
||||||
text: (delta.lines.length == 1 ? delta.lines[0] : null ),
|
text: (delta.lines.length == 1 ? delta.lines[0] : null ),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deserializes deltaSets to allow application to the document.
|
function $deserializeDelta(delta) {
|
||||||
this.$deserializeDeltas = function(deltaSets)
|
|
||||||
{
|
|
||||||
return this.$cloneDeltaSetsObj(deltaSets, $deserializeDelta);
|
|
||||||
}
|
|
||||||
function $deserializeDelta(delta){
|
|
||||||
return {
|
return {
|
||||||
action: delta.action,
|
action: delta.action,
|
||||||
range: delta.range,
|
range: delta.range,
|
||||||
|
|
@ -191,17 +191,13 @@ var UndoManager = function() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Helper for delta serialization and deserialization.
|
function cloneDeltaSetsObj(deltaSets_old, fnGetModifiedDelta) {
|
||||||
this.$cloneDeltaSetsObj = function(deltaSets_old, fnGetModifiedDelta)
|
|
||||||
{
|
|
||||||
var deltaSets_new = new Array(deltaSets_old.length);
|
var deltaSets_new = new Array(deltaSets_old.length);
|
||||||
for (var i in deltaSets_old)
|
for (var i in deltaSets_old) {
|
||||||
{
|
|
||||||
var deltaSet_old = deltaSets_old[i];
|
var deltaSet_old = deltaSets_old[i];
|
||||||
var deltaSet_new = { group: deltaSet_old.group, deltas: new Array(deltaSet_old.length)};
|
var deltaSet_new = { group: deltaSet_old.group, deltas: new Array(deltaSet_old.length)};
|
||||||
|
|
||||||
for (var i_ in deltaSet_old.deltas)
|
for (var i_ in deltaSet_old.deltas) {
|
||||||
{
|
|
||||||
var delta_old = deltaSet_old.deltas[i_];
|
var delta_old = deltaSet_old.deltas[i_];
|
||||||
deltaSet_new.deltas[i_] = fnGetModifiedDelta(delta_old);
|
deltaSet_new.deltas[i_] = fnGetModifiedDelta(delta_old);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,7 @@ var Mirror = exports.Mirror = function(sender) {
|
||||||
// Convert delta.range back into a Range instance since
|
// Convert delta.range back into a Range instance since
|
||||||
// window.onMessage loses non-primitive data. See http://jsfiddle.net/nqJfw/1/.
|
// window.onMessage loses non-primitive data. See http://jsfiddle.net/nqJfw/1/.
|
||||||
var deltas = e.data;
|
var deltas = e.data;
|
||||||
for (var i in deltas)
|
for (var i in deltas) {
|
||||||
{
|
|
||||||
var delta = deltas[i];
|
var delta = deltas[i];
|
||||||
delta.range = Range.fromPoints(delta.range.start, delta.range.end);
|
delta.range = Range.fromPoints(delta.range.start, delta.range.end);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue