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
114 115 116 117 118 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 114 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.
106 107 108 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 106 def end_line @end_line end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
103 104 105 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 103 def kind @kind end |
Class Method Details
.from(node, kind) ⇒ Object
109 110 111 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 109 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
121 122 123 124 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 121 def extend_to(node) @end_line = node.location.end_line - 1 self end |
#multiline? ⇒ Boolean
141 142 143 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 141 def multiline? @end_line > @start_line end |
#new_section?(node) ⇒ Boolean
127 128 129 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 127 def new_section?(node) node.is_a?(SyntaxTree::Comment) && @end_line + 1 != node.location.start_line - 1 end |
#to_range ⇒ Object
132 133 134 135 136 137 138 |
# File 'lib/ruby_lsp/requests/folding_ranges.rb', line 132 def to_range LanguageServer::Protocol::Interface::FoldingRange.new( start_line: @start_line, end_line: @end_line, kind: @kind ) end |