class Yoda::Server::Notifier
Attributes
server[R]
@return [Server]
Public Class Methods
new(writer)
click to toggle source
@param writer [ConcurrentWriter]
# File lib/yoda/server/notifier.rb, line 5 def initialize(writer) @writer = writer end
Public Instance Methods
busy(type:, id: nil) { || ... }
click to toggle source
@param type [Symbol]
# File lib/yoda/server/notifier.rb, line 10 def busy(type:, id: nil) event(type: type, phase: :begin, id: id) yield ensure event(type: type, phase: :end, id: id) end
event(params)
click to toggle source
@param params [Hash]
# File lib/yoda/server/notifier.rb, line 18 def event(params) write(method: 'telemetry/event', params: params) end
log_message(type:, message:)
click to toggle source
@param type [String, Symbol] @param message [String]
# File lib/yoda/server/notifier.rb, line 36 def log_message(type:, message:) write( method: 'window/logMessage', params: LanguageServer::Protocol::Interface::ShowMessageParams.new( type: message_type(type), message: message, ) ) end
show_message(type:, message:)
click to toggle source
@param type [String, Symbol] @param message [String]
# File lib/yoda/server/notifier.rb, line 24 def show_message(type:, message:) write( method: 'window/showMessage', params: LanguageServer::Protocol::Interface::ShowMessageParams.new( type: message_type(type), message: message, ) ) end
Private Instance Methods
message_type(type)
click to toggle source
@param type [String, Symbol]
# File lib/yoda/server/notifier.rb, line 53 def message_type(type) case type.to_sym when :error LanguageServer::Protocol::Constant::MessageType::ERROR when :warning LanguageServer::Protocol::Constant::MessageType::WARNING when :info LanguageServer::Protocol::Constant::MessageType::INFO when :log LanguageServer::Protocol::Constant::MessageType::LOG else Logger.warn("#{type} is not valie message type") LanguageServer::Protocol::Constant::MessageType::INFO end end
write(params)
click to toggle source
# File lib/yoda/server/notifier.rb, line 48 def write(params) @writer.write(params) end