From de38faaa74c6d16274d264da6feaff745f83662d Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 29 May 2016 02:18:42 +0400 Subject: [PATCH] fix +13786 tab sometimes deletes character before --- node_modules/ace/lib/ace/editor.js | 2 +- node_modules/ace/lib/ace/editor_text_edit_test.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/node_modules/ace/lib/ace/editor.js b/node_modules/ace/lib/ace/editor.js index b130df22..8705fc49 100644 --- a/node_modules/ace/lib/ace/editor.js +++ b/node_modules/ace/lib/ace/editor.js @@ -1486,7 +1486,7 @@ var Editor = function(renderer, session) { var indentString = lang.stringRepeat(" ", count); } else { var count = column % size; - while (line[range.start.column] == " " && count) { + while (line[range.start.column - 1] == " " && count) { range.start.column--; count--; } diff --git a/node_modules/ace/lib/ace/editor_text_edit_test.js b/node_modules/ace/lib/ace/editor_text_edit_test.js index 77ec34ed..382b8518 100644 --- a/node_modules/ace/lib/ace/editor_text_edit_test.js +++ b/node_modules/ace/lib/ace/editor_text_edit_test.js @@ -124,6 +124,12 @@ module.exports = { var range = editor.getSelectionRange(); assert.position(range.start, 1, 7); assert.position(range.end, 2, 7); + + session.setValue(" x"); + session.setOption("useSoftTabs", false); + editor.selection.moveTo(0, 3); + editor.indent(); + assert.equal("\tx", session.toString()); }, "test: indent selected lines" : function() {