Class: RubyLsp::Runar::Addon
- Inherits:
-
Addon
- Object
- Addon
- RubyLsp::Runar::Addon
- Defined in:
- lib/ruby_lsp/runar/addon.rb
Instance Method Summary collapse
-
#activate(global_state, _message_queue) ⇒ Object
Ruby LSP calls activate once when the language server boots.
-
#create_completion_listener(response_builder, node_context, dispatcher, uri) ⇒ Object
Ruby LSP calls this to obtain a completion listener for the current request.
-
#create_hover_listener(response_builder, node_context, dispatcher) ⇒ Object
Ruby LSP calls this to obtain a hover listener for the current request.
-
#deactivate ⇒ Object
Ruby LSP calls deactivate when the server shuts down.
-
#name ⇒ Object
Human-readable name shown in Ruby LSP logs and error messages.
-
#version ⇒ Object
Version must be defined — Ruby LSP uses it for compatibility checks.
Instance Method Details
#activate(global_state, _message_queue) ⇒ Object
Ruby LSP calls activate once when the language server boots.
global_state - RubyLsp::GlobalState instance (provides the index etc.) message_queue - Thread::Queue for sending async client notifications
29 30 31 |
# File 'lib/ruby_lsp/runar/addon.rb', line 29 def activate(global_state, ) @global_state = global_state end |
#create_completion_listener(response_builder, node_context, dispatcher, uri) ⇒ Object
Ruby LSP calls this to obtain a completion listener for the current request. Returns a Completion instance that registers itself with the dispatcher only for .runar.rb files.
response_builder - CollectionResponseBuilder node_context - NodeContext for the cursor position dispatcher - Prism::Dispatcher; the listener registers itself here uri - URI::Generic identifying the file being completed
63 64 65 |
# File 'lib/ruby_lsp/runar/addon.rb', line 63 def create_completion_listener(response_builder, node_context, dispatcher, uri) Completion.new(response_builder, node_context, dispatcher, uri) end |
#create_hover_listener(response_builder, node_context, dispatcher) ⇒ Object
Ruby LSP calls this to obtain a hover listener for the current request.
response_builder - collects hover content via #push(text, category:) node_context - provides URI and context for the hovered node dispatcher - Prism::Dispatcher; the listener registers itself here
51 52 53 |
# File 'lib/ruby_lsp/runar/addon.rb', line 51 def create_hover_listener(response_builder, node_context, dispatcher) Hover.new(response_builder, node_context, dispatcher) end |
#deactivate ⇒ Object
Ruby LSP calls deactivate when the server shuts down.
34 |
# File 'lib/ruby_lsp/runar/addon.rb', line 34 def deactivate; end |
#name ⇒ Object
Human-readable name shown in Ruby LSP logs and error messages.
37 38 39 |
# File 'lib/ruby_lsp/runar/addon.rb', line 37 def name 'Runar' end |
#version ⇒ Object
Version must be defined — Ruby LSP uses it for compatibility checks.
42 43 44 |
# File 'lib/ruby_lsp/runar/addon.rb', line 42 def version '0.1.0' end |