language_server-protocol 3.7.0.0 → 3.12.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Dockerfile.development +1 -1
  4. data/circle.yml +1 -0
  5. data/docker-compose.ci.yml +3 -1
  6. data/docker-compose.yml +11 -5
  7. data/lib/language_server/protocol/constant/code_action_kind.rb +71 -0
  8. data/lib/language_server/protocol/constant.rb +2 -0
  9. data/lib/language_server/protocol/interface/code_action.rb +79 -0
  10. data/lib/language_server/protocol/interface/code_action_context.rb +13 -1
  11. data/lib/language_server/protocol/interface/code_action_options.rb +39 -0
  12. data/lib/language_server/protocol/interface/code_action_registration_options.rb +24 -0
  13. data/lib/language_server/protocol/interface/color_provider_options.rb +1 -1
  14. data/lib/language_server/protocol/interface/completion_item.rb +14 -1
  15. data/lib/language_server/protocol/interface/completion_params.rb +1 -1
  16. data/lib/language_server/protocol/interface/document_link_options.rb +1 -1
  17. data/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +1 -1
  18. data/lib/language_server/protocol/interface/folding_range.rb +74 -0
  19. data/lib/language_server/protocol/interface/folding_range_provider_options.rb +27 -0
  20. data/lib/language_server/protocol/interface/folding_range_request_param.rb +33 -0
  21. data/lib/language_server/protocol/interface/rename_options.rb +36 -0
  22. data/lib/language_server/protocol/interface/rename_registration_options.rb +33 -0
  23. data/lib/language_server/protocol/interface/server_capabilities.rb +20 -5
  24. data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +15 -4
  25. data/lib/language_server/protocol/interface.rb +16 -0
  26. data/lib/language_server/protocol/version.rb +1 -1
  27. data/scripts/generateFiles.ts +121 -53
  28. metadata +12 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e82be81b509cb0a6901eaa5805dad18cd08a3bff0ba8e4aab12e1700837d725
4
- data.tar.gz: 87ebe70136ec93268422cdd25f619dcff32fa59c7d454ffe2d83136b22c78128
3
+ metadata.gz: dd4c303397da016e02bccf930e4910d2e185c989028786621b2a85c4c25ed371
4
+ data.tar.gz: 2b87beb7052a1fbfe3668b317624900c83e10d87349f7092490b89dcd1199c0f
5
5
  SHA512:
6
- metadata.gz: ec3861550e1a90b39c35d48721531cdf14ad8e0ed348c4c46f6a6563dfdd3e1ae8aa3cc7b69fbbca2d7af3b7e62d2c7ce2c562af7716357f1cb91eb1d0f536ad
7
- data.tar.gz: 6f109325286719a1bc068605a01b8678f25a0e1a234893b0b790f9f25ab0080cebff59f09c7c4ef724daae0c948149f3006ac01fa6e79b46e885e3661ad4872a
6
+ metadata.gz: 53fa2f0da9a2fd581fa3df068d695327077f8b8ece242f9659a3aa75a5fdbcea6a84ed0ded4447b7463816f9586dbbafec45a1e32f65d38f4307c0ac740bccb4
7
+ data.tar.gz: bbda94c4c9a50645b207791c345584423a90b3e1b86f94f299376009678e331466e5615f78c73a9871eb92fd16348ac336d93eaf9f054b162f80589e316f54f9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change log
2
2
 
3
+ ## 3.12.0.0
4
+
5
+ - Update Language Server Protocol version to 3.12.0
6
+
3
7
  ## 3.7.0.0
4
8
 
5
9
  - Update Language Server Protocol version to 3.7.0
@@ -1,4 +1,4 @@
1
- ARG RUBY_VERSION=2.4.2
1
+ ARG RUBY_VERSION=2.5.1
2
2
  FROM ruby:$RUBY_VERSION
3
3
 
4
4
  RUN apt-get update && apt-get install less -y
data/circle.yml CHANGED
@@ -23,5 +23,6 @@ jobs:
23
23
  name: test
24
24
  command: |
25
25
  docker-compose run app bundle exec rake test
26
+ docker-compose run ruby-2-4 bundle exec rake test
26
27
  docker-compose run ruby-2-3 bundle exec rake test
27
28
  docker-compose run ruby-2-2 bundle exec rake test
@@ -1,8 +1,10 @@
1
- version: '3.0'
1
+ version: "3.0"
2
2
  services:
3
3
  app: &app
4
4
  volumes:
5
5
  - project:/app
6
+ ruby-2-4:
7
+ <<: *app
6
8
  ruby-2-3:
7
9
  <<: *app
8
10
  ruby-2-2:
data/docker-compose.yml CHANGED
@@ -1,4 +1,4 @@
1
- version: '3.0'
1
+ version: "3.0"
2
2
  services:
3
3
  app: &app
4
4
  build: &app-build
@@ -7,18 +7,24 @@ services:
7
7
  volumes:
8
8
  - vendor:/vendor
9
9
  - home:/home/ruby
10
+ ruby-2-4:
11
+ <<: *app
12
+ build:
13
+ <<: *app-build
14
+ args:
15
+ RUBY_VERSION: 2.4.4
10
16
  ruby-2-3:
11
17
  <<: *app
12
18
  build:
13
19
  <<: *app-build
14
20
  args:
15
- RUBY_VERSION: 2.3.5
21
+ RUBY_VERSION: 2.3.7
16
22
  ruby-2-2:
17
23
  <<: *app
18
24
  build:
19
25
  <<: *app-build
20
26
  args:
21
- RUBY_VERSION: 2.2.8
27
+ RUBY_VERSION: 2.2.10
22
28
  node:
23
29
  build:
24
30
  context: .
