Skip lines that are too-short when adding non-empty selection below

This commit is contained in:
Nathan Sobo
2013-04-05 11:18:50 -06:00
parent 40d7fcf32c
commit 131df22c11
3 changed files with 53 additions and 40 deletions

View File

@@ -125,8 +125,8 @@ class EditSession
getTabLength: -> @displayBuffer.getTabLength()
setTabLength: (tabLength) -> @displayBuffer.setTabLength(tabLength)
clipBufferPosition: (bufferPosition) ->
@buffer.clipPosition(bufferPosition)
clipBufferPosition: (bufferPosition) -> @buffer.clipPosition(bufferPosition)
clipBufferRange: (range) -> @buffer.clipRange(range)
indentationForBufferRow: (bufferRow) ->
@indentLevelForLine(@lineForBufferRow(bufferRow))

View File

@@ -154,9 +154,13 @@ class Selection
addSelectionBelow: ->
range = (@goalBufferRange ? @getBufferRange()).copy()
range.start.row++
range.end.row++
@editSession.addSelectionForBufferRange(range, goalBufferRange: range, suppressMerge: true)
nextRow = range.end.row + 1
for row in [nextRow..@editSession.getLastBufferRow()]
range.start.row = row
range.end.row = row
unless @editSession.clipBufferRange(range).isEmpty()
@editSession.addSelectionForBufferRange(range, goalBufferRange: range, suppressMerge: true)
break
insertText: (text, options={}) ->
oldBufferRange = @getBufferRange()