Class: RubyLsp::PinkSpoon::Addon
- Inherits:
-
Addon
- Object
- Addon
- RubyLsp::PinkSpoon::Addon
- Defined in:
- lib/ruby_lsp/pink_spoon/addon.rb
Instance Method Summary collapse
- #activate(global_state, outgoing_queue) ⇒ Object
- #create_code_lens_listener(response_builder, uri, dispatcher) ⇒ Object
- #create_completion_listener(response_builder, node_context, dispatcher, uri) ⇒ Object
- #create_definition_listener(response_builder, uri, node_context, dispatcher) ⇒ Object
- #create_hover_listener(response_builder, node_context, dispatcher) ⇒ Object
- #deactivate ⇒ Object
- #name ⇒ Object
- #version ⇒ Object
Instance Method Details
#activate(global_state, outgoing_queue) ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 111 def activate(global_state, outgoing_queue) root = global_state.workspace_path @rbi_index = ::PinkSpoon::RbiIndex.new(root) @constant_resolver = ::PinkSpoon::ConstantResolver.new(root, @rbi_index) @doc_extractor = ::PinkSpoon::DocExtractor.new(root) unless RubyLsp::Requests::Definition.ancestors.include?(LocalVariableDefinitionFallback) LocalVariableDefinitionFallback.addon_instance = self RubyLsp::Requests::Definition.prepend(LocalVariableDefinitionFallback) end unless RubyLsp::Requests::Hover.ancestors.include?(LocalVariableHoverFallback) LocalVariableHoverFallback.addon_instance = self RubyLsp::Requests::Hover.prepend(LocalVariableHoverFallback) end end |
#create_code_lens_listener(response_builder, uri, dispatcher) ⇒ Object
153 154 155 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 153 def create_code_lens_listener(response_builder, uri, dispatcher) CodeLensListener.new(response_builder, uri, dispatcher) end |
#create_completion_listener(response_builder, node_context, dispatcher, uri) ⇒ Object
148 149 150 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 148 def create_completion_listener(response_builder, node_context, dispatcher, uri) CompletionListener.new(response_builder, node_context, dispatcher, uri, @constant_resolver, @rbi_index) end |
#create_definition_listener(response_builder, uri, node_context, dispatcher) ⇒ Object
143 144 145 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 143 def create_definition_listener(response_builder, uri, node_context, dispatcher) DefinitionListener.new(response_builder, uri, node_context, dispatcher, @constant_resolver, @rbi_index, @doc_extractor) end |
#create_hover_listener(response_builder, node_context, dispatcher) ⇒ Object
138 139 140 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 138 def create_hover_listener(response_builder, node_context, dispatcher) HoverListener.new(response_builder, node_context, dispatcher, @constant_resolver, @rbi_index, @doc_extractor) end |
#deactivate ⇒ Object
129 130 131 132 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 129 def deactivate LocalVariableDefinitionFallback.addon_instance = nil LocalVariableHoverFallback.addon_instance = nil end |
#name ⇒ Object
134 |
# File 'lib/ruby_lsp/pink_spoon/addon.rb', line 134 def name = "Pink Spoon" |