@@ -27,5 +33,5 @@ services:
27
33
  - vendor:/vendor
28
34
  - home:/home/node
29
35
  volumes:
30
- vendor:
31
- home:
36
+ ? vendor
37
+ ? home
@@ -0,0 +1,71 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Constant
4
+ #
5
+ # The kind of a code action.
6
+ #
7
+ # Kinds are a hierarchical list of identifiers separated by `.`, e.g. `"refactor.extract.function"`.
8
+ #
9
+ # The set of kinds is open and client needs to announce the kinds it supports to the server during
10
+ # initialization.
11
+ # A set of predefined code action kinds
12
+ #
13
+ module CodeActionKind
14
+ #
15
+ # Base kind for quickfix actions: 'quickfix'
16
+ #
17
+ QUICK_FIX = 'quickfix'
18
+ #
19
+ # Base kind for refactoring actions: 'refactor'
20
+ #
21
+ REFACTOR = 'refactor'
22
+ #
23
+ # Base kind for refactoring extraction actions: 'refactor.extract'
24
+ #
25
+ # Example extract actions:
26
+ #
27
+ # - Extract method
28
+ # - Extract function
29
+ # - Extract variable
30
+ # - Extract interface from class
31
+ # - ...
32
+ #
33
+ REFACTOR_EXTRACT = 'refactor.extract'
34
+ #
35
+ # Base kind for refactoring inline actions: 'refactor.inline'
36
+ #
37
+ # Example inline actions:
38
+ #
39
+ # - Inline function
40
+ # - Inline variable
41
+ # - Inline constant
42
+ # - ...
43
+ #
44
+ REFACTOR_INLINE = 'refactor.inline'
45
+ #
46
+ # Base kind for refactoring rewrite actions: 'refactor.rewrite'
47
+ #
48
+ # Example rewrite actions:
49
+ #
50
+ # - Convert JavaScript function to class
51
+ # - Add or remove parameter
52
+ # - Encapsulate field
53
+ # - Make method static
54
+ # - Move method to base class
55
+ # - ...
56
+ #
57
+ REFACTOR_REWRITE = 'refactor.rewrite'
58
+ #
59
+ # Base kind for source actions: `source`
60
+ #
61
+ # Source code actions apply to the entire file.
62
+ #
63
+ SOURCE = 'source'
64
+ #
65
+ # Base kind for an organize imports source action: `source.organizeImports`
66
+ #
67
+ SOURCE_ORGANIZE_IMPORTS = 'source.organizeImports'
68
+ end
69
+ end
70
+ end
71
+ end
@@ -1,6 +1,7 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
3
  module Constant
4
+ autoload :CodeActionKind, "language_server/protocol/constant/code_action_kind"
4
5
  autoload :CompletionItemKind, "language_server/protocol/constant/completion_item_kind"
5
6
  autoload :CompletionTriggerKind, "language_server/protocol/constant/completion_trigger_kind"
6
7
  autoload :DiagnosticSeverity, "language_server/protocol/constant/diagnostic_severity"
@@ -16,6 +17,7 @@ module LanguageServer
16
17
  autoload :TextDocumentSyncKind, "language_server/protocol/constant/text_document_sync_kind"
17
18
  autoload :WatchKind, "language_server/protocol/constant/watch_kind"
18
19
 
20
+ require "language_server/protocol/constant/code_action_kind"
19
21
  require "language_server/protocol/constant/completion_item_kind"
20
22
  require "language_server/protocol/constant/completion_trigger_kind"
21
23
  require "language_server/protocol/constant/diagnostic_severity"
@@ -0,0 +1,79 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # A code action represents a change that can be performed in code, e.g. to fix a problem or
6
+ # to refactor code.
7
+ #
8
+ # A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
9
+ #
10
+ class CodeAction
11
+ def initialize(title:, kind: nil, diagnostics: nil, edit: nil, command: nil)
12
+ @attributes = {}
13
+
14
+ @attributes[:title] = title
15
+ @attributes[:kind] = kind if kind
16
+ @attributes[:diagnostics] = diagnostics if diagnostics
17
+ @attributes[:edit] = edit if edit
18
+ @attributes[:command] = command if command
19
+
20
+ @attributes.freeze
21
+ end
22
+
23
+ #
24
+ # A short, human-readable, title for this code action.
25
+ #
26
+ # @return [string]
27
+ def title
28
+ attributes.fetch(:title)
29
+ end
30
+
31
+ #
32
+ # The kind of the code action.
33
+ #
34
+ # Used to filter code actions.
35
+ #
36
+ # @return [string]
37
+ def kind
38
+ attributes.fetch(:kind)
39
+ end
40
+
41
+ #
42
+ # The diagnostics that this code action resolves.
43
+ #
44
+ # @return [Diagnostic[]]
45
+ def diagnostics
46
+ attributes.fetch(:diagnostics)
47
+ end
48
+
49
+ #
50
+ # The workspace edit this code action performs.
51
+ #
52
+ # @return [WorkspaceEdit]
53
+ def edit
54
+ attributes.fetch(:edit)
55
+ end
56
+
57
+ #
58
+ # A command this code action executes. If a code action
59
+ # provides an edit and a command, first the edit is
60
+ # executed and then the command.
61
+ #
62
+ # @return [Command]
63
+ def command
64
+ attributes.fetch(:command)
65
+ end
66
+
67
+ attr_reader :attributes
68
+
69
+ def to_hash
70
+ attributes
71
+ end
72
+
73
+ def to_json(*args)
74
+ to_hash.to_json(*args)
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -6,10 +6,11 @@ module LanguageServer
6
6
  # a code action is run.
7
7
  #
8
8
  class CodeActionContext
9
- def initialize(diagnostics:)
9
+ def initialize(diagnostics:, only: nil)
10
10
  @attributes = {}
