Class: RubyLsp::Requests::FoldingRanges
- Extended by:
- T::Sig
- Defined in:
- lib/ruby_lsp/requests/folding_ranges.rb
Overview

The [folding ranges](microsoft.github.io/language-server-protocol/specification#textDocument_foldingRange) request informs the editor of the ranges where and how code can be folded.
# Example
“‘ruby def say_hello # <– folding range start
puts "Hello"
end # <– folding range end “‘
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(comments, dispatcher) ⇒ FoldingRanges
constructor
A new instance of FoldingRanges.
- #perform ⇒ Object
Constructor Details
#initialize(comments, dispatcher) ⇒ FoldingRanges
Returns a new instance of FoldingRanges.
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 37 def initialize(comments, dispatcher) super() @response_builder = T.let( ResponseBuilders::CollectionResponseBuilder[Interface::FoldingRange].new, ResponseBuilders::CollectionResponseBuilder[Interface::FoldingRange], ) @listener = T.let( Listeners::FoldingRanges.new(@response_builder, comments, dispatcher), Listeners::FoldingRanges, ) end |
Class Method Details
Instance Method Details
#perform ⇒ Object
50 51 52 53 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 50 def perform @listener.finalize_response! @response_builder.response end |