mirror of
https://github.com/atom/atom.git
synced 2026-02-15 00:55:14 -05:00
Editor toggle-fold event toggles the largest fold at the cursor position
This commit is contained in:
@@ -2457,6 +2457,19 @@ describe "Editor", ->
|
||||
editor.trigger "toggle-fold"
|
||||
expect(editor.screenLineForRow(1).fold).toBeUndefined()
|
||||
|
||||
it "creates/destroys the largest fold containing the cursor position", ->
|
||||
editor.trigger "fold-all"
|
||||
editor.setCursorBufferPosition([5,1])
|
||||
|
||||
editor.trigger "toggle-fold"
|
||||
expect(editor.screenLineForRow(0).fold).toBeUndefined()
|
||||
expect(editor.screenLineForRow(1).fold).toBeDefined()
|
||||
|
||||
editor.trigger "toggle-fold"
|
||||
expect(editor.screenLineForRow(0).fold).toBeUndefined()
|
||||
expect(editor.screenLineForRow(1).fold).toBeUndefined()
|
||||
expect(editor.screenLineForRow(4).fold).toBeDefined()
|
||||
|
||||
describe "when a fold-all event is triggered", ->
|
||||
it "creates folds on every line that can be folded", ->
|
||||
editor.setCursorBufferPosition([5,13])
|
||||
@@ -2465,6 +2478,11 @@ describe "Editor", ->
|
||||
expect(editor.screenLineForRow(0).fold).toBeDefined()
|
||||
expect(editor.screenLineForRow(1)).toBeUndefined()
|
||||
|
||||
it "maintains cursor buffer position when buffer is created/destroyed", ->
|
||||
editor.setCursorBufferPosition([5,5])
|
||||
editor.trigger "fold-all"
|
||||
expect(editor.getCursorBufferPosition()).toEqual([5,5])
|
||||
|
||||
describe "primitive folding", ->
|
||||
beforeEach ->
|
||||
editor.setBuffer(new Buffer(require.resolve('fixtures/two-hundred.txt')))
|
||||
|
||||
@@ -810,7 +810,8 @@ class Editor extends View
|
||||
@renderer.foldAll()
|
||||
|
||||
toggleFold: ->
|
||||
@renderer.toggleFoldAtBufferRow(@getCursorBufferPosition().row)
|
||||
row = @renderer.bufferPositionForScreenPosition(@getCursorScreenPosition()).row
|
||||
@renderer.toggleFoldAtBufferRow(row)
|
||||
|
||||
foldSelection: -> @getSelection().fold()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user