Sha256: 7aa09dbb6567063de992413f247c7f0aa3fabd9b1e9685c07e9a5bcb23518a84
Contents?: true
Size: 1.47 KB
Versions: 4
Compression:
Stored size: 1.47 KB
Contents
module LanguageServer module Protocol module Interface # # A code lens represents a command that should be shown along with # source text, like the number of references, a way to run tests, etc. # # A code lens is _unresolved_ when no command is associated to it. For # performance reasons the creation of a code lens and resolving should be done # in two stages. # class CodeLens def initialize(range:, command: nil, data: nil) @attributes = {} @attributes[:range] = range @attributes[:command] = command if command @attributes[:data] = data if data @attributes.freeze end # # The range in which this code lens is valid. Should only span a single # line. # # @return [Range] def range attributes.fetch(:range) end # # The command this code lens represents. # # @return [Command] def command attributes.fetch(:command) end # # A data entry field that is preserved on a code lens item between # a code lens and a code lens resolve request. # # @return [any] def data attributes.fetch(:data) 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
4 entries across 4 versions & 1 rubygems