diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index 85b66a373..f08d70a2b 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -130,8 +130,8 @@ class EditSession bufferRowsForScreenRows: (startRow, endRow) -> @displayBuffer.bufferRowsForScreenRows(startRow, endRow) logScreenLines: (start, end) -> @displayBuffer.logLines(start, end) - insertText: (text) -> - @mutateSelectedText (selection) -> selection.insertText(text) + insertText: (text, options) -> + @mutateSelectedText (selection) -> selection.insertText(text, options) insertNewline: -> @insertText('\n') diff --git a/src/app/selection.coffee b/src/app/selection.coffee index 384536788..1e350d59b 100644 --- a/src/app/selection.coffee +++ b/src/app/selection.coffee @@ -125,7 +125,7 @@ class Selection selectToEndOfWord: -> @modifySelection => @cursor.moveToEndOfWord() - insertText: (text) -> + insertText: (text, options={}) -> oldBufferRange = @getBufferRange() @editSession.destroyFoldsContainingBufferRow(oldBufferRange.end.row) wasReversed = @isReversed() @@ -133,7 +133,9 @@ class Selection newBufferRange = @editSession.buffer.change(oldBufferRange, text) @cursor.setBufferPosition(newBufferRange.end, skipAtomicTokens: true) if wasReversed - if @editSession.autoIndent + autoIndent = options.autoIndent ? true + + if @editSession.autoIndent and autoIndent if /\n/.test(text) firstLinePrefix = @editSession.getTextInBufferRange([[newBufferRange.start.row, 0], newBufferRange.start]) if /^\s*$/.test(firstLinePrefix)