lib/ruby_lsp/extension.rb in ruby-lsp-0.7.6 vs lib/ruby_lsp/extension.rb in ruby-lsp-0.8.0
- old
+ new
@@ -95,10 +95,34 @@
# Each extension should implement `MyExtension#activate` and use to perform any sort of initialization, such as
# reading information into memory or even spawning a separate process
sig { abstract.void }
def activate; end
+ # Each extension should implement `MyExtension#deactivate` and use to perform any clean up, like shutting down a
+ # child process
+ sig { abstract.void }
+ def deactivate; end
+
# Extensions should override the `name` method to return the extension name
sig { abstract.returns(String) }
def name; end
+
+ # Creates a new CodeLens listener. This method is invoked on every CodeLens request
+ sig do
+ overridable.params(
+ uri: URI::Generic,
+ emitter: EventEmitter,
+ message_queue: Thread::Queue,
+ ).returns(T.nilable(Listener[T::Array[Interface::CodeLens]]))
+ end
+ def create_code_lens_listener(uri, emitter, message_queue); end
+
+ # Creates a new Hover listener. This method is invoked on every Hover request
+ sig do
+ overridable.params(
+ emitter: EventEmitter,
+ message_queue: Thread::Queue,
+ ).returns(T.nilable(Listener[T.nilable(Interface::Hover)]))
+ end
+ def create_hover_listener(emitter, message_queue); end
end
end