class LanguageServer::Protocol::Interface::WorkDoneProgressReport

Attributes

attributes[R]

Public Class Methods

new(kind:, cancellable: nil, message: nil, percentage: nil) click to toggle source
# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 5
def initialize(kind:, cancellable: nil, message: nil, percentage: nil)
  @attributes = {}

  @attributes[:kind] = kind
  @attributes[:cancellable] = cancellable if cancellable
  @attributes[:message] = message if message
  @attributes[:percentage] = percentage if percentage

  @attributes.freeze
end

Public Instance Methods

cancellable() click to toggle source

Controls enablement state of a cancel button. This property is only valid if a cancel button got requested in the `WorkDoneProgressStart` payload.

Clients that don't support cancellation or don't support control the button's enablement state are allowed to ignore the setting.

@return [boolean]

# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 29
def cancellable
  attributes.fetch(:cancellable)
end
kind() click to toggle source

@return [“report”]

# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 17
def kind
  attributes.fetch(:kind)
end
message() click to toggle source

Optional, more detailed associated progress message. Contains complementary information to the `title`.

Examples: “3/25 files”, “project/src/module2”, “node_modules/some_dep”. If unset, the previous progress message (if any) is still valid.

@return [string]

# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 41
def message
  attributes.fetch(:message)
end
percentage() click to toggle source

Optional progress percentage to display (value 100 is considered 100%). If not provided infinite progress is assumed and clients are allowed to ignore the `percentage` value in subsequent in report notifications.

The value should be steadily rising. Clients are free to ignore values that are not following this rule. The value range is [0, 100]

@return [number]

# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 54
def percentage
  attributes.fetch(:percentage)
end
to_hash() click to toggle source
# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 60
def to_hash
  attributes
end
to_json(*args) click to toggle source
# File lib/language_server/protocol/interface/work_done_progress_report.rb, line 64
def to_json(*args)
  to_hash.to_json(*args)
end