mirror of
https://github.com/atom/atom.git
synced 2026-02-10 14:45:11 -05:00
FoldSuggester can return a row range of a foldable syntactic region starting at a given row
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
module.exports =
|
||||
class AceFoldAdaptor
|
||||
constructor: (@buffer) ->
|
||||
foldWidgets: {}
|
||||
|
||||
constructor: (@highlighter) ->
|
||||
@buffer = @highlighter.buffer
|
||||
|
||||
getLine: (bufferRow) ->
|
||||
@buffer.lineForRow(bufferRow)
|
||||
|
||||
$findClosingBracket: (bracketType, bufferPosition) ->
|
||||
@highlighter.findClosingBracket([bufferPosition.row, bufferPosition.column - 1])
|
||||
|
||||
|
||||
@@ -2,9 +2,16 @@ AceFoldAdaptor = require 'ace-fold-adaptor'
|
||||
|
||||
module.exports =
|
||||
class FoldSuggester
|
||||
constructor: (@buffer) ->
|
||||
constructor: (@highlighter) ->
|
||||
@buffer = @highlighter.buffer
|
||||
@aceFoldMode = @buffer.getMode().foldingRules
|
||||
@aceFoldAdaptor = new AceFoldAdaptor(@buffer)
|
||||
@aceFoldAdaptor = new AceFoldAdaptor(@highlighter)
|
||||
|
||||
isBufferRowFoldable: (bufferRow) ->
|
||||
@aceFoldMode?.getFoldWidget(@aceFoldAdaptor, null, bufferRow) == "start"
|
||||
|
||||
rowRangeForFoldAtBufferRow: (bufferRow) ->
|
||||
if aceRange = @aceFoldMode?.getFoldWidgetRange(@aceFoldAdaptor, null, bufferRow)
|
||||
[aceRange.start.row + 1, aceRange.end.row]
|
||||
else
|
||||
null
|
||||
|
||||
Reference in New Issue
Block a user