Class: Solargraph::LanguageServer::Progress
- Inherits:
-
Object
- Object
- Solargraph::LanguageServer::Progress
- Defined in:
- lib/solargraph/language_server/progress.rb
Overview
Progress notification handling for language server hosts.
Constant Summary collapse
- WAITING =
:waiting
- CREATED =
:created
- FINISHED =
:finished
Instance Attribute Summary collapse
- #kind ⇒ String? readonly
- #message ⇒ String? readonly
- #percentage ⇒ Integer readonly
- #status ⇒ Symbol readonly
- #title ⇒ String readonly
- #uuid ⇒ String readonly
Instance Method Summary collapse
- #begin(message, percentage) ⇒ void
- #created? ⇒ Boolean
- #finish(message) ⇒ void
- #finished? ⇒ Boolean
-
#initialize(title) ⇒ Progress
constructor
A new instance of Progress.
- #report(message, percentage) ⇒ void
- #send(host) ⇒ void
Constructor Details
Instance Attribute Details
#kind ⇒ String? (readonly)
21 22 23 |
# File 'lib/solargraph/language_server/progress.rb', line 21 def kind @kind end |
#message ⇒ String? (readonly)
24 25 26 |
# File 'lib/solargraph/language_server/progress.rb', line 24 def @message end |
#percentage ⇒ Integer (readonly)
27 28 29 |
# File 'lib/solargraph/language_server/progress.rb', line 27 def percentage @percentage end |
#status ⇒ Symbol (readonly)
30 31 32 |
# File 'lib/solargraph/language_server/progress.rb', line 30 def status @status end |
#title ⇒ String (readonly)
18 19 20 |
# File 'lib/solargraph/language_server/progress.rb', line 18 def title @title end |
#uuid ⇒ String (readonly)
15 16 17 |
# File 'lib/solargraph/language_server/progress.rb', line 15 def uuid @uuid end |
Instance Method Details
#begin(message, percentage) ⇒ void
This method returns an undefined value.
43 44 45 46 47 |
# File 'lib/solargraph/language_server/progress.rb', line 43 def begin , percentage @kind = 'begin' @message = @percentage = percentage end |
#created? ⇒ Boolean
79 80 81 |
# File 'lib/solargraph/language_server/progress.rb', line 79 def created? [CREATED, FINISHED].include?(status) end |
#finish(message) ⇒ void
This method returns an undefined value.
60 61 62 63 64 65 |
# File 'lib/solargraph/language_server/progress.rb', line 60 def finish @kind = 'end' @message = @percentage = 100 true end |
#finished? ⇒ Boolean
83 84 85 |
# File 'lib/solargraph/language_server/progress.rb', line 83 def finished? status == FINISHED end |
#report(message, percentage) ⇒ void
This method returns an undefined value.
52 53 54 55 56 |
# File 'lib/solargraph/language_server/progress.rb', line 52 def report , percentage @kind = 'report' @message = @percentage = percentage end |
#send(host) ⇒ void
This method returns an undefined value.
69 70 71 72 73 74 75 76 77 |
# File 'lib/solargraph/language_server/progress.rb', line 69 def send host return unless host.client_supports_progress? && !finished? = build create(host) host.send_notification '$/progress', @status = FINISHED if kind == 'end' keep_alive host end |