Class: RubyLsp::Requests::CodeLens
- Extended by:
- T::Generic, T::Sig
- Defined in:
- lib/ruby_lsp/requests/code_lens.rb
Overview

The [code lens](microsoft.github.io/language-server-protocol/specification#textDocument_codeLens) request informs the editor of runnable commands such as tests
# Configuration
To disable gem code lenses, set ‘rubyLsp.featuresConfiguration.codeLens.gemfileLinks` to `false`.
# Example
“‘ruby # Run class Test < Minitest::Test end “`
Constant Summary collapse
- ResponseType =
type_member { { fixed: T::Array[Interface::CodeLens] } }
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(uri, lenses_configuration, dispatcher) ⇒ CodeLens
constructor
A new instance of CodeLens.
- #perform ⇒ Object
Constructor Details
#initialize(uri, lenses_configuration, dispatcher) ⇒ CodeLens
Returns a new instance of CodeLens.
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ruby_lsp/requests/code_lens.rb', line 49 def initialize(uri, lenses_configuration, dispatcher) super() @listeners = T.let( [Listeners::CodeLens.new(uri, lenses_configuration, dispatcher)], T::Array[Listener[ResponseType]], ) Addon.addons.each do |addon| addon_listener = addon.create_code_lens_listener(uri, dispatcher) @listeners << addon_listener if addon_listener end end |
Class Method Details
.provider ⇒ Object
35 36 37 |
# File 'lib/ruby_lsp/requests/code_lens.rb', line 35 def provider Interface::CodeLensOptions.new(resolve_provider: false) end |
Instance Method Details
#perform ⇒ Object
63 64 65 |
# File 'lib/ruby_lsp/requests/code_lens.rb', line 63 def perform @listeners.flat_map(&:response) end |