11
11
 
12
12
  @attributes[:diagnostics] = diagnostics
13
+ @attributes[:only] = only if only
13
14
 
14
15
  @attributes.freeze
15
16
  end
@@ -22,6 +23,17 @@ module LanguageServer
22
23
  attributes.fetch(:diagnostics)
23
24
  end
24
25
 
26
+ #
27
+ # Requested kind of actions to return.
28
+ #
29
+ # Actions not of this kind are filtered out by the client before being shown. So servers
30
+ # can omit computing them.
31
+ #
32
+ # @return [string[]]
33
+ def only
34
+ attributes.fetch(:only)
35
+ end
36
+
25
37
  attr_reader :attributes
26
38
 
27
39
  def to_hash
@@ -0,0 +1,39 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Code Action options.
6
+ #
7
+ class CodeActionOptions
8
+ def initialize(code_action_kinds: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:codeActionKinds] = code_action_kinds if code_action_kinds
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # CodeActionKinds that this server may return.
18
+ #
19
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
20
+ # may list out every specific kind they provide.
21
+ #
22
+ # @return [string[]]
23
+ def code_action_kinds
24
+ attributes.fetch(:codeActionKinds)
25
+ end
26
+
27
+ attr_reader :attributes
28
+
29
+ def to_hash
30
+ attributes
31
+ end
32
+
33
+ def to_json(*args)
34
+ to_hash.to_json(*args)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class CodeActionRegistrationOptions < CodeActionOptions
5
+ def initialize(code_action_kinds: nil)
6
+ @attributes = {}
7
+
8
+
9
+ @attributes.freeze
10
+ end
11
+
12
+ attr_reader :attributes
13
+
14
+ def to_hash
15
+ attributes
16
+ end
17
+
18
+ def to_json(*args)
19
+ to_hash.to_json(*args)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Color provider Options
5
+ # Color provider options.
6
6
  #
7
7
  class ColorProviderOptions
8
8
  def initialize()
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class CompletionItem
5
- def initialize(label:, kind: nil, detail: nil, documentation: nil, deprecated: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, commit_characters: nil, command: nil, data: nil)
5
+ def initialize(label:, kind: nil, detail: nil, documentation: nil, deprecated: nil, preselect: nil, sort_text: nil, filter_text: nil, insert_text: nil, insert_text_format: nil, text_edit: nil, additional_text_edits: nil, commit_characters: nil, command: nil, data: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:label] = label
@@ -10,6 +10,7 @@ module LanguageServer
10
10
  @attributes[:detail] = detail if detail
11
11
  @attributes[:documentation] = documentation if documentation
12
12
  @attributes[:deprecated] = deprecated if deprecated
13
+ @attributes[:preselect] = preselect if preselect
13
14
  @attributes[:sortText] = sort_text if sort_text
14
15
  @attributes[:filterText] = filter_text if filter_text
15
16
  @attributes[:insertText] = insert_text if insert_text
@@ -67,6 +68,18 @@ module LanguageServer
67
68
  attributes.fetch(:deprecated)
68
69
  end
69
70
 
71
+ #
72
+ # Select this item when showing.
73
+ #
74
+ # *Note* that only one completion item can be selected and that the
75
+ # tool / client decides which item that is. The rule is that the *first*
76
+ # item of those that match best is selected.
77
+ #
78
+ # @return [boolean]
79
+ def preselect
80
+ attributes.fetch(:preselect)
81
+ end
82
+
70
83
  #
71
84
  # A string that should be used when comparing this item
72
85
  # with other items. When `falsy` the label is used.
@@ -11,7 +11,7 @@ module LanguageServer
11
11
  end
12
12
 
13
13
  #
14
- # The completion context. This is only available it the client specifies
14
+ # The completion context. This is only available if the client specifies
15
15
  # to send this using `ClientCapabilities.textDocument.completion.contextSupport === true`
16
16
  #
17
17
  # @return [CompletionContext]
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Document link options
5
+ # Document link options.
6
6
  #
7
7
  class DocumentLinkOptions
8
8
  def initialize(resolve_provider: nil)
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  #
5
- # Format document on type options
5
+ # Format document on type options.
6
6
  #
7
7
  class DocumentOnTypeFormattingOptions
8
8
  def initialize(first_trigger_character:, more_trigger_character: nil)
