Emit row-oriented screen lien change events from EditSession

This commit is contained in:
Nathan Sobo
2012-11-15 12:13:59 -07:00
parent 841e34090b
commit cf4e87103e
2 changed files with 12 additions and 11 deletions

View File

@@ -61,7 +61,16 @@ class EditSession
@displayBuffer.on "change.edit-session-#{@id}", (e) =>
@refreshAnchorScreenPositions() unless e.bufferChange
@trigger 'screen-lines-change', e
{ oldRange, newRange } = e
start = oldRange.start.row
end = oldRange.end.row
screenDelta = newRange.end.row - oldRange.end.row
if bufferChange = e.bufferChange
bufferDelta = bufferChange.newRange.end.row - bufferChange.oldRange.end.row
@trigger 'screen-lines-change', {start, end, screenDelta, bufferDelta}
destroy: ->
throw new Error("Edit session already destroyed") if @destroyed