mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
Invalidate empty lines proceeding a change event
The indent guide on empty lines will now be updated when the non-empty line preceeding the empty lines is updated.
This commit is contained in:
@@ -1849,6 +1849,20 @@ describe "Editor", ->
|
||||
|
||||
expect(editor.renderedLines.find('.line:eq(12) .indent-guide').length).toBe 0
|
||||
|
||||
describe "when the indentation level on a line before an empty line is changed", ->
|
||||
it "updates the indent guide on the empty line", ->
|
||||
editor.attachToDom()
|
||||
config.set("editor.showIndentGuide", true)
|
||||
|
||||
expect(editor.renderedLines.find('.line:eq(10) .indent-guide').length).toBe 1
|
||||
expect(editor.renderedLines.find('.line:eq(10) .indent-guide').text()).toBe ' '
|
||||
|
||||
editor.setCursorBufferPosition([9])
|
||||
editor.indentSelectedRows()
|
||||
|
||||
expect(editor.renderedLines.find('.line:eq(10) .indent-guide').length).toBe 2
|
||||
expect(editor.renderedLines.find('.line:eq(10) .indent-guide').text()).toBe ' '
|
||||
|
||||
describe "gutter rendering", ->
|
||||
beforeEach ->
|
||||
editor.attachToDom(heightInLines: 5.5)
|
||||
|
||||
@@ -1006,6 +1006,18 @@ class Editor extends View
|
||||
return [] if !@firstRenderedScreenRow? and !@lastRenderedScreenRow?
|
||||
|
||||
intactRanges = [{start: @firstRenderedScreenRow, end: @lastRenderedScreenRow, domStart: 0}]
|
||||
|
||||
if @showIndentGuide
|
||||
trailingEmptyLineChanges = []
|
||||
for change in @pendingChanges
|
||||
continue unless change.bufferDelta?
|
||||
start = change.end + change.bufferDelta + 1
|
||||
continue unless @lineForBufferRow(start) is ''
|
||||
end = start
|
||||
end++ while @lineForBufferRow(end + 1) is ''
|
||||
trailingEmptyLineChanges.push({start, end, screenDelta: 0})
|
||||
@pendingChanges.push(trailingEmptyLineChanges...)
|
||||
|
||||
for change in @pendingChanges
|
||||
newIntactRanges = []
|
||||
for range in intactRanges
|
||||
|
||||
Reference in New Issue
Block a user