@@ -0,0 +1,74 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Represents a folding range.
6
+ #
7
+ class FoldingRange
8
+ def initialize(start_line:, start_character: nil, end_line:, end_character: nil, kind: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:startLine] = start_line
12
+ @attributes[:startCharacter] = start_character if start_character
13
+ @attributes[:endLine] = end_line
14
+ @attributes[:endCharacter] = end_character if end_character
15
+ @attributes[:kind] = kind if kind
16
+
17
+ @attributes.freeze
18
+ end
19
+
20
+ #
21
+ # The zero-based line number from where the folded range starts.
22
+ #
23
+ # @return [number]
24
+ def start_line
25
+ attributes.fetch(:startLine)
26
+ end
27
+
28
+ #
29
+ # The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
30
+ #
31
+ # @return [number]
32
+ def start_character
33
+ attributes.fetch(:startCharacter)
34
+ end
35
+
36
+ #
37
+ # The zero-based line number where the folded range ends.
38
+ #
39
+ # @return [number]
40
+ def end_line
41
+ attributes.fetch(:endLine)
42
+ end
43
+
44
+ #
45
+ # The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
46
+ #
47
+ # @return [number]
48
+ def end_character
49
+ attributes.fetch(:endCharacter)
50
+ end
51
+
52
+ #
53
+ # Describes the kind of the folding range such as `comment' or 'region'. The kind
54
+ # is used to categorize folding ranges and used by commands like 'Fold all comments'. See
55
+ # [FoldingRangeKind](#FoldingRangeKind) for an enumeration of standardized kinds.
56
+ #
57
+ # @return [string]
58
+ def kind
59
+ attributes.fetch(:kind)
60
+ end
61
+
62
+ attr_reader :attributes
63
+
64
+ def to_hash
65
+ attributes
66
+ end
67
+
68
+ def to_json(*args)
69
+ to_hash.to_json(*args)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,27 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Folding range provider options.
6
+ #
7
+ class FoldingRangeProviderOptions
8
+ def initialize()
9
+ @attributes = {}
10
+
11
+
12
+ @attributes.freeze
13
+ end
14
+
15
+ attr_reader :attributes
16
+
17
+ def to_hash
18
+ attributes
19
+ end
20
+
21
+ def to_json(*args)
22
+ to_hash.to_json(*args)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class FoldingRangeRequestParam
5
+ def initialize(text_document:)
6
+ @attributes = {}
7
+
8
+ @attributes[:textDocument] = text_document
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # The text document.
15
+ #
16
+ # @return [TextDocumentIdentifier]
17
+ def text_document
18
+ attributes.fetch(:textDocument)
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,36 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ #
5
+ # Rename options
6
+ #
7
+ class RenameOptions
8
+ def initialize(prepare_provider: nil)
9
+ @attributes = {}
10
+
11
+ @attributes[:prepareProvider] = prepare_provider if prepare_provider
12
+
13
+ @attributes.freeze
14
+ end
15
+
16
+ #
17
+ # Renames should be checked and tested before being executed.
18
+ #
19
+ # @return [boolean]
20
+ def prepare_provider
21
+ attributes.fetch(:prepareProvider)
22
+ end
23
+
24
+ attr_reader :attributes
25
+
26
+ def to_hash
27
+ attributes
28
+ end
29
+
30
+ def to_json(*args)
31
+ to_hash.to_json(*args)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,33 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Interface
4
+ class RenameRegistrationOptions < TextDocumentRegistrationOptions
5
+ def initialize(document_selector:, prepare_provider: nil)
6
+ @attributes = {}
7
+
8
+ @attributes[:prepareProvider] = prepare_provider if prepare_provider
9
+
10
+ @attributes.freeze
11
+ end
12
+
13
+ #
14
+ # Renames should be checked and tested for validity before being executed.
15
+ #
16
+ # @return [boolean]
17
+ def prepare_provider
18
+ attributes.fetch(:prepareProvider)
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
@@ -2,7 +2,7 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Interface
4
4
  class ServerCapabilities
5
- def initialize(text_document_sync: nil, hover_provider: nil, completion_provider: nil, signature_help_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, workspace_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, document_link_provider: nil, color_provider: nil, execute_command_provider: nil, workspace: nil, experimental: nil)
5
+ def initialize(text_document_sync: nil, hover_provider: nil, completion_provider: nil, signature_help_provider: nil, definition_provider: nil, type_definition_provider: nil, implementation_provider: nil, references_provider: nil, document_highlight_provider: nil, document_symbol_provider: nil, workspace_symbol_provider: nil, code_action_provider: nil, code_lens_provider: nil, document_formatting_provider: nil, document_range_formatting_provider: nil, document_on_type_formatting_provider: nil, rename_provider: nil, document_link_provider: nil, color_provider: nil, folding_range_provider: nil, execute_command_provider: nil, workspace: nil, experimental: nil)
6
6
  @attributes = {}
7
7
 
8
8
  @attributes[:textDocumentSync] = text_document_sync if text_document_sync
@@ -24,6 +24,7 @@ module LanguageServer
24
24
  @attributes[:renameProvider] = rename_provider if rename_provider
25
25
  @attributes[:documentLinkProvider] = document_link_provider if document_link_provider
26
26
  @attributes[:colorProvider] = color_provider if color_provider
27
+ @attributes[:foldingRangeProvider] = folding_range_provider if folding_range_provider
27
28
  @attributes[:executeCommandProvider] = execute_command_provider if execute_command_provider
28
29
  @attributes[:workspace] = workspace if workspace
29
30
  @attributes[:experimental] = experimental if experimental
@@ -125,9 +126,11 @@ module LanguageServer
125
126
  end
126
127
 
127
128
  #
128
- # The server provides code actions.
129
+ # The server provides code actions. The `CodeActionOptions` return type is only
130
+ # valid if the client signals code action literal support via the property
131
+ # `textDocument.codeAction.codeActionLiteralSupport`.
129
132
  #
130
- # @return [boolean]
133
+ # @return [boolean | CodeActionOptions]
131
134
  def code_action_provider
132
135
  attributes.fetch(:codeActionProvider)
133
136
  end
@@ -165,9 +168,11 @@ module LanguageServer
165
168
  end
166
169
 
167
170
  #
168
- # The server provides rename support.
171
+ # The server provides rename support. RenameOptions may only be
172
+ # specified if the client states that it supports
173
+ # `prepareSupport` in its initial `initialize` request.
169
174
  #
170
- # @return [boolean]
175
+ # @return [boolean | RenameOptions]
171
176
  def rename_provider
172
177
  attributes.fetch(:renameProvider)
173
178
  end
@@ -190,6 +195,16 @@ module LanguageServer
190
195
  attributes.fetch(:colorProvider)
191
196
  end
192
197
 
198
+ #
199
+ # The server provides folding provider support.
200
+ #
201
+ # Since 3.10.0
202
+ #
203
+ # @return [boolean | FoldingRangeProviderOptions | (FoldingRangeProviderOptions & TextDocumentRegistrationOp...]
204
+ def folding_range_provider
205
+ attributes.fetch(:foldingRangeProvider)
206
+ end
207
+
193
208
  #
