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:
aldendaniels 2014-01-11 15:23:20 -06:00
commit 6b280bf6bb
7 changed files with 30 additions and 38 deletions

View file

@ -101,14 +101,13 @@ var Anchor = exports.Anchor = function(doc, row, column) {
**/
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;
return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
}
function getTransformedPoint(delta, point, moveIfEqual)
{
function getTransformedPoint(delta, point, moveIfEqual) {
// Get delta info.
var deltaIsInsert = (delta.action == 'insert')
var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.range.end.row - delta.range.start.row);

View file

@ -49,8 +49,7 @@ function throwDeltaError(delta, errorText){
throw 'Invalid Delta: ' + errorText;
}
function positionInDocument(docLines, position)
{
function positionInDocument(docLines, position) {
return position.row >= 0 && position.row < docLines.length &&
position.column >= 0 && position.column <= docLines[position.row].length;
}
@ -93,8 +92,7 @@ exports.applyDelta = function(docLines, delta, doNotValidate) {
validateDelta(docLines, 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.
// Note: The multi-line code below correctly handle single-line
// deltas too, but we need to short-circuit for speed.

View file

@ -108,14 +108,15 @@ var Document = function(textOrLines) {
**/
// check for IE split bug
if ("aaa".split(/a/).length === 0)
if ("aaa".split(/a/).length === 0) {
this.$split = function(text) {
return text.replace(/\r\n|\r/g, "\n").split("\n");
};
else
} else {
this.$split = function(text) {
return text.split(/\r\n|\r|\n/);
};
}
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
// If we do this, update validateDelta() to limit the number of lines in a delete delta.
var bIsInsert = delta.action == 'insert';
while (bIsInsert && delta.lines.length > 65001)
{
while (bIsInsert && delta.lines.length > 65001) {
// Get split deltas.
var lines = delta.lines.splice(0, 65000);
lines.push('');
@ -608,8 +609,7 @@ var Document = function(textOrLines) {
* Reverts `delta` from the document.
* @param {Object} delta A delta object (can include 'insert' and 'remove' actions)
**/
this.revertDelta = function(delta)
{
this.revertDelta = function(delta) {
this.applyDelta({
action: (delta.action == 'insert' ? 'remove' : 'insert'),
range: delta.range.clone(),

View file

@ -138,9 +138,9 @@ var Mode = function() {
var comment = function(line, i) {
if (!ignoreBlankLines || /\S/.test(line)) {
if (shouldInsertSpace(line, minIndent, minIndent))
doc.insert({row: i, column: minIndent}, commentWithSpace);
doc.insertInLine({row: i, column: minIndent}, commentWithSpace);
else
doc.insert({row: i, column: minIndent}, lineCommentStart);
doc.insertInLine({row: i, column: minIndent}, lineCommentStart);
}
};
var testRemove = function(line, i) {

View file

@ -161,7 +161,7 @@ var PlaceHolder = function(session, length, pos, others, mainClass, othersClass)
var distanceFromStart = range.start.column - this.pos.column;
this.length += lengthDiff;
if(!this.session.$fromUndo) {
if(delta.action === "insert") {
if(delta.action === 'insert') {
for (var i = this.others.length - 1; i >= 0; i--) {
var otherPos = this.others[i];
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
if(range.start.column === this.pos.column && delta.action === "insert") {
if(range.start.column === this.pos.column && delta.action === 'insert') {
setTimeout(function() {
this.pos.setPosition(this.pos.row, this.pos.column - lengthDiff);
for (var i = 0; i < this.others.length; i++) {

View file

@ -165,10 +165,15 @@ var UndoManager = function() {
};
// Serializes deltaSets to reduce memory usage.
this.$serializeDeltas = function(deltaSets)
{
return this.$cloneDeltaSetsObj(deltaSets, $serializeDelta);
}
this.$serializeDeltas = function(deltaSets) {
return cloneDeltaSetsObj(deltaSets, $serializeDelta);
};
// Deserializes deltaSets to allow application to the document.
this.$deserializeDeltas = function(deltaSets) {
return cloneDeltaSetsObj(deltaSets, $deserializeDelta);
};
function $serializeDelta(delta){
return {
action: delta.action,
@ -177,13 +182,8 @@ var UndoManager = function() {
text: (delta.lines.length == 1 ? delta.lines[0] : null ),
};
}
// Deserializes deltaSets to allow application to the document.
this.$deserializeDeltas = function(deltaSets)
{
return this.$cloneDeltaSetsObj(deltaSets, $deserializeDelta);
}
function $deserializeDelta(delta){
function $deserializeDelta(delta) {
return {
action: delta.action,
range: delta.range,
@ -191,17 +191,13 @@ var UndoManager = function() {
};
}
// Helper for delta serialization and deserialization.
this.$cloneDeltaSetsObj = function(deltaSets_old, fnGetModifiedDelta)
{
function cloneDeltaSetsObj(deltaSets_old, fnGetModifiedDelta) {
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_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_];
deltaSet_new.deltas[i_] = fnGetModifiedDelta(delta_old);
}

View file

@ -17,8 +17,7 @@ var Mirror = exports.Mirror = function(sender) {
// Convert delta.range back into a Range instance since
// window.onMessage loses non-primitive data. See http://jsfiddle.net/nqJfw/1/.
var deltas = e.data;
for (var i in deltas)
{
for (var i in deltas) {
var delta = deltas[i];
delta.range = Range.fromPoints(delta.range.start, delta.range.end);
}