Class: LanguageServer::Protocol::Interface::WorkDoneProgressBegin

Inherits:
Object
  • Object
show all
Defined in:
lib/language_server/protocol/interface/work_done_progress_begin.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kind:, title:, cancellable: nil, message: nil, percentage: nil) ⇒ WorkDoneProgressBegin

Returns a new instance of WorkDoneProgressBegin.



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 5

def initialize(kind:, title:, cancellable: nil, message: nil, percentage: nil)
  @attributes = {}

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

  @attributes.freeze
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



68
69
70
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 68

def attributes
  @attributes
end

Instance Method Details

#cancellableboolean

Controls if a cancel button should show to allow the user to cancel the long running operation. Clients that don’t support cancellation are allowed to ignore the setting.

Returns:

  • (boolean)


39
40
41
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 39

def cancellable
  attributes.fetch(:cancellable)
end

#kind"begin"

Returns:

  • ("begin")


18
19
20
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 18

def kind
  attributes.fetch(:kind)
end

#messagestring

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.

Returns:

  • (string)


51
52
53
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 51

def message
  attributes.fetch(:message)
end

#percentagenumber

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]

Returns:

  • (number)


64
65
66
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 64

def percentage
  attributes.fetch(:percentage)
end

#titlestring

Mandatory title of the progress operation. Used to briefly inform about the kind of operation being performed.

Examples: “Indexing” or “Linking dependencies”.

Returns:

  • (string)


29
30
31
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 29

def title
  attributes.fetch(:title)
end

#to_hashObject



70
71
72
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 70

def to_hash
  attributes
end

#to_json(*args) ⇒ Object



74
75
76
# File 'lib/language_server/protocol/interface/work_done_progress_begin.rb', line 74

def to_json(*args)
  to_hash.to_json(*args)
end