194
209
  # The server provides execute command support.
195
210
  #
@@ -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, references: nil, document_highlight: nil, document_symbol: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, definition: nil, type_definition: nil, implementation: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, rename: nil, publish_diagnostics: nil)
8
+ def initialize(synchronization: nil, completion: nil, hover: nil, signature_help: nil, references: nil, document_highlight: nil, document_symbol: nil, formatting: nil, range_formatting: nil, on_type_formatting: nil, definition: nil, type_definition: nil, implementation: nil, code_action: nil, code_lens: nil, document_link: nil, color_provider: nil, rename: nil, publish_diagnostics: nil, folding_range: nil)
9
9
  @attributes = {}
10
10
 
11
11
  @attributes[:synchronization] = synchronization if synchronization
@@ -27,6 +27,7 @@ module LanguageServer
27
27
  @attributes[:colorProvider] = color_provider if color_provider
28
28
  @attributes[:rename] = rename if rename
29
29
  @attributes[:publishDiagnostics] = publish_diagnostics if publish_diagnostics
30
+ @attributes[:foldingRange] = folding_range if folding_range
30
31
 
31
32
  @attributes.freeze
32
33
  end
@@ -79,7 +80,7 @@ module LanguageServer
79
80
  #
80
81
  # Capabilities specific to the `textDocument/documentSymbol`
81
82
  #
82
- # @return [{ dynamicRegistration?: boolean; symbolKind?: { valueSet?: any[]; }; }]
83
+ # @return [{ dynamicRegistration?: boolean; symbolKind?: { valueSet?: any[]; }; hierarchicalDocumentSymbolSu...]
83
84
  def document_symbol
84
85
  attributes.fetch(:documentSymbol)
85
86
  end
@@ -139,7 +140,7 @@ module LanguageServer
139
140
  #
140
141
  # Capabilities specific to the `textDocument/codeAction`
141
142
  #
142
- # @return [{ dynamicRegistration?: boolean; }]
143
+ # @return [{ dynamicRegistration?: boolean; codeActionLiteralSupport?: { codeActionKind: { valueSet: string[...]
143
144
  def code_action
144
145
  attributes.fetch(:codeAction)
145
146
  end
@@ -174,7 +175,7 @@ module LanguageServer
174
175
  #
175
176
  # Capabilities specific to the `textDocument/rename`
176
177
  #
177
- # @return [{ dynamicRegistration?: boolean; }]
178
+ # @return [{ dynamicRegistration?: boolean; prepareSupport?: boolean; }]
178
179
  def rename
179
180
  attributes.fetch(:rename)
180
181
  end
@@ -187,6 +188,16 @@ module LanguageServer
187
188
  attributes.fetch(:publishDiagnostics)
188
189
  end
189
190
 
191
+ #
192
+ # Capabilities specific to `textDocument/foldingRange` requests.
193
+ #
194
+ # Since 3.10.0
195
+ #
196
+ # @return [{ dynamicRegistration?: boolean; rangeLimit?: number; lineFoldingOnly?: boolean; }]
197
+ def folding_range
198
+ attributes.fetch(:foldingRange)
199
+ end
200
+
190
201
  attr_reader :attributes
191
202
 
192
203
  def to_hash
@@ -5,8 +5,11 @@ module LanguageServer
5
5
  autoload :ApplyWorkspaceEditResponse, "language_server/protocol/interface/apply_workspace_edit_response"
6
6
  autoload :CancelParams, "language_server/protocol/interface/cancel_params"
7
7
  autoload :ClientCapabilities, "language_server/protocol/interface/client_capabilities"
8
+ autoload :CodeAction, "language_server/protocol/interface/code_action"
8
9
  autoload :CodeActionContext, "language_server/protocol/interface/code_action_context"
10
+ autoload :CodeActionOptions, "language_server/protocol/interface/code_action_options"
9
11
  autoload :CodeActionParams, "language_server/protocol/interface/code_action_params"
12
+ autoload :CodeActionRegistrationOptions, "language_server/protocol/interface/code_action_registration_options"
10
13
  autoload :CodeLens, "language_server/protocol/interface/code_lens"
11
14
  autoload :CodeLensOptions, "language_server/protocol/interface/code_lens_options"
12
15
  autoload :CodeLensParams, "language_server/protocol/interface/code_lens_params"
@@ -52,6 +55,9 @@ module LanguageServer
52
55
  autoload :ExecuteCommandRegistrationOptions, "language_server/protocol/interface/execute_command_registration_options"
53
56
  autoload :FileEvent, "language_server/protocol/interface/file_event"
54
57
  autoload :FileSystemWatcher, "language_server/protocol/interface/file_system_watcher"
58
+ autoload :FoldingRange, "language_server/protocol/interface/folding_range"
59
+ autoload :FoldingRangeProviderOptions, "language_server/protocol/interface/folding_range_provider_options"
60
+ autoload :FoldingRangeRequestParam, "language_server/protocol/interface/folding_range_request_param"
55
61
  autoload :FormattingOptions, "language_server/protocol/interface/formatting_options"
56
62
  autoload :Hover, "language_server/protocol/interface/hover"
57
63
  autoload :InitializeError, "language_server/protocol/interface/initialize_error"
@@ -72,7 +78,9 @@ module LanguageServer
72
78
  autoload :ReferenceParams, "language_server/protocol/interface/reference_params"
73
79
  autoload :Registration, "language_server/protocol/interface/registration"
74
80
  autoload :RegistrationParams, "language_server/protocol/interface/registration_params"
81
+ autoload :RenameOptions, "language_server/protocol/interface/rename_options"
75
82
  autoload :RenameParams, "language_server/protocol/interface/rename_params"
