mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
Add toggle-fold event to editor
This commit is contained in:
@@ -120,6 +120,7 @@ class Editor extends View
|
||||
'undo': @undo
|
||||
'redo': @redo
|
||||
'toggle-soft-wrap': @toggleSoftWrap
|
||||
'toggle-fold': @toggleFold
|
||||
'fold-selection': @foldSelection
|
||||
'unfold': => @unfoldRow(@getCursorBufferPosition().row)
|
||||
'split-left': @splitLeft
|
||||
@@ -710,11 +711,6 @@ class Editor extends View
|
||||
copySelection: -> @compositeSelection.copy()
|
||||
paste: -> @insertText($native.readFromPasteboard())
|
||||
|
||||
foldSelection: -> @getSelection().fold()
|
||||
|
||||
unfoldRow: (row) ->
|
||||
@renderer.largestFoldForBufferRow(row)?.destroy()
|
||||
|
||||
undo: ->
|
||||
if ranges = @buffer.undo()
|
||||
@setSelectedBufferRanges(ranges)
|
||||
@@ -808,5 +804,13 @@ class Editor extends View
|
||||
for cursor in @getCursors()
|
||||
do (cursor) -> cursor.resetCursorAnimation()
|
||||
|
||||
toggleFold: ->
|
||||
@renderer.toggleFoldAtBufferRow(@getCursorBufferPosition().row)
|
||||
|
||||
foldSelection: -> @getSelection().fold()
|
||||
|
||||
unfoldRow: (row) ->
|
||||
@renderer.largestFoldForBufferRow(row)?.destroy()
|
||||
|
||||
logLines: (start, end) ->
|
||||
@renderer.logLines(start, end)
|
||||
|
||||
@@ -53,6 +53,12 @@ class Renderer
|
||||
bufferRowsForScreenRows: (startRow, endRow) ->
|
||||
@lineMap.bufferRowsForScreenRows(startRow, endRow)
|
||||
|
||||
toggleFoldAtBufferRow: (bufferRow) ->
|
||||
if fold = @largestFoldForBufferRow(bufferRow)
|
||||
fold.destroy()
|
||||
else
|
||||
@createFoldAtBufferRow(bufferRow)
|
||||
|
||||
createFoldAtBufferRow: (bufferRow) ->
|
||||
[startRow, endRow] = @foldSuggester.rowRangeForFoldAtBufferRow(bufferRow)
|
||||
@createFold(startRow, endRow)
|
||||
|
||||
Reference in New Issue
Block a user