Merge branch 'master' into structural-folding

This commit is contained in:
Nathan Sobo
2012-05-31 18:05:13 -06:00
2 changed files with 40 additions and 23 deletions

View File

@@ -339,8 +339,7 @@ class Editor extends View
Math.floor(@scrollTop() / @lineHeight)
getLastVisibleScreenRow: ->
maxVisibleScreenRow = Math.ceil((@scrollTop() + @scrollView.height()) / @lineHeight) - 1
Math.min(maxVisibleScreenRow, @getLastScreenRow())
Math.ceil((@scrollTop() + @scrollView.height()) / @lineHeight) - 1
highlightSelectedFolds: ->
screenLines = @screenLinesForRows(@firstRenderedScreenRow, @lastRenderedScreenRow)
@@ -447,14 +446,12 @@ class Editor extends View
oldScreenRange = e.oldRange
newScreenRange = e.newRange
@compositeCursor.updateBufferPosition() unless e.bufferChanged
if @attached
@verticalScrollbarContent.height(@lineHeight * @screenLineCount())
return if oldScreenRange.start.row > @lastRenderedScreenRow
maxEndRow = Math.max(@getFirstVisibleScreenRow() + @lineOverdraw, @lastRenderedScreenRow)
maxEndRow = Math.max(@getLastVisibleScreenRow() + @lineOverdraw, @lastRenderedScreenRow)
@gutter.renderLineNumbers(@firstRenderedScreenRow, maxEndRow) if e.lineNumbersChanged
newScreenRange = newScreenRange.copy()
@@ -479,10 +476,14 @@ class Editor extends View
rowDelta = newScreenRange.end.row - oldScreenRange.end.row
@lastRenderedScreenRow += rowDelta
@updateVisibleLines() if rowDelta < 0
if @lastRenderedScreenRow > maxEndRow
@removeLineElements(maxEndRow + 1, @lastRenderedScreenRow)
@lastRenderedScreenRow = maxEndRow
@compositeCursor.updateBufferPosition() unless e.bufferChanged
buildLineElements: (startRow, endRow) ->
charWidth = @charWidth
charHeight = @charHeight