83
+ autoload :RenameRegistrationOptions, "language_server/protocol/interface/rename_registration_options"
76
84
  autoload :RequestMessage, "language_server/protocol/interface/request_message"
77
85
  autoload :ResponseError, "language_server/protocol/interface/response_error"
78
86
  autoload :ResponseMessage, "language_server/protocol/interface/response_message"
@@ -111,8 +119,11 @@ module LanguageServer
111
119
  require "language_server/protocol/interface/apply_workspace_edit_response"
112
120
  require "language_server/protocol/interface/cancel_params"
113
121
  require "language_server/protocol/interface/client_capabilities"
122
+ require "language_server/protocol/interface/code_action"
114
123
  require "language_server/protocol/interface/code_action_context"
124
+ require "language_server/protocol/interface/code_action_options"
115
125
  require "language_server/protocol/interface/code_action_params"
126
+ require "language_server/protocol/interface/code_action_registration_options"
116
127
  require "language_server/protocol/interface/code_lens"
117
128
  require "language_server/protocol/interface/code_lens_options"
118
129
  require "language_server/protocol/interface/code_lens_params"
@@ -158,6 +169,9 @@ module LanguageServer
158
169
  require "language_server/protocol/interface/execute_command_registration_options"
159
170
  require "language_server/protocol/interface/file_event"
160
171
  require "language_server/protocol/interface/file_system_watcher"
172
+ require "language_server/protocol/interface/folding_range"
173
+ require "language_server/protocol/interface/folding_range_provider_options"
174
+ require "language_server/protocol/interface/folding_range_request_param"
161
175
  require "language_server/protocol/interface/formatting_options"
162
176
  require "language_server/protocol/interface/hover"
163
177
  require "language_server/protocol/interface/initialize_error"
@@ -178,7 +192,9 @@ module LanguageServer
178
192
  require "language_server/protocol/interface/reference_params"
179
193
  require "language_server/protocol/interface/registration"
180
194
  require "language_server/protocol/interface/registration_params"
195
+ require "language_server/protocol/interface/rename_options"
181
196
  require "language_server/protocol/interface/rename_params"
197
+ require "language_server/protocol/interface/rename_registration_options"
182
198
  require "language_server/protocol/interface/request_message"
183
199
  require "language_server/protocol/interface/response_error"
184
200
  require "language_server/protocol/interface/response_message"
@@ -1,5 +1,5 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
- VERSION = "3.7.0.0"
3
+ VERSION = "3.12.0.0"
4
4
  end
5
5
  end
@@ -1,9 +1,9 @@
1
- import * as ts from 'typescript';
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import * as fetch from 'isomorphic-fetch';
1
+ import * as ts from "typescript";
2
+ import * as fs from "fs";
3
+ import * as path from "path";
4
+ import * as fetch from "isomorphic-fetch";
5
5
 
6
- const lspVersion = '998fd38abbb73dda270b05aebea0a45b649f1cb4';
6
+ const lspVersion = "e0ed81b9c0de995196c4ec7a54a7c9432bb7897f";
7
7
  const rootDir = path.normalize(path.join(__dirname, ".."));
8
8
  const tempDir = path.join(rootDir, "tmp");
9
9
  const protocolMdPath = path.join(tempDir, lspVersion, "protocol.md");
@@ -20,19 +20,19 @@ const createFile = (filePath, content) => {
20
20
  });
21
21
 
22
22
  fs.writeFileSync(filePath, content);
23
- }
23
+ };
24
24
 
25
25
  const extractTypeScriptSource = content => {
26
- const regEx = /^```typescript\r\n([^]*?)^```\r\n/mg;
26
+ const regEx = /^```typescript\r\n([^]*?)^```\r\n/gm;
27
27
  let match;
28
28
  let result = "";
29
29
 
30
- while((match = regEx.exec(content)) !== null) {
30
+ while ((match = regEx.exec(content)) !== null) {
31
31
  result = result.concat(match[1]);
32
32
  }
33
33
 
34
34
  return result;
35
- }
35
+ };
36
36
 
37
37
  const extractDefinitions = content => {
38
38
  const fileName = path.join(tempDir, "protocol.ts");
@@ -44,79 +44,108 @@ const extractDefinitions = content => {
44
44
 
45
45
  const serialize = member => {
46
46
  const symbol = checker.getSymbolAtLocation(member.name);
47
- const type = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
48
- const types = member.kind == ts.SyntaxKind.UnionType ? (<ts.UnionTypeNode>(<ts.PropertySignature>member).type).types : [];
47
+ const type = checker.getTypeOfSymbolAtLocation(
48
+ symbol,
49
+ symbol.valueDeclaration
50
+ );
51
+ const types =
52
+ member.kind == ts.SyntaxKind.UnionType
53
+ ? (<ts.UnionTypeNode>(<ts.PropertySignature>member).type).types
54
+ : [];
49
55
 
50
56
  return {
51
57
  name: symbol.getName(),
52
58
  documentation: ts.displayPartsToString(symbol.getDocumentationComment()),
53
59
  type: checker.typeToString(type),
54
60
  optional: !!member.questionToken,
55
- nullable: (<ts.NodeArray<ts.TypeNode>>types).some(t => t.kind == ts.SyntaxKind.NullKeyword),
56
- value: symbol.valueDeclaration ? symbol.valueDeclaration.getChildAt(symbol.valueDeclaration.getChildCount() - 1).getText() : null
61
+ nullable: (<ts.NodeArray<ts.TypeNode>>types).some(
62
+ t => t.kind == ts.SyntaxKind.NullKeyword
63
+ ),
64
+ value: symbol.valueDeclaration
65
+ ? symbol.valueDeclaration
66
+ .getChildAt(symbol.valueDeclaration.getChildCount() - 1)
67
+ .getText()
68
+ : null
57
69
  };
58
- }
70
+ };
59
71
 
60
72
  const handleInterface = (node: ts.InterfaceDeclaration) => {
61
- const members = node.members.filter(member => member.name).map(member => serialize(member));
62
- const parentName = node.heritageClauses && node.heritageClauses[0].getLastToken().getText();
63
- const parent = output.find(i => i.interface && (i.interface.name === parentName));
73
+ const members = node.members
74
+ .filter(member => member.name)
75
+ .map(member => serialize(member));
76
+ const parentName =
77
+ node.heritageClauses && node.heritageClauses[0].getLastToken().getText();
78
+ const parent = output.find(
79
+ i => i.interface && i.interface.name === parentName
80
+ );
64
81
 
65
- output.push(
66
- {
82
+ output.push({
67
83
  interface: serialize(node),
68
84
  parent: parent,
69
85
  allMembers: ((parent && parent.allMembers) || []).concat(members),
70
86
  members
71
- }
72
- );
73
- }
87
+ });
88
+ };
74
89
 
