mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
16 lines
478 B
CoffeeScript
16 lines
478 B
CoffeeScript
module.exports =
|
|
class Operation
|
|
constructor: ({@buffer, bufferRange, @newText, @preserveSelection}) ->
|
|
@buffer.retain()
|
|
@anchorRange = @buffer.addAnchorRange(bufferRange)
|
|
|
|
getBufferRange: ->
|
|
@anchorRange.getBufferRange()
|
|
|
|
execute: (editSession) ->
|
|
@buffer.change(@getBufferRange(), @newText) if @newText
|
|
editSession.addSelectionForBufferRange(@getBufferRange()) unless @preserveSelection
|
|
|
|
destroy: ->
|
|
@buffer.release()
|
|
@anchorRange.destroy() |