class LanguageServer::Protocol::Interface::FoldingRangeClientCapabilities

Attributes

attributes[R]

Public Class Methods

new(dynamic_registration: nil, range_limit: nil, line_folding_only: nil, folding_range_kind: nil, folding_range: nil) click to toggle source
# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 5
def initialize(dynamic_registration: nil, range_limit: nil, line_folding_only: nil, folding_range_kind: nil, folding_range: nil)
  @attributes = {}

  @attributes[:dynamicRegistration] = dynamic_registration if dynamic_registration
  @attributes[:rangeLimit] = range_limit if range_limit
  @attributes[:lineFoldingOnly] = line_folding_only if line_folding_only
  @attributes[:foldingRangeKind] = folding_range_kind if folding_range_kind
  @attributes[:foldingRange] = folding_range if folding_range

  @attributes.freeze
end

Public Instance Methods

dynamic_registration() click to toggle source

Whether implementation supports dynamic registration for folding range providers. If this is set to ‘true` the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server capability as well.

@return [boolean]

# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 24
def dynamic_registration
  attributes.fetch(:dynamicRegistration)
end
folding_range() click to toggle source

Specific options for the folding range.

@return [{ collapsedText?: boolean; }]

# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 60
def folding_range
  attributes.fetch(:foldingRange)
end
folding_range_kind() click to toggle source

Specific options for the folding range kind.

@return [{ valueSet?: string[]; }]

# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 52
def folding_range_kind
  attributes.fetch(:foldingRangeKind)
end
line_folding_only() click to toggle source

If set, the client signals that it only supports folding complete lines. If set, client will ignore specified ‘startCharacter` and `endCharacter` properties in a FoldingRange.

@return [boolean]

# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 44
def line_folding_only
  attributes.fetch(:lineFoldingOnly)
end
range_limit() click to toggle source

The maximum number of folding ranges that the client prefers to receive per document. The value serves as a hint, servers are free to follow the limit.

@return [number]

# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 34
def range_limit
  attributes.fetch(:rangeLimit)
end
to_hash() click to toggle source
# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 66
def to_hash
  attributes
end
to_json(*args) click to toggle source
# File lib/language_server/protocol/interface/folding_range_client_capabilities.rb, line 70
def to_json(*args)
  to_hash.to_json(*args)
end