Skip the undo stack when changing composition text.

This commit is contained in:
Cheng Zhao
2013-09-16 10:43:34 +08:00
parent dee9cce2e3
commit f4e3f7a055
2 changed files with 5 additions and 3 deletions

View File

@@ -705,9 +705,9 @@ class Editor extends View
@hiddenInput.on 'compositionstart', =>
@hiddenInput.css('width', '100%')
@hiddenInput.on 'compositionupdate', (e) =>
@insertText(e.originalEvent.data, select: true)
@insertText(e.originalEvent.data, {select: true, skipUndo: true})
@hiddenInput.on 'compositionend', =>
@delete()
@insertText('', skipUndo: true)
@hiddenInput.css('width', '1px')
selectOnMousemoveUntilMouseup: ->

View File

@@ -296,6 +296,8 @@ class Selection
# + autoDecreaseIndent:
# if `true`, decreases indent level appropriately (for example, when a
# closing bracket is inserted)
# + skipUndo:
# if `true`, skips the undo stack for this operation.
insertText: (text, options={}) ->
oldBufferRange = @getBufferRange()
@editSession.destroyFoldsContainingBufferRow(oldBufferRange.end.row)
@@ -306,7 +308,7 @@ class Selection
if options.indentBasis? and not options.autoIndent
text = @normalizeIndents(text, options.indentBasis)
newBufferRange = @editSession.buffer.change(oldBufferRange, text)
newBufferRange = @editSession.buffer.change(oldBufferRange, text, skipUndo: options.skipUndo)
if options.select
@setBufferRange(newBufferRange, isReversed: wasReversed)
else