75
90
  const handleModule = (node: ts.ModuleDeclaration) => {
76
- const members = []
91
+ const members = [];
77
92
 
78
93
  ts.forEachChild(node.body, node => {
79
- members.push(serialize((<ts.VariableStatement>node).declarationList.declarations[0]));
94
+ members.push(
95
+ serialize((<ts.VariableStatement>node).declarationList.declarations[0])
96
+ );
80
97
  });
81
98
 
82
- output.push(
83
- {
99
+ output.push({
84
100
  module: serialize(node),
85
101
  members
86
- }
87
- );
88
- }
102
+ });
103
+ };
89
104
 
90
105
  const visit = node => {
91
- switch(node.kind) {
92
- case(ts.SyntaxKind.InterfaceDeclaration):
93
- handleInterface(node);
94
- break;
95
-
96
- case(ts.SyntaxKind.ModuleDeclaration):
97
- handleModule(node);
98
- break;
106
+ switch (node.kind) {
107
+ case ts.SyntaxKind.InterfaceDeclaration:
108
+ handleInterface(node);
109
+ break;
110
+
111
+ case ts.SyntaxKind.ModuleDeclaration:
112
+ handleModule(node);
113
+ break;
99
114
  }
100
115
  };
101
116
 
102
117
  ts.forEachChild(program.getSourceFile(fileName), visit);
103
118
 
104
119
  return output;
105
- }
120
+ };
106
121
 
107
122
  import Handlebars from "handlebars";
108
- const snake = s => s.replace(/^[A-Z]/, s => s.toLowerCase()).replace(/[A-Z]/g, s => `_${s.toLowerCase()}`);
123
+ const snake = s =>
124
+ s
125
+ .replace(/^[A-Z]/, s => s.toLowerCase())
126
+ .replace(/[A-Z]/g, s => `_${s.toLowerCase()}`);
109
127
 
110
128
  Handlebars.registerHelper("params", members => {
111
- return members.map(member => `${snake(member.name)}:${(member.optional || member.nullable) ? " nil" : ""}`).join(", ");
129
+ return members
130
+ .map(
131
+ member =>
132
+ `${snake(member.name)}:${
133
+ member.optional || member.nullable ? " nil" : ""
134
+ }`
135
+ )
136
+ .join(", ");
112
137
  });
113
138
  Handlebars.registerHelper("snake", snake);
114
139
  Handlebars.registerHelper("comment", (s, options) => {
115
140
  const indent = Array(options.hash.indent + 1).join(" ");
116
- return s.split("\n").map(s => s.trim()).map(s => `${indent}#${s.length == 0 ? "" : ` ${s}`}`).join("\n");
141
+ return s
142
+ .split("\n")
143
+ .map(s => s.trim())
144
+ .map(s => `${indent}#${s.length == 0 ? "" : ` ${s}`}`)
145
+ .join("\n");
117
146
  });
