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