From 4bf10ab7c272bb2a2646f68eebde9bae14d0b864 Mon Sep 17 00:00:00 2001 From: Corey Johnson & Nathan Sobo Date: Thu, 8 Mar 2012 15:19:57 -0800 Subject: [PATCH] Gutter isn't updated when a single screen line is modified. --- src/atom/editor.coffee | 5 +++-- src/atom/range.coffee | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/atom/editor.coffee b/src/atom/editor.coffee index 69e2d8f8e..aff768fc1 100644 --- a/src/atom/editor.coffee +++ b/src/atom/editor.coffee @@ -177,10 +177,11 @@ class Editor extends View @cursor.bufferChanged(e) @renderer.on 'change', (e) => - @gutter.renderLineNumbers(@getScreenLines()) + { oldRange, newRange } = e + unless newRange.isSingleLine() and newRange.coversSameRows(oldRange) + @gutter.renderLineNumbers(@getScreenLines()) @cursor.refreshScreenPosition() unless e.bufferChanged - { oldRange, newRange } = e screenLines = @linesForRows(newRange.start.row, newRange.end.row) if newRange.end.row > oldRange.end.row # update, then insert elements diff --git a/src/atom/range.coffee b/src/atom/range.coffee index af511be16..0fb15d9fd 100644 --- a/src/atom/range.coffee +++ b/src/atom/range.coffee @@ -31,6 +31,12 @@ class Range other.start.isEqual(@start) and other.end.isEqual(@end) + isSingleLine: -> + @start.row == @end.row + + coversSameRows: (other) -> + @start.row == other.start.row && @end.row == other.end.row + inspect: -> "[#{@start.inspect()} - #{@end.inspect()}]"