diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 1551473c..1ab72848 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -1315,7 +1315,7 @@ var Editor = function(renderer, session) { /** * Editor.getNumberAt() -> Number * - * Works like [[Editor.getTokenAt]], excepts it returns a number. + * Works like [[Editor.getTokenAt]], except it returns a number. **/ this.getNumberAt = function( row, column ) { var _numberRx = /[\-]?[0-9]+(?:\.[0-9]+)?/g @@ -1346,20 +1346,16 @@ var Editor = function(renderer, session) { var row = this.selection.getCursor().row; var column = this.selection.getCursor().column; - //get the char before the cursor - var charRange = new Range(0,0,0,0); - charRange.start.row = row; - charRange.end.row = row; - charRange.start.column = column-1; - charRange.end.column = column; + // get the char before the cursor + var charRange = new Range(row, column-1, row, column); var c = this.session.getTextRange(charRange); - //if the char is a digit - if(!isNaN(parseFloat(c)) && isFinite(c)) { - //get the whole number the digit is part of + // if the char is a digit + if (!isNaN(parseFloat(c)) && isFinite(c)) { + // get the whole number the digit is part of var nr = this.getNumberAt(row, column); - //if number found - if(nr) { + // if number found + if (nr) { var fp = nr.value.indexOf(".") >= 0 ? nr.start + nr.value.indexOf(".") + 1 : nr.end; var decimals = nr.start + nr.value.length - fp; @@ -1378,18 +1374,14 @@ var Editor = function(renderer, session) { var nnr = t.toFixed(decimals); //update number - var replaceRange = new Range(0, 0, 0, 0); - replaceRange.start.row = row; - replaceRange.end.row = row; - replaceRange.start.column = nr.start; - replaceRange.end.column = nr.end; + var replaceRange = new Range(row, nr.start, row, nr.end); this.session.replace(replaceRange, nnr); //reposition the cursor this.moveCursorTo(row, Math.max(nr.start +1, column + nnr.length - nr.value.length)); } - } + } }; /** related to: EditSession.remove