language_server-protocol 3.16.0.2 → 3.17.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/lib/language_server/protocol/constant/code_action_kind.rb +8 -0
  3. data/lib/language_server/protocol/constant/code_action_trigger_kind.rb +22 -0
  4. data/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  5. data/lib/language_server/protocol/constant/error_codes.rb +33 -2
  6. data/lib/language_server/protocol/constant/folding_range_kind.rb +24 -0
  7. data/lib/language_server/protocol/constant/{initialize_error.rb → initialize_error_codes.rb} +4 -4
  8. data/lib/language_server/protocol/constant/inlay_hint_kind.rb +19 -0
  9. data/lib/language_server/protocol/constant/moniker_kind.rb +24 -0
  10. data/lib/language_server/protocol/constant/notebook_cell_kind.rb +19 -0
  11. data/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  12. data/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +1 -1
  13. data/lib/language_server/protocol/constant/semantic_token_modifiers.rb +18 -0
  14. data/lib/language_server/protocol/constant/semantic_token_types.rb +35 -0
  15. data/lib/language_server/protocol/constant/uniqueness_level.rb +31 -0
  16. data/lib/language_server/protocol/constant.rb +22 -2
  17. data/lib/language_server/protocol/interface/{apply_workspace_edit_response.rb → apply_workspace_edit_result.rb} +2 -2
  18. data/lib/language_server/protocol/interface/call_hierarchy_item.rb +1 -1
  19. data/lib/language_server/protocol/interface/client_capabilities.rb +13 -4
  20. data/lib/language_server/protocol/interface/code_action.rb +1 -1
  21. data/lib/language_server/protocol/interface/code_action_context.rb +10 -1
  22. data/lib/language_server/protocol/interface/code_lens.rb +1 -1
  23. data/lib/language_server/protocol/interface/color_presentation.rb +1 -1
  24. data/lib/language_server/protocol/interface/command.rb +1 -1
  25. data/lib/language_server/protocol/interface/completion_client_capabilities.rb +23 -3
  26. data/lib/language_server/protocol/interface/completion_item.rb +41 -9
  27. data/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  28. data/lib/language_server/protocol/interface/completion_list.rb +24 -2
  29. data/lib/language_server/protocol/interface/completion_options.rb +11 -1
  30. data/lib/language_server/protocol/interface/completion_registration_options.rb +11 -1
  31. data/lib/language_server/protocol/interface/create_file.rb +1 -1
  32. data/lib/language_server/protocol/interface/delete_file.rb +1 -1
  33. data/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  34. data/lib/language_server/protocol/interface/diagnostic_options.rb +64 -0
  35. data/lib/language_server/protocol/interface/diagnostic_registration_options.rb +84 -0
  36. data/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +33 -0
  37. data/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +42 -0
  38. data/lib/language_server/protocol/interface/did_change_configuration_params.rb +1 -1
  39. data/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +56 -0
  40. data/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +11 -1
  41. data/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +46 -0
  42. data/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +46 -0
  43. data/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +36 -0
  44. data/lib/language_server/protocol/interface/document_diagnostic_params.rb +73 -0
  45. data/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +33 -0
  46. data/lib/language_server/protocol/interface/document_link.rb +1 -1
  47. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -1
  48. data/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +9 -4
  49. data/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +1 -1
  50. data/lib/language_server/protocol/interface/document_symbol.rb +1 -1
  51. data/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +1 -1
  52. data/lib/language_server/protocol/interface/execute_command_params.rb +1 -1
  53. data/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  54. data/lib/language_server/protocol/interface/file_system_watcher.rb +3 -14
  55. data/lib/language_server/protocol/interface/folding_range.rb +12 -1
  56. data/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +19 -1
  57. data/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +56 -0
  58. data/lib/language_server/protocol/interface/hover_client_capabilities.rb +1 -1
  59. data/lib/language_server/protocol/interface/hover_result.rb +30 -0
  60. data/lib/language_server/protocol/interface/initialize_error.rb +0 -3
  61. data/lib/language_server/protocol/interface/initialize_params.rb +1 -1
  62. data/lib/language_server/protocol/interface/inlay_hint.rb +122 -0
  63. data/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +46 -0
  64. data/lib/language_server/protocol/interface/inlay_hint_label_part.rb +79 -0
  65. data/lib/language_server/protocol/interface/inlay_hint_options.rb +43 -0
  66. data/lib/language_server/protocol/interface/inlay_hint_params.rb +54 -0
  67. data/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +63 -0
  68. data/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +42 -0
  69. data/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +37 -0
  70. data/lib/language_server/protocol/interface/inline_value_context.rb +44 -0
  71. data/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +52 -0
  72. data/lib/language_server/protocol/interface/inline_value_options.rb +33 -0
  73. data/lib/language_server/protocol/interface/inline_value_params.rb +64 -0
  74. data/lib/language_server/protocol/interface/inline_value_registration_options.rb +53 -0
  75. data/lib/language_server/protocol/interface/inline_value_text.rb +45 -0
  76. data/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +61 -0
  77. data/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +42 -0
  78. data/lib/language_server/protocol/interface/linked_editing_ranges.rb +5 -4
  79. data/lib/language_server/protocol/interface/location_link.rb +1 -1
  80. data/lib/language_server/protocol/interface/notebook_cell.rb +69 -0
  81. data/lib/language_server/protocol/interface/notebook_cell_array_change.rb +55 -0
  82. data/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +52 -0
  83. data/lib/language_server/protocol/interface/notebook_document.rb +74 -0
  84. data/lib/language_server/protocol/interface/notebook_document_change_event.rb +45 -0
  85. data/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +36 -0
  86. data/lib/language_server/protocol/interface/notebook_document_filter.rb +79 -0
  87. data/lib/language_server/protocol/interface/notebook_document_identifier.rb +36 -0
  88. data/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +48 -0
  89. data/lib/language_server/protocol/interface/notebook_document_sync_options.rb +56 -0
  90. data/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +56 -0
  91. data/lib/language_server/protocol/interface/position.rb +2 -3
  92. data/lib/language_server/protocol/interface/prepare_rename_params.rb +10 -1
  93. data/lib/language_server/protocol/interface/previous_result_id.rb +46 -0
  94. data/lib/language_server/protocol/interface/registration.rb +1 -1
  95. data/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +69 -0
  96. data/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +62 -0
  97. data/lib/language_server/protocol/interface/relative_pattern.rb +48 -0
  98. data/lib/language_server/protocol/interface/rename_client_capabilities.rb +1 -1
  99. data/lib/language_server/protocol/interface/rename_file.rb +1 -1
  100. data/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +29 -1
  101. data/lib/language_server/protocol/interface/server_capabilities.rb +62 -2
  102. data/lib/language_server/protocol/interface/signature_help.rb +2 -2
  103. data/lib/language_server/protocol/interface/symbol_information.rb +1 -1
  104. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +37 -1
  105. data/lib/language_server/protocol/interface/text_document_content_change_event.rb +2 -2
  106. data/lib/language_server/protocol/interface/text_document_sync_options.rb +2 -0
  107. data/lib/language_server/protocol/interface/type_hierarchy_item.rb +102 -0
  108. data/lib/language_server/protocol/interface/type_hierarchy_options.rb +30 -0
  109. data/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +51 -0
  110. data/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +50 -0
  111. data/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +49 -0
  112. data/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +49 -0
  113. data/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +50 -0
  114. data/lib/language_server/protocol/interface/{markdown_client_capabilities.rb → versioned_notebook_document_identifier.rb} +12 -12
  115. data/lib/language_server/protocol/interface/work_done_progress_report.rb +1 -1
  116. data/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +65 -0
  117. data/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +33 -0
  118. data/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +33 -0
  119. data/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +75 -0
  120. data/lib/language_server/protocol/interface/workspace_symbol.rb +89 -0
  121. data/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +14 -3
  122. data/lib/language_server/protocol/interface/workspace_symbol_options.rb +11 -1
  123. data/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +11 -1
  124. data/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +68 -0
  125. data/lib/language_server/protocol/interface.rb +124 -4
  126. data/lib/language_server/protocol/transport/io/reader.rb +7 -24
  127. data/lib/language_server/protocol/version.rb +1 -1
  128. metadata +75 -20
