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) { 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);

View file

@ -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.

View file

@ -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(),

View file

@ -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) {

View file

@ -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++) {

View file

@ -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,
@ -178,12 +183,7 @@ var UndoManager = function() {
}; };
} }
// 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);
} }

View file

@ -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);
} }