Support selecting inserted text

This commit is contained in:
Kevin Sawicki
2012-10-04 16:32:55 -07:00
parent ceb496e202
commit e87cb34d1d
4 changed files with 27 additions and 7 deletions

View File

@@ -213,7 +213,7 @@ class Editor extends View
deleteToEndOfWord: -> @activeEditSession.deleteToEndOfWord()
deleteLine: -> @activeEditSession.deleteLine()
cutToEndOfLine: -> @activeEditSession.cutToEndOfLine()
insertText: (text) -> @activeEditSession.insertText(text)
insertText: (text, options) -> @activeEditSession.insertText(text, options)
insertNewline: -> @activeEditSession.insertNewline()
insertNewlineBelow: -> @activeEditSession.insertNewlineBelow()
indent: -> @activeEditSession.indent()

View File

@@ -139,7 +139,10 @@ class Selection
wasReversed = @isReversed()
@clear()
newBufferRange = @editSession.buffer.change(oldBufferRange, text)
@cursor.setBufferPosition(newBufferRange.end, skipAtomicTokens: true) if wasReversed
if options.select
@setBufferRange(newBufferRange, reverse: wasReversed)
else
@cursor.setBufferPosition(newBufferRange.end, skipAtomicTokens: true) if wasReversed
autoIndent = options.autoIndent ? true

View File

@@ -26,10 +26,8 @@ class EditorCommand
selection = editor.getSelection()
return false if selection.isEmpty()
range = selection.getBufferRange()
reverse = selection.isReversed()
text = replace(editor.getTextInRange(range))
text = replace(editor.getTextInRange(selection.getBufferRange()))
return false if text is null or text is undefined
editor.insertText(text)
selection.setBufferRange(range, {reverse})
editor.insertText(text, select: true)
true