@@ -5,7 +5,7 @@ module LanguageServer
5
5
  # Text document specific client capabilities.
6
6
  #
7
7
  class TextDocumentClientCapabilities
8
- def initialize(synchronization: nil, completion: nil, hover: nil, signature_help: nil, declaration: nil, definition: nil, type_definition: nil, implementation: nil, references: nil, document_highlight: nil, document_symbol: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, rename: nil, publish_diagnostics: nil, folding_range: nil, selection_range: nil, linked_editing_range: nil, call_hierarchy: nil, semantic_tokens: nil, moniker: nil)
8
+ def initialize(synchronization: nil, completion: nil, hover: nil, signature_help: nil, declaration: nil, definition: nil, type_definition: nil, implementation: nil, references: nil, document_highlight: nil, document_symbol: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, rename: nil, publish_diagnostics: nil, folding_range: nil, selection_range: nil, linked_editing_range: nil, call_hierarchy: nil, semantic_tokens: nil, moniker: nil, type_hierarchy: nil, inline_value: nil, inlay_hint: nil, diagnostic: nil)
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:synchronization] = synchronization if synchronization
@@ -34,6 +34,10 @@ module LanguageServer
34
34
  @attributes[:callHierarchy] = call_hierarchy if call_hierarchy
35
35
  @attributes[:semanticTokens] = semantic_tokens if semantic_tokens
