language_server-protocol 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Dockerfile-node.development +6 -0
- data/Dockerfile.development +14 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +10 -0
- data/bin/console +14 -0
- data/bin/generate_files +5 -0
- data/bin/setup +8 -0
- data/language_server-protocol.gemspec +27 -0
- data/lib/language_server/protocol/constants/completion_item_kind.rb +29 -0
- data/lib/language_server/protocol/constants/diagnostic_severity.rb +24 -0
- data/lib/language_server/protocol/constants/document_highlight_kind.rb +23 -0
- data/lib/language_server/protocol/constants/error_codes.rb +18 -0
- data/lib/language_server/protocol/constants/file_change_type.rb +23 -0
- data/lib/language_server/protocol/constants/initialize_error.rb +15 -0
- data/lib/language_server/protocol/constants/insert_text_format.rb +27 -0
- data/lib/language_server/protocol/constants/message_type.rb +24 -0
- data/lib/language_server/protocol/constants/symbol_kind.rb +29 -0
- data/lib/language_server/protocol/constants/text_document_save_reason.rb +24 -0
- data/lib/language_server/protocol/constants/text_document_sync_kind.rb +26 -0
- data/lib/language_server/protocol/constants.rb +11 -0
- data/lib/language_server/protocol/interfaces/apply_workspace_edit_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/apply_workspace_edit_response.rb +29 -0
- data/lib/language_server/protocol/interfaces/cancel_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/client_capabilities.rb +47 -0
- data/lib/language_server/protocol/interfaces/code_action_context.rb +33 -0
- data/lib/language_server/protocol/interfaces/code_action_params.rb +50 -0
- data/lib/language_server/protocol/interfaces/code_lens.rb +55 -0
- data/lib/language_server/protocol/interfaces/code_lens_options.rb +32 -0
- data/lib/language_server/protocol/interfaces/code_lens_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/code_lens_registration_options.rb +29 -0
- data/lib/language_server/protocol/interfaces/command.rb +48 -0
- data/lib/language_server/protocol/interfaces/completion_item.rb +145 -0
- data/lib/language_server/protocol/interfaces/completion_list.rb +43 -0
- data/lib/language_server/protocol/interfaces/completion_options.rb +42 -0
- data/lib/language_server/protocol/interfaces/completion_registration_options.rb +39 -0
- data/lib/language_server/protocol/interfaces/diagnostic.rb +67 -0
- data/lib/language_server/protocol/interfaces/did_change_configuration_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/did_change_text_document_params.rb +40 -0
- data/lib/language_server/protocol/interfaces/did_change_watched_files_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/did_close_text_document_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/did_open_text_document_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/did_save_text_document_params.rb +39 -0
- data/lib/language_server/protocol/interfaces/document_filter.rb +47 -0
- data/lib/language_server/protocol/interfaces/document_formatting_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/document_highlight.rb +43 -0
- data/lib/language_server/protocol/interfaces/document_link.rb +42 -0
- data/lib/language_server/protocol/interfaces/document_link_options.rb +32 -0
- data/lib/language_server/protocol/interfaces/document_link_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/document_link_registration_options.rb +29 -0
- data/lib/language_server/protocol/interfaces/document_on_type_formatting_options.rb +41 -0
- data/lib/language_server/protocol/interfaces/document_on_type_formatting_params.rb +56 -0
- data/lib/language_server/protocol/interfaces/document_on_type_formatting_registration_options.rb +38 -0
- data/lib/language_server/protocol/interfaces/document_range_formatting_params.rb +47 -0
- data/lib/language_server/protocol/interfaces/document_symbol_params.rb +29 -0
- data/lib/language_server/protocol/interfaces/execute_command_options.rb +32 -0
- data/lib/language_server/protocol/interfaces/execute_command_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/execute_command_registration_options.rb +32 -0
- data/lib/language_server/protocol/interfaces/file_event.rb +41 -0
- data/lib/language_server/protocol/interfaces/formatting_options.rb +41 -0
- data/lib/language_server/protocol/interfaces/hover.rb +42 -0
- data/lib/language_server/protocol/interfaces/initialize_error.rb +35 -0
- data/lib/language_server/protocol/interfaces/initialize_params.rb +79 -0
- data/lib/language_server/protocol/interfaces/initialize_result.rb +29 -0
- data/lib/language_server/protocol/interfaces/location.rb +32 -0
- data/lib/language_server/protocol/interfaces/log_message_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/message.rb +26 -0
- data/lib/language_server/protocol/interfaces/message_action_item.rb +29 -0
- data/lib/language_server/protocol/interfaces/notification_message.rb +38 -0
- data/lib/language_server/protocol/interfaces/parameter_information.rb +44 -0
- data/lib/language_server/protocol/interfaces/position.rb +38 -0
- data/lib/language_server/protocol/interfaces/publish_diagnostics_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/range.rb +38 -0
- data/lib/language_server/protocol/interfaces/reference_context.rb +29 -0
- data/lib/language_server/protocol/interfaces/reference_params.rb +26 -0
- data/lib/language_server/protocol/interfaces/registration.rb +51 -0
- data/lib/language_server/protocol/interfaces/registration_params.rb +26 -0
- data/lib/language_server/protocol/interfaces/rename_params.rb +49 -0
- data/lib/language_server/protocol/interfaces/request_message.rb +47 -0
- data/lib/language_server/protocol/interfaces/response_error.rb +48 -0
- data/lib/language_server/protocol/interfaces/response_message.rb +48 -0
- data/lib/language_server/protocol/interfaces/save_options.rb +32 -0
- data/lib/language_server/protocol/interfaces/server_capabilities.rb +183 -0
- data/lib/language_server/protocol/interfaces/show_message_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/show_message_request_params.rb +47 -0
- data/lib/language_server/protocol/interfaces/signature_help.rb +64 -0
- data/lib/language_server/protocol/interfaces/signature_help_options.rb +33 -0
- data/lib/language_server/protocol/interfaces/signature_help_registration_options.rb +30 -0
- data/lib/language_server/protocol/interfaces/signature_information.rb +54 -0
- data/lib/language_server/protocol/interfaces/symbol_information.rb +60 -0
- data/lib/language_server/protocol/interfaces/text_document_change_registration_options.rb +33 -0
- data/lib/language_server/protocol/interfaces/text_document_client_capabilities.rb +155 -0
- data/lib/language_server/protocol/interfaces/text_document_content_change_event.rb +51 -0
- data/lib/language_server/protocol/interfaces/text_document_edit.rb +38 -0
- data/lib/language_server/protocol/interfaces/text_document_identifier.rb +29 -0
- data/lib/language_server/protocol/interfaces/text_document_item.rb +57 -0
- data/lib/language_server/protocol/interfaces/text_document_position_params.rb +38 -0
- data/lib/language_server/protocol/interfaces/text_document_registration_options.rb +30 -0
- data/lib/language_server/protocol/interfaces/text_document_save_registration_options.rb +29 -0
- data/lib/language_server/protocol/interfaces/text_document_sync_options.rb +66 -0
- data/lib/language_server/protocol/interfaces/text_edit.rb +40 -0
- data/lib/language_server/protocol/interfaces/unregistration.rb +42 -0
- data/lib/language_server/protocol/interfaces/unregistration_params.rb +26 -0
- data/lib/language_server/protocol/interfaces/versioned_text_document_identifier.rb +29 -0
- data/lib/language_server/protocol/interfaces/will_save_text_document_params.rb +41 -0
- data/lib/language_server/protocol/interfaces/workspace_client_capabilites.rb +78 -0
- data/lib/language_server/protocol/interfaces/workspace_edit.rb +40 -0
- data/lib/language_server/protocol/interfaces/workspace_symbol_params.rb +32 -0
- data/lib/language_server/protocol/interfaces.rb +87 -0
- data/lib/language_server/protocol/transport/stdio/reader.rb +39 -0
- data/lib/language_server/protocol/transport/stdio/writer.rb +38 -0
- data/lib/language_server/protocol/transport/stdio.rb +2 -0
- data/lib/language_server/protocol/version.rb +5 -0
- data/lib/language_server/protocol.rb +7 -0
- data/package.json +10 -0
- data/scripts/generateFiles.ts +224 -0
- data/yarn.lock +293 -0
- metadata +207 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
#
|
|
5
|
+
# An event describing a change to a text document. If range and rangeLength are omitted
|
|
6
|
+
# the new text is considered to be the full content of the document.
|
|
7
|
+
#
|
|
8
|
+
class TextDocumentContentChangeEvent
|
|
9
|
+
def initialize(range: nil, range_length: nil, text:)
|
|
10
|
+
@attributes = {}
|
|
11
|
+
|
|
12
|
+
@attributes[:range] = range if range
|
|
13
|
+
@attributes[:rangeLength] = range_length if range_length
|
|
14
|
+
@attributes[:text] = text
|
|
15
|
+
|
|
16
|
+
@attributes.freeze
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
# The range of the document that changed.
|
|
21
|
+
#
|
|
22
|
+
# @return [Range]
|
|
23
|
+
def range
|
|
24
|
+
attributes.fetch(:range)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# The length of the range that got replaced.
|
|
29
|
+
#
|
|
30
|
+
# @return [number]
|
|
31
|
+
def range_length
|
|
32
|
+
attributes.fetch(:rangeLength)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# The new text of the range/document.
|
|
37
|
+
#
|
|
38
|
+
# @return [string]
|
|
39
|
+
def text
|
|
40
|
+
attributes.fetch(:text)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
attr_reader :attributes
|
|
44
|
+
|
|
45
|
+
def to_json(*args)
|
|
46
|
+
attributes.to_json(*args)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentEdit
|
|
5
|
+
def initialize(text_document:, edits:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:textDocument] = text_document
|
|
9
|
+
@attributes[:edits] = edits
|
|
10
|
+
|
|
11
|
+
@attributes.freeze
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# The text document to change.
|
|
16
|
+
#
|
|
17
|
+
# @return [VersionedTextDocumentIdentifier]
|
|
18
|
+
def text_document
|
|
19
|
+
attributes.fetch(:textDocument)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
#
|
|
23
|
+
# The edits to be applied.
|
|
24
|
+
#
|
|
25
|
+
# @return [TextEdit[]]
|
|
26
|
+
def edits
|
|
27
|
+
attributes.fetch(:edits)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
attr_reader :attributes
|
|
31
|
+
|
|
32
|
+
def to_json(*args)
|
|
33
|
+
attributes.to_json(*args)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentIdentifier
|
|
5
|
+
def initialize(uri:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:uri] = uri
|
|
9
|
+
|
|
10
|
+
@attributes.freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# The text document's URI.
|
|
15
|
+
#
|
|
16
|
+
# @return [string]
|
|
17
|
+
def uri
|
|
18
|
+
attributes.fetch(:uri)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
attr_reader :attributes
|
|
22
|
+
|
|
23
|
+
def to_json(*args)
|
|
24
|
+
attributes.to_json(*args)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentItem
|
|
5
|
+
def initialize(uri:, language_id:, version:, text:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:uri] = uri
|
|
9
|
+
@attributes[:languageId] = language_id
|
|
10
|
+
@attributes[:version] = version
|
|
11
|
+
@attributes[:text] = text
|
|
12
|
+
|
|
13
|
+
@attributes.freeze
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
#
|
|
17
|
+
# The text document's URI.
|
|
18
|
+
#
|
|
19
|
+
# @return [string]
|
|
20
|
+
def uri
|
|
21
|
+
attributes.fetch(:uri)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# The text document's language identifier.
|
|
26
|
+
#
|
|
27
|
+
# @return [string]
|
|
28
|
+
def language_id
|
|
29
|
+
attributes.fetch(:languageId)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
#
|
|
33
|
+
# The version number of this document (it will strictly increase after each
|
|
34
|
+
# change, including undo/redo).
|
|
35
|
+
#
|
|
36
|
+
# @return [number]
|
|
37
|
+
def version
|
|
38
|
+
attributes.fetch(:version)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#
|
|
42
|
+
# The content of the opened text document.
|
|
43
|
+
#
|
|
44
|
+
# @return [string]
|
|
45
|
+
def text
|
|
46
|
+
attributes.fetch(:text)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
attr_reader :attributes
|
|
50
|
+
|
|
51
|
+
def to_json(*args)
|
|
52
|
+
attributes.to_json(*args)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentPositionParams
|
|
5
|
+
def initialize(text_document:, position:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:textDocument] = text_document
|
|
9
|
+
@attributes[:position] = position
|
|
10
|
+
|
|
11
|
+
@attributes.freeze
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# The text document.
|
|
16
|
+
#
|
|
17
|
+
# @return [TextDocumentIdentifier]
|
|
18
|
+
def text_document
|
|
19
|
+
attributes.fetch(:textDocument)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
#
|
|
23
|
+
# The position inside the text document.
|
|
24
|
+
#
|
|
25
|
+
# @return [Position]
|
|
26
|
+
def position
|
|
27
|
+
attributes.fetch(:position)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
attr_reader :attributes
|
|
31
|
+
|
|
32
|
+
def to_json(*args)
|
|
33
|
+
attributes.to_json(*args)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentRegistrationOptions
|
|
5
|
+
def initialize(document_selector:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:documentSelector] = document_selector
|
|
9
|
+
|
|
10
|
+
@attributes.freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# A document selector to identify the scope of the registration. If set to null
|
|
15
|
+
# the document selector provided on the client side will be used.
|
|
16
|
+
#
|
|
17
|
+
# @return [DocumentFilter[]]
|
|
18
|
+
def document_selector
|
|
19
|
+
attributes.fetch(:documentSelector)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
attr_reader :attributes
|
|
23
|
+
|
|
24
|
+
def to_json(*args)
|
|
25
|
+
attributes.to_json(*args)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentSaveRegistrationOptions
|
|
5
|
+
def initialize(include_text: nil)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:includeText] = include_text if include_text
|
|
9
|
+
|
|
10
|
+
@attributes.freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# The client is supposed to include the content on save.
|
|
15
|
+
#
|
|
16
|
+
# @return [boolean]
|
|
17
|
+
def include_text
|
|
18
|
+
attributes.fetch(:includeText)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
attr_reader :attributes
|
|
22
|
+
|
|
23
|
+
def to_json(*args)
|
|
24
|
+
attributes.to_json(*args)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextDocumentSyncOptions
|
|
5
|
+
def initialize(open_close: nil, change: nil, will_save: nil, will_save_wait_until: nil, save: nil)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:openClose] = open_close if open_close
|
|
9
|
+
@attributes[:change] = change if change
|
|
10
|
+
@attributes[:willSave] = will_save if will_save
|
|
11
|
+
@attributes[:willSaveWaitUntil] = will_save_wait_until if will_save_wait_until
|
|
12
|
+
@attributes[:save] = save if save
|
|
13
|
+
|
|
14
|
+
@attributes.freeze
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
#
|
|
18
|
+
# Open and close notifications are sent to the server.
|
|
19
|
+
#
|
|
20
|
+
# @return [boolean]
|
|
21
|
+
def open_close
|
|
22
|
+
attributes.fetch(:openClose)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
#
|
|
26
|
+
# Change notificatins are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
|
|
27
|
+
# and TextDocumentSyncKindIncremental.
|
|
28
|
+
#
|
|
29
|
+
# @return [number]
|
|
30
|
+
def change
|
|
31
|
+
attributes.fetch(:change)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
#
|
|
35
|
+
# Will save notifications are sent to the server.
|
|
36
|
+
#
|
|
37
|
+
# @return [boolean]
|
|
38
|
+
def will_save
|
|
39
|
+
attributes.fetch(:willSave)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
#
|
|
43
|
+
# Will save wait until requests are sent to the server.
|
|
44
|
+
#
|
|
45
|
+
# @return [boolean]
|
|
46
|
+
def will_save_wait_until
|
|
47
|
+
attributes.fetch(:willSaveWaitUntil)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
#
|
|
51
|
+
# Save notifications are sent to the server.
|
|
52
|
+
#
|
|
53
|
+
# @return [SaveOptions]
|
|
54
|
+
def save
|
|
55
|
+
attributes.fetch(:save)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
attr_reader :attributes
|
|
59
|
+
|
|
60
|
+
def to_json(*args)
|
|
61
|
+
attributes.to_json(*args)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class TextEdit
|
|
5
|
+
def initialize(range:, new_text:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:range] = range
|
|
9
|
+
@attributes[:newText] = new_text
|
|
10
|
+
|
|
11
|
+
@attributes.freeze
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# The range of the text document to be manipulated. To insert
|
|
16
|
+
# text into a document create a range where start === end.
|
|
17
|
+
#
|
|
18
|
+
# @return [Range]
|
|
19
|
+
def range
|
|
20
|
+
attributes.fetch(:range)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
#
|
|
24
|
+
# The string to be inserted. For delete operations use an
|
|
25
|
+
# empty string.
|
|
26
|
+
#
|
|
27
|
+
# @return [string]
|
|
28
|
+
def new_text
|
|
29
|
+
attributes.fetch(:newText)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
attr_reader :attributes
|
|
33
|
+
|
|
34
|
+
def to_json(*args)
|
|
35
|
+
attributes.to_json(*args)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
#
|
|
5
|
+
# General parameters to unregister a capability.
|
|
6
|
+
#
|
|
7
|
+
class Unregistration
|
|
8
|
+
def initialize(id:, method:)
|
|
9
|
+
@attributes = {}
|
|
10
|
+
|
|
11
|
+
@attributes[:id] = id
|
|
12
|
+
@attributes[:method] = method
|
|
13
|
+
|
|
14
|
+
@attributes.freeze
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
#
|
|
18
|
+
# The id used to unregister the request or notification. Usually an id
|
|
19
|
+
# provided during the register request.
|
|
20
|
+
#
|
|
21
|
+
# @return [string]
|
|
22
|
+
def id
|
|
23
|
+
attributes.fetch(:id)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
#
|
|
27
|
+
# The method / capability to unregister for.
|
|
28
|
+
#
|
|
29
|
+
# @return [string]
|
|
30
|
+
def method
|
|
31
|
+
attributes.fetch(:method)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
attr_reader :attributes
|
|
35
|
+
|
|
36
|
+
def to_json(*args)
|
|
37
|
+
attributes.to_json(*args)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module LanguageServer
|
|
2
|
+
module Protocol
|
|
3
|
+
module Interfaces
|
|
4
|
+
class UnregistrationParams
|
|
5
|
+
def initialize(unregisterations:)
|
|
6
|
+
@attributes = {}
|
|
7
|
+
|
|
8
|
+
@attributes[:unregisterations] = unregisterations
|
|
9
|
+
|
|
10
|
+
@attributes.freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# @return [Unregistration[]]
|
|
14
|
+
def unregisterations
|
|
15
|
+
attributes.fetch(:unregisterations)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
attr_reader :attributes
|
|
19
|
+
|
|
20
|
+
def to_json(*args)
|
|
21
|
+
attributes.to_json(*args)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|