diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee index cd9dbacd5..de1685ea5 100644 --- a/spec/app/editor-spec.coffee +++ b/spec/app/editor-spec.coffee @@ -750,6 +750,14 @@ describe "Editor", -> expect(editor.gutter.find('.line-number:eq(3)').text()).toBe '4' expect(editor.gutter.find('.line-number:eq(4)').text()).toBe '6' + it "redraws gutter numbers when lines are unfolded", -> + setEditorHeightInLines(editor, 20) + fold = editor.createFold(2, 12) + expect(editor.gutter.find('.line-number').length).toBe 3 + + fold.destroy() + expect(editor.gutter.find('.line-number').length).toBe 13 + describe "when the scrollView is scrolled to the right", -> it "adds a drop shadow to the gutter", -> editor.attachToDom() diff --git a/src/app/editor.coffee b/src/app/editor.coffee index a67e18970..b5302e9b4 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -449,15 +449,13 @@ class Editor extends View @compositeCursor.updateBufferPosition() unless e.bufferChanged if @attached - firstVisibleScreenRow = @getFirstVisibleScreenRow() - lastVisibleScreenRow = @getLastVisibleScreenRow() - - maxEndRow = Math.max(lastVisibleScreenRow + @lineOverdraw, @lastRenderedScreenRow) - @gutter.renderLineNumbers(@firstRenderedScreenRow, maxEndRow) if e.lineNumbersChanged @verticalScrollbarContent.height(@lineHeight * @screenLineCount()) return if oldScreenRange.start.row > @lastRenderedScreenRow + maxEndRow = Math.max(@getLastVisibleScreenRow() + @lineOverdraw, @lastRenderedScreenRow) + @gutter.renderLineNumbers(@firstRenderedScreenRow, maxEndRow) if e.lineNumbersChanged + newScreenRange = newScreenRange.copy() oldScreenRange = oldScreenRange.copy() endOfShortestRange = Math.min(oldScreenRange.end.row, newScreenRange.end.row)