InsertText takes an option to turn autoIndent off

This commit is contained in:
Corey Johnson
2012-08-09 16:20:45 -07:00
parent cd8e6a7f20
commit 65d40557ff
2 changed files with 6 additions and 4 deletions

View File

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

View File

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