36
36
  @attributes[:moniker] = moniker if moniker
37
+ @attributes[:typeHierarchy] = type_hierarchy if type_hierarchy
38
+ @attributes[:inlineValue] = inline_value if inline_value
39
+ @attributes[:inlayHint] = inlay_hint if inlay_hint
40
+ @attributes[:diagnostic] = diagnostic if diagnostic
37
41
 
38
42
  @attributes.freeze
39
43
  end
@@ -246,6 +250,38 @@ module LanguageServer
246
250
  attributes.fetch(:moniker)
247
251
  end
248
252
 
253
+ #
254
+ # Capabilities specific to the various type hierarchy requests.
255
+ #
256
+ # @return [TypeHierarchyClientCapabilities]
257
+ def type_hierarchy
258
+ attributes.fetch(:typeHierarchy)
259
+ end
260
+
261
+ #
262
+ # Capabilities specific to the `textDocument/inlineValue` request.
263
+ #
264
+ # @return [InlineValueClientCapabilities]
265
+ def inline_value
266
+ attributes.fetch(:inlineValue)
267
+ end
268
+
269
+ #
270
+ # Capabilities specific to the `textDocument/inlayHint` request.
271
+ #
272
+ # @return [InlayHintClientCapabilities]
273
+ def inlay_hint
274
+ attributes.fetch(:inlayHint)
275
+ end
276
+
277
+ #
278
+ # Capabilities specific to the diagnostic pull model.
279
+ #
280
+ # @return [DiagnosticClientCapabilities]
281
+ def diagnostic
282
+ attributes.fetch(:diagnostic)
283
+ end
284
+
249
285
  attr_reader :attributes
250
286
 
251
287
  def to_hash
@@ -2,8 +2,8 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # An event describing a change to a text document. If range and rangeLength are
6
- # omitted the new text is considered to be the full content of the document.
5
+ # An event describing a change to a text document. If only a text is provided
6
+ # it is considered to be the full content of the document.
7
7
  #
8
8
  class TextDocumentContentChangeEvent
9
9
  def initialize(range: nil, range_length: nil, text:)
@@ -16,6 +16,8 @@ module LanguageServer
16
16
 
17
17
  #
18
18
  # Open and close notifications are sent to the server. If omitted open
19
+ # close notifications should not be sent.
20
+ # Open and close notifications are sent to the server. If omitted open
19
21
  # close notification should not be sent.
20
22
  #
21
23
  # @return [boolean]
