Sha256: d72cd06a83a03ae9ce8aa7dc9cfa50394cef10fb0258a9acc8bb7cb4de735723
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 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_json(*args) attributes.to_json(*args) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
language_server-protocol-0.4.0 | lib/language_server/protocol/interface/code_lens.rb |
language_server-protocol-0.3.0 | lib/language_server/protocol/interface/code_lens.rb |