Class: RubyLsp::Requests::FoldingRanges::PartialRange
- Inherits:
-
Object
- Object
- RubyLsp::Requests::FoldingRanges::PartialRange
- Extended by:
- T::Sig
- Defined in:
- lib/ruby_lsp/requests/folding_ranges.rb
Instance Attribute Summary collapse
-
#end_line ⇒ Object
readonly
Returns the value of attribute end_line.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
Class Method Summary collapse
Instance Method Summary collapse
- #extend_to(node) ⇒ Object
-
#initialize(start_line, end_line, kind) ⇒ PartialRange
constructor
A new instance of PartialRange.
- #new_section?(node) ⇒ Boolean
- #to_range ⇒ Object
Constructor Details
#initialize(start_line, end_line, kind) ⇒ PartialRange
Returns a new instance of PartialRange.
113 114 115 116 117 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 113 def initialize(start_line, end_line, kind) @start_line = start_line @end_line = end_line @kind = kind end |
Instance Attribute Details
#end_line ⇒ Object (readonly)
Returns the value of attribute end_line.
105 106 107 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 105 def end_line @end_line end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
102 103 104 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 102 def kind @kind end |
Class Method Details
.from(node, kind) ⇒ Object
108 109 110 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 108 def self.from(node, kind) new(node.location.start_line - 1, node.location.end_line - 1, kind) end |
Instance Method Details
#extend_to(node) ⇒ Object
120 121 122 123 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 120 def extend_to(node) @end_line = node.location.end_line - 1 self end |
#new_section?(node) ⇒ Boolean
126 127 128 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 126 def new_section?(node) node.is_a?(SyntaxTree::Comment) && @end_line + 1 != node.location.start_line - 1 end |
#to_range ⇒ Object
131 132 133 134 135 136 137 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 131 def to_range LanguageServer::Protocol::Interface::FoldingRange.new( start_line: @start_line, end_line: @end_line, kind: @kind ) end |