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.
- #multiline? ⇒ Boolean
- #new_section?(node) ⇒ Boolean
- #to_range ⇒ Object
Constructor Details
#initialize(start_line, end_line, kind) ⇒ PartialRange
Returns a new instance of PartialRange.
121 122 123 124 125 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 121 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.
109 110 111 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 109 def end_line @end_line end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
106 107 108 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 106 def kind @kind end |
Class Method Details
.from(node, kind) ⇒ Object
115 116 117 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 115 def from(node, kind) new(node.location.start_line - 1, node.location.end_line - 1, kind) end |
Instance Method Details
#extend_to(node) ⇒ Object
128 129 130 131 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 128 def extend_to(node) @end_line = node.location.end_line - 1 self end |
#multiline? ⇒ Boolean
148 149 150 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 148 def multiline? @end_line > @start_line end |
#new_section?(node) ⇒ Boolean
134 135 136 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 134 def new_section?(node) node.is_a?(SyntaxTree::Comment) && @end_line + 1 != node.location.start_line - 1 end |
#to_range ⇒ Object
139 140 141 142 143 144 145 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 139 def to_range LanguageServer::Protocol::Interface::FoldingRange.new( start_line: @start_line, end_line: @end_line, kind: @kind, ) end |