118
147
  Handlebars.registerHelper("local_var", s => {
119
- const rubyKeywords = ["end", "retry"]
148
+ const rubyKeywords = ["end", "retry"];
120
149
  const snaked = snake(s);
121
150
 
122
151
  if (rubyKeywords.some(k => k == s)) {
@@ -131,7 +160,9 @@ Handlebars.registerHelper("const", s => {
131
160
 
132
161
  (async () => {
133
162
  if (!fs.existsSync(protocolMdPath)) {
134
- const res = await fetch(`https://github.com/Microsoft/language-server-protocol/raw/${lspVersion}/specification.md`);
163
+ const res = await fetch(
164
+ `https://github.com/Microsoft/language-server-protocol/raw/${lspVersion}/specification.md`
165
+ );
135
166
  createFile(protocolMdPath, await res.text());
136
167
  }
137
168
 
@@ -143,7 +174,17 @@ Handlebars.registerHelper("const", s => {
143
174
  const modules = definitions.filter(d => d.module);
144
175
 
145
176
  interfaces.forEach(definition => {
146
- createFile(path.join(rootDir, "lib", "language_server", "protocol", "interface", `${snake(definition.interface.name)}.rb`), Handlebars.compile(`
177
+ createFile(
178
+ path.join(
179
+ rootDir,
180
+ "lib",
181
+ "language_server",
182
+ "protocol",
183
+ "interface",
184
+ `${snake(definition.interface.name)}.rb`
185
+ ),
186
+ Handlebars.compile(
187
+ `
147
188
  module LanguageServer
148
189
  module Protocol
149
190
  module Interface
@@ -188,11 +229,24 @@ module LanguageServer
188
229
  end
189
230
  end
190
231
  end
191
- `.slice(1), {noEscape: true})({definition}));
232
+ `.slice(1),
233
+ { noEscape: true }
234
+ )({ definition })
235
+ );
192
236
  });
193
237
 
194
238
  modules.forEach(definition => {
195
- createFile(path.join(rootDir, "lib", "language_server", "protocol", "constant", `${snake(definition.module.name)}.rb`), Handlebars.compile(`
239
+ createFile(
240
+ path.join(
241
+ rootDir,
242
+ "lib",
243
+ "language_server",
244
+ "protocol",
245
+ "constant",
246
+ `${snake(definition.module.name)}.rb`
247
+ ),
248
+ Handlebars.compile(
249
+ `
196
250
  module LanguageServer
197
251
  module Protocol
198
252
  module Constant
@@ -214,10 +268,16 @@ module LanguageServer
214
268
  end
215
269
  end
216
270
  end
217
- `.slice(1), {noEscape: true})({definition}));
271
+ `.slice(1),
272
+ { noEscape: true }
273
+ )({ definition })
274
+ );
218
275
  });
219
276
 
220
- createFile(path.join(rootDir, "lib", "language_server", "protocol", "interface.rb"), Handlebars.compile(`
277
+ createFile(
278
+ path.join(rootDir, "lib", "language_server", "protocol", "interface.rb"),
279
+ Handlebars.compile(
280
+ `
221
281
  module LanguageServer
222
282
  module Protocol
223
283
  module Interface
@@ -231,9 +291,15 @@ module LanguageServer
231
291
  end
232
292
  end
233
293
  end
234
- `.slice(1), {noEscape: true})({names: interfaces.map(i => i.interface.name).sort()}));
235
-
236
- createFile(path.join(rootDir, "lib", "language_server", "protocol", "constant.rb"), Handlebars.compile(`
294
+ `.slice(1),
295
+ { noEscape: true }
296
+ )({ names: interfaces.map(i => i.interface.name).sort() })
297
+ );
298
+
299
+ createFile(
300
+ path.join(rootDir, "lib", "language_server", "protocol", "constant.rb"),
301
+ Handlebars.compile(
302
+ `
237
303
  module LanguageServer
238
304
  module Protocol
239
305
  module Constant
@@ -247,6 +313,8 @@ module LanguageServer
247
313
  end
248
314
  end
249
315
  end
250
- `.slice(1), {noEscape: true})({names: modules.map(i => i.module.name).sort()}));
251
-
316
+ `.slice(1),
317
+ { noEscape: true }
318
+ )({ names: modules.map(i => i.module.name).sort() })
319
+ );
252
320
  })();
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: language_server-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.0.0
4
+ version: 3.12.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fumiaki MATSUSHIMA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-04 00:00:00.000000000 Z
11
+ date: 2018-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -137,6 +137,7 @@ files:
137
137
  - lib/language_server-protocol.rb
138
138
  - lib/language_server/protocol.rb
139
139
  - lib/language_server/protocol/constant.rb
140
+ - lib/language_server/protocol/constant/code_action_kind.rb
140
141
  - lib/language_server/protocol/constant/completion_item_kind.rb
141
142
  - lib/language_server/protocol/constant/completion_trigger_kind.rb
142
143
  - lib/language_server/protocol/constant/diagnostic_severity.rb
@@ -156,8 +157,11 @@ files:
156
157
  - lib/language_server/protocol/interface/apply_workspace_edit_response.rb
157
158
  - lib/language_server/protocol/interface/cancel_params.rb
158
159
  - lib/language_server/protocol/interface/client_capabilities.rb
160
+ - lib/language_server/protocol/interface/code_action.rb
159
161
  - lib/language_server/protocol/interface/code_action_context.rb
162
+ - lib/language_server/protocol/interface/code_action_options.rb
160
163
  - lib/language_server/protocol/interface/code_action_params.rb
164
+ - lib/language_server/protocol/interface/code_action_registration_options.rb
161
165
  - lib/language_server/protocol/interface/code_lens.rb
162
166
  - lib/language_server/protocol/interface/code_lens_options.rb
163
167
  - lib/language_server/protocol/interface/code_lens_params.rb
@@ -203,6 +207,9 @@ files:
203
207
  - lib/language_server/protocol/interface/execute_command_registration_options.rb
204
208
  - lib/language_server/protocol/interface/file_event.rb
205
209
  - lib/language_server/protocol/interface/file_system_watcher.rb
210
+ - lib/language_server/protocol/interface/folding_range.rb
211
+ - lib/language_server/protocol/interface/folding_range_provider_options.rb
212
+ - lib/language_server/protocol/interface/folding_range_request_param.rb
206
213
  - lib/language_server/protocol/interface/formatting_options.rb
207
214
  - lib/language_server/protocol/interface/hover.rb
208
215
  - lib/language_server/protocol/interface/initialize_error.rb
@@ -223,7 +230,9 @@ files:
223
230
  - lib/language_server/protocol/interface/reference_params.rb
224
231
  - lib/language_server/protocol/interface/registration.rb
225
232
  - lib/language_server/protocol/interface/registration_params.rb
233
+ - lib/language_server/protocol/interface/rename_options.rb
226
234
  - lib/language_server/protocol/interface/rename_params.rb
235
+ - lib/language_server/protocol/interface/rename_registration_options.rb
227
236
  - lib/language_server/protocol/interface/request_message.rb
228
237
  - lib/language_server/protocol/interface/response_error.rb
229
238
  - lib/language_server/protocol/interface/response_message.rb
@@ -286,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
295
  version: '0'
287
296
  requirements: []
288
297
  rubyforge_project:
289
- rubygems_version: 2.7.3
298
+ rubygems_version: 2.7.7
290
299
  signing_key:
291
300
  specification_version: 4
292
301
  summary: A Language Server Protocol SDK