@@ -0,0 +1,102 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchyItem
5
+ def initialize(name:, kind:, tags: nil, detail: nil, uri:, range:, selection_range:, data: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:name] = name
9
+ @attributes[:kind] = kind
10
+ @attributes[:tags] = tags if tags
11
+ @attributes[:detail] = detail if detail
12
+ @attributes[:uri] = uri
13
+ @attributes[:range] = range
14
+ @attributes[:selectionRange] = selection_range
15
+ @attributes[:data] = data if data
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The name of this item.
22
+ #
23
+ # @return [string]
24
+ def name
25
+ attributes.fetch(:name)
26
+ end
27
+
28
+ #
29
+ # The kind of this item.
30
+ #
31
+ # @return [SymbolKind]
32
+ def kind
33
+ attributes.fetch(:kind)
34
+ end
35
+
36
+ #
37
+ # Tags for this item.
38
+ #
39
+ # @return [1[]]
40
+ def tags
41
+ attributes.fetch(:tags)
42
+ end
43
+
44
+ #
45
+ # More detail for this item, e.g. the signature of a function.
46
+ #
47
+ # @return [string]
48
+ def detail
49
+ attributes.fetch(:detail)
50
+ end
51
+
52
+ #
53
+ # The resource identifier of this item.
54
+ #
55
+ # @return [string]
56
+ def uri
57
+ attributes.fetch(:uri)
58
+ end
59
+
60
+ #
61
+ # The range enclosing this symbol not including leading/trailing whitespace
62
+ # but everything else, e.g. comments and code.
63
+ #
64
+ # @return [Range]
65
+ def range
66
+ attributes.fetch(:range)
67
+ end
68
+
69
+ #
70
+ # The range that should be selected and revealed when this symbol is being
71
+ # picked, e.g. the name of a function. Must be contained by the
72
+ # [`range`](#TypeHierarchyItem.range).
73
+ #
74
+ # @return [Range]
75
+ def selection_range
76
+ attributes.fetch(:selectionRange)
77
+ end
78
+
79
+ #
80
+ # A data entry field that is preserved between a type hierarchy prepare and
81
+ # supertypes or subtypes requests. It could also be used to identify the
82
+ # type hierarchy in the server, helping improve the performance on
83
+ # resolving supertypes and subtypes.
84
+ #
85
+ # @return [LSPAny]
86
+ def data
87
+ attributes.fetch(:data)
88
+ end
89
+
90
+ attr_reader :attributes
91
+
92
+ def to_hash
93
+ attributes
94
+ end
95
+
96
+ def to_json(*args)
97
+ to_hash.to_json(*args)
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,30 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchyOptions
5
+ def initialize(work_done_progress: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ # @return [boolean]
14
+ def work_done_progress
15
+ attributes.fetch(:workDoneProgress)
16
+ end
17
+
18
+ attr_reader :attributes
19
+
20
+ def to_hash
21
+ attributes
22
+ end
23
+
24
+ def to_json(*args)
25
+ to_hash.to_json(*args)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,51 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchyPrepareParams
5
+ def initialize(text_document:, position:, work_done_token: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:textDocument] = text_document
9
+ @attributes[:position] = position
10
+ @attributes[:workDoneToken] = work_done_token if work_done_token
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ #
16
+ # The text document.
17
+ #
18
+ # @return [TextDocumentIdentifier]
19
+ def text_document
20
+ attributes.fetch(:textDocument)
21
+ end
22
+
23
+ #
24
+ # The position inside the text document.
25
+ #
26
+ # @return [Position]
27
+ def position
28
+ attributes.fetch(:position)
29
+ end
30
+
31
+ #
32
+ # An optional token that a server can use to report work done progress.
33
+ #
34
+ # @return [ProgressToken]
35
+ def work_done_token
36
+ attributes.fetch(:workDoneToken)
37
+ end
38
+
39
+ attr_reader :attributes
40
+
41
+ def to_hash
42
+ attributes
43
+ end
44
+
45
+ def to_json(*args)
46
+ to_hash.to_json(*args)
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,50 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchyRegistrationOptions
5
+ def initialize(document_selector:, work_done_progress: nil, id: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:documentSelector] = document_selector
9
+ @attributes[:workDoneProgress] = work_done_progress if work_done_progress
10
+ @attributes[:id] = id if id
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ #
16
+ # A document selector to identify the scope of the registration. If set to
17
+ # null the document selector provided on the client side will be used.
18
+ #
19
+ # @return [DocumentSelector]
20
+ def document_selector
21
+ attributes.fetch(:documentSelector)
22
+ end
23
+
24
+ # @return [boolean]
25
+ def work_done_progress
26
+ attributes.fetch(:workDoneProgress)
27
+ end
28
+
29
+ #
30
+ # The id used to register the request. The id can be used to deregister
31
+ # the request again. See also Registration#id.
32
+ #
33
+ # @return [string]
34
+ def id
35
+ attributes.fetch(:id)
36
+ end
37
+
38
+ attr_reader :attributes
39
+
40
+ def to_hash
41
+ attributes
42
+ end
43
+
44
+ def to_json(*args)
45
+ to_hash.to_json(*args)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,49 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchySubtypesParams
5
+ def initialize(work_done_token: nil, partial_result_token: nil, item:)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
9
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
10
+ @attributes[:item] = item
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ #
16
+ # An optional token that a server can use to report work done progress.
17
+ #
18
+ # @return [ProgressToken]
19
+ def work_done_token
20
+ attributes.fetch(:workDoneToken)
21
+ end
22
+
23
+ #
24
+ # An optional token that a server can use to report partial results (e.g.
25
+ # streaming) to the client.
26
+ #
27
+ # @return [ProgressToken]
28
+ def partial_result_token
29
+ attributes.fetch(:partialResultToken)
30
+ end
31
+
32
+ # @return [TypeHierarchyItem]
33
+ def item
34
+ attributes.fetch(:item)
35
+ end
36
+
37
+ attr_reader :attributes
38
+
39
+ def to_hash
40
+ attributes
41
+ end
42
+
43
+ def to_json(*args)
44
+ to_hash.to_json(*args)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,49 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class TypeHierarchySupertypesParams
5
+ def initialize(work_done_token: nil, partial_result_token: nil, item:)
6
+ @attributes = {}
7
+
8
+ @attributes[:workDoneToken] = work_done_token if work_done_token
9
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
10
+ @attributes[:item] = item
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ #
16
+ # An optional token that a server can use to report work done progress.
17
+ #
18
+ # @return [ProgressToken]
19
+ def work_done_token
20
+ attributes.fetch(:workDoneToken)
21
+ end
22
+
23
+ #
24
+ # An optional token that a server can use to report partial results (e.g.
25
+ # streaming) to the client.
26
+ #
27
+ # @return [ProgressToken]
28
+ def partial_result_token
29
+ attributes.fetch(:partialResultToken)
30
+ end
31
+
32
+ # @return [TypeHierarchyItem]
33
+ def item
34
+ attributes.fetch(:item)
35
+ end
36
+
37
+ attr_reader :attributes
38
+
39
+ def to_hash
40
+ attributes
41
+ end
42
+
43
+ def to_json(*args)
44
+ to_hash.to_json(*args)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,50 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A diagnostic report indicating that the last returned
6
+ # report is still accurate.
7
+ #
8
+ class UnchangedDocumentDiagnosticReport
9
+ def initialize(kind:, result_id:)
10
+ @attributes = {}
11
+
12
+ @attributes[:kind] = kind
13
+ @attributes[:resultId] = result_id
14
+
15
+ @attributes.freeze
16
+ end
17
+
18
+ #
19
+ # A document diagnostic report indicating
20
+ # no changes to the last result. A server can
21
+ # only return `unchanged` if result ids are
22
+ # provided.
23
+ #
24
+ # @return [any]
25
+ def kind
26
+ attributes.fetch(:kind)
27
+ end
28
+
29
+ #
30
+ # A result id which will be sent on the next
31
+ # diagnostic request for the same document.
32
+ #
33
+ # @return [string]
34
+ def result_id
35
+ attributes.fetch(:resultId)
36
+ end
37
+
38
+ attr_reader :attributes
39
+
40
+ def to_hash
41
+ attributes
42
+ end
43
+
44
+ def to_json(*args)
45
+ to_hash.to_json(*args)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -2,32 +2,32 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Client capabilities specific to the used markdown parser.
5
+ # A versioned notebook document identifier.
6
6
  #
7
- class MarkdownClientCapabilities
8
- def initialize(parser:, version: nil)
7
+ class VersionedNotebookDocumentIdentifier
8
+ def initialize(version:, uri:)
9
9
  @attributes = {}
10
10
 
11
- @attributes[:parser] = parser
12
- @attributes[:version] = version if version
11
+ @attributes[:version] = version
12
+ @attributes[:uri] = uri
13
13
 
14
14
  @attributes.freeze
15
15
  end
16
16
 
17
17
  #
18
- # The name of the parser.
18
+ # The version number of this notebook document.
19
19
  #
20
- # @return [string]
21
- def parser
22
- attributes.fetch(:parser)
20
+ # @return [number]
21
+ def version
22
+ attributes.fetch(:version)
23
23
  end
24
24
 
25
25
  #
26
- # The version of the parser.
26
+ # The notebook document's URI.
27
27
  #
28
28
  # @return [string]
29
- def version
30
- attributes.fetch(:version)
29
+ def uri
30
+ attributes.fetch(:uri)
31
31
  end
32
32
 
33
33
  attr_reader :attributes
@@ -20,7 +20,7 @@ module LanguageServer
20
20
 
21
21
  #
22
22
  # Controls enablement state of a cancel button. This property is only valid
23
- # if a cancel button got requested in the `WorkDoneProgressStart` payload.
23
+ # if a cancel button got requested in the `WorkDoneProgressBegin` payload.
24
24
  #
25
25
  # Clients that don't support cancellation or don't support control the
26
26
  # button's enablement state are allowed to ignore the setting.
@@ -0,0 +1,65 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Parameters of the workspace diagnostic request.
6
+ #
7
+ class WorkspaceDiagnosticParams
8
+ def initialize(work_done_token: nil, partial_result_token: nil, identifier: nil, previous_result_ids:)
9
+ @attributes = {}
10
+
11
+ @attributes[:workDoneToken] = work_done_token if work_done_token
12
+ @attributes[:partialResultToken] = partial_result_token if partial_result_token
13
+ @attributes[:identifier] = identifier if identifier
14
+ @attributes[:previousResultIds] = previous_result_ids
15
+
16
+ @attributes.freeze
17
+ end
18
+
19
+ #
20
+ # An optional token that a server can use to report work done progress.
21
+ #
22
+ # @return [ProgressToken]
23
+ def work_done_token
24
+ attributes.fetch(:workDoneToken)
25
+ end
26
+
27
+ #
28
+ # An optional token that a server can use to report partial results (e.g.
29
+ # streaming) to the client.
30
+ #
31
+ # @return [ProgressToken]
32
+ def partial_result_token
33
+ attributes.fetch(:partialResultToken)
34
+ end
35
+
36
+ #
37
+ # The additional identifier provided during registration.
38
+ #
39
+ # @return [string]
40
+ def identifier
41
+ attributes.fetch(:identifier)
42
+ end
43
+
44
+ #
45
+ # The currently known diagnostic reports with their
46
+ # previous result ids.
47
+ #
48
+ # @return [PreviousResultId[]]
49
+ def previous_result_ids
50
+ attributes.fetch(:previousResultIds)
51
+ end
52
+
53
+ attr_reader :attributes
54
+
55
+ def to_hash
56
+ attributes
57
+ end
58
+
59
+ def to_json(*args)
60
+ to_hash.to_json(*args)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A workspace diagnostic report.
6
+ #
7
+ class WorkspaceDiagnosticReport
8
+ def initialize(items:)
9
+ @attributes = {}
10
+
11
+ @attributes[:items] = items
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ # @return [WorkspaceDocumentDiagnosticReport[]]
17
+ def items
18
+ attributes.fetch(:items)
19
+ end
20
+
21
+ attr_reader :attributes
22
+
23
+ def to_hash
24
+ attributes
25
+ end
26
+
27
+ def to_json(*args)
28
+ to_hash.to_json(*args)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A partial result for a workspace diagnostic report.
6
+ #
7
+ class WorkspaceDiagnosticReportPartialResult
8
+ def initialize(items:)
9
+ @attributes = {}
10
+
11
+ @attributes[:items] = items
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ # @return [WorkspaceDocumentDiagnosticReport[]]
17
+ def items
18
+ attributes.fetch(:items)
19
+ end
20
+
21
+ attr_reader :attributes
22
+
23
+ def to_hash
24
+ attributes
25
+ end
26
+
27
+ def to_json(*args)
28
+ to_hash.to_json(*args)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end