Class: Yoda::Server::Notifier

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/server/notifier.rb

Instance Method Summary collapse

Constructor Details

#initialize(writer) ⇒ Notifier

Returns a new instance of Notifier.

Parameters:



5
6
7
# File 'lib/yoda/server/notifier.rb', line 5

def initialize(writer)
  @writer = writer
end

Instance Method Details

#busy(type:, id: nil) ⇒ Object

Parameters:

  • type (Symbol)


10
11
12
13
14
15
# 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) ⇒ Object

Parameters:

  • params (Hash)


18
19
20
# File 'lib/yoda/server/notifier.rb', line 18

def event(params)
  write(method: 'telemetry/event', params: params)
end

#log_message(type:, message:) ⇒ Object

Parameters:

  • type (String, Symbol)
  • message (String)


36
37
38
39
40
41
42
43
44
# 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:) ⇒ Object

Parameters:

  • type (String, Symbol)
  • message (String)


24
25
26
27
28
29
30
31
32
# 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