From 381d5b91b20e13dbbec3976187fc7aa88d58a753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Sch=C3=BC=C3=9Fler?= Date: Mon, 23 Jun 2014 22:57:48 +0200 Subject: [PATCH] Indentation respects tab stops now, fix #2672 --- src/editor.coffee | 5 +++-- src/selection.coffee | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/editor.coffee b/src/editor.coffee index 4fd22c8cb..0e622b3a0 100644 --- a/src/editor.coffee +++ b/src/editor.coffee @@ -416,9 +416,10 @@ class Editor extends Model @displayBuffer.indentLevelForLine(line) # Constructs the string used for tabs. - buildIndentString: (number) -> + buildIndentString: (number, column=0) -> if @getSoftTabs() - _.multiplyString(" ", Math.floor(number * @getTabLength())) + tabStopViolation = column % @getTabLength() + _.multiplyString(" ", Math.floor(number * @getTabLength()) - tabStopViolation) else _.multiplyString("\t", Math.floor(number)) diff --git a/src/selection.coffee b/src/selection.coffee index 204786773..ab7c91006 100644 --- a/src/selection.coffee +++ b/src/selection.coffee @@ -392,7 +392,7 @@ class Selection extends Model if autoIndent and delta > 0 @insertText(@editor.buildIndentString(delta)) else - @insertText(@editor.getTabText()) + @insertText(@editor.buildIndentString(1, @cursor.getBufferColumn())) else @indentSelectedRows()