From 17c0526bc34098176b613ef29ddbcbbec60f8ee4 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 31 May 2012 10:12:59 -0700 Subject: [PATCH 1/2] Add test for gutter rendering of fold lines --- spec/app/editor-spec.coffee | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spec/app/editor-spec.coffee b/spec/app/editor-spec.coffee index a4295f2af..6693b5141 100644 --- a/spec/app/editor-spec.coffee +++ b/spec/app/editor-spec.coffee @@ -732,6 +732,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() From 477a11b6ba7c76f85342ec8df7d0a304e1530427 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 31 May 2012 10:27:14 -0700 Subject: [PATCH 2/2] :lipstick: --- src/app/editor.coffee | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/app/editor.coffee b/src/app/editor.coffee index 9235c406a..5bd96dc4f 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, @lastRenderedScreenRow) - @gutter.renderLineNumbers(@firstRenderedScreenRow, maxEndRow) if e.lineNumbersChanged @verticalScrollbarContent.height(@lineHeight * @screenLineCount()) return if oldScreenRange.start.row > @lastRenderedScreenRow + maxEndRow = Math.max(@getLastVisibleScreenRow(), @lastRenderedScreenRow) + @gutter.renderLineNumbers(@firstRenderedScreenRow, maxEndRow) if e.lineNumbersChanged + newScreenRange = newScreenRange.copy() oldScreenRange = oldScreenRange.copy() endOfShortestRange = Math.min(oldScreenRange.end.row, newScreenRange.end.row)