Sha256: 29d45de1ee080b43942c32f8eafe78ddf15d34d0ff6db115b0383cefa5318483
Contents?: true
Size: 1.8 KB
Versions: 1
Compression:
Stored size: 1.8 KB
Contents
module Yoda class Server class Notifier # @param server [Server] def initialize(server) @server = server end # @param type [Symbol] def busy(type:) event(type: type, phase: :begin) yield ensure event(type: type, phase: :end) end # @param params [Hash] def event(params) server.send_notification(method: 'telemetry/event', params: params) end # @param type [String, Symbol] # @param message [String] def show_message(type:, message:) server.send_notification( method: 'window/showMessage', params: LanguageServer::Protocol::Interface::ShowMessageParams.new( type: message_type(type), message: message, ) ) end # @param type [String, Symbol] # @param message [String] def log_message(type:, message:) server.send_notification( method: 'window/logMessage', params: LanguageServer::Protocol::Interface::ShowMessageParams.new( type: message_type(type), message: message, ) ) end private # @param type [String, Symbol] 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 # @return [Server] attr_reader :server end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yoda-language-server-0.6.2 | lib/yoda/server/notifier.rb |