Files
atom/src/extensions/command-panel/operation.coffee
2012-07-17 14:26:12 -06:00

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