Sha256: 6315b5dd2478dbffb7cd4328f66ac8e7fc7d27227dbc333c6494857dc701931f
Contents?: true
Size: 1.51 KB
Versions: 107
Compression:
Stored size: 1.51 KB
Contents
module LanguageServer module Protocol module Interface class SelectionRangeParams def initialize(work_done_token: nil, partial_result_token: nil, text_document:, positions:) @attributes = {} @attributes[:workDoneToken] = work_done_token if work_done_token @attributes[:partialResultToken] = partial_result_token if partial_result_token @attributes[:textDocument] = text_document @attributes[:positions] = positions @attributes.freeze end # # An optional token that a server can use to report work done progress. # # @return [ProgressToken] def work_done_token attributes.fetch(:workDoneToken) end # # An optional token that a server can use to report partial results (e.g. # streaming) to the client. # # @return [ProgressToken] def partial_result_token attributes.fetch(:partialResultToken) end # # The text document. # # @return [TextDocumentIdentifier] def text_document attributes.fetch(:textDocument) end # # The positions inside the text document. # # @return [Position[]] def positions attributes.fetch(:positions) end attr_reader :attributes def to_hash attributes end def to_json(*args) to_hash.to_json(*args) end end end end end
Version data entries
107 entries across 107 versions & 13 rubygems