language_server-protocol 3.12.0.0 → 3.14.0.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/Dockerfile.development +1 -1
- data/circle.yml +28 -10
- data/docker-compose.ci.yml +7 -5
- data/docker-compose.override.yml +8 -4
- data/docker-compose.yml +20 -12
- data/lib/language_server/protocol/constant/error_codes.rb +1 -0
- data/lib/language_server/protocol/constant/failure_handling_kind.rb +29 -0
- data/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
- data/lib/language_server/protocol/constant.rb +4 -0
- data/lib/language_server/protocol/interface/create_file.rb +54 -0
- data/lib/language_server/protocol/interface/create_file_options.rb +45 -0
- data/lib/language_server/protocol/interface/delete_file.rb +54 -0
- data/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
- data/lib/language_server/protocol/interface/did_change_text_document_params.rb +1 -1
- data/lib/language_server/protocol/interface/document_filter.rb +8 -0
- data/lib/language_server/protocol/interface/file_system_watcher.rb +9 -1
- data/lib/language_server/protocol/interface/{folding_range_request_param.rb → folding_range_params.rb} +1 -1
- data/lib/language_server/protocol/interface/location_link.rb +63 -0
- data/lib/language_server/protocol/interface/markup_content.rb +1 -1
- data/lib/language_server/protocol/interface/parameter_information.rb +9 -3
- data/lib/language_server/protocol/interface/rename_file.rb +63 -0
- data/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
- data/lib/language_server/protocol/interface/text_document_client_capabilities.rb +17 -6
- data/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +4 -1
- data/lib/language_server/protocol/interface/workspace_client_capabilities.rb +1 -1
- data/lib/language_server/protocol/interface/workspace_edit.rb +10 -4
- data/lib/language_server/protocol/interface.rb +16 -2
- data/lib/language_server/protocol/version.rb +1 -1
- data/scripts/generateFiles.ts +1 -1
- metadata +13 -6
- data/lib/language_server/protocol/interface/workspace_client_capabilites.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5176de1e7f223ecd27f7b85449a9c0f8ff07405a6cd87fb79f5ca56de532b170
|
4
|
+
data.tar.gz: 6702521a27fe19bd8c56f94341066ca06c92e47d5f749451c3dddfc7947dbfba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a39910787614a138d310a1d7808124671e79c519322602126a10abcf79571dd3fe7d53e56c117eb13fb6e116f1a87f1463dc7a732c4032139ba54b51c923c8fe
|
7
|
+
data.tar.gz: 9effbc1ef1149b92d38229561a0b0f1d86d4d80218d4c1bc8901ef5dceab60e0f08780440dc4f2bae0d20a4d2b3e75780be5cfae752441f112d1431a17f4bded
|
data/CHANGELOG.md
CHANGED
data/Dockerfile.development
CHANGED
data/circle.yml
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
version: 2
|
2
|
-
|
3
|
-
|
1
|
+
version: 2.0
|
2
|
+
references:
|
3
|
+
test: &test
|
4
4
|
docker:
|
5
5
|
- image: tmaier/docker-compose
|
6
6
|
environment:
|
7
7
|
COMPOSE_FILE: docker-compose.yml:docker-compose.ci.yml
|
8
8
|
steps:
|
9
9
|
- checkout
|
10
|
-
- setup_remote_docker
|
11
|
-
version: 17.05.0-ce
|
10
|
+
- setup_remote_docker
|
12
11
|
- run:
|
13
12
|
name: setup
|
14
13
|
command: |
|
@@ -18,11 +17,30 @@ jobs:
|
|
18
17
|
docker create -v project:/app --name project busybox chown -R 1000:1000 /app
|
19
18
|
docker cp . project:/app
|
20
19
|
docker start project
|
21
|
-
docker-compose build
|
20
|
+
docker-compose build $CIRCLE_JOB
|
22
21
|
- run:
|
23
22
|
name: test
|
24
23
|
command: |
|
25
|
-
docker-compose run
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
docker-compose run $CIRCLE_JOB bundle exec rake test
|
25
|
+
|
26
|
+
jobs:
|
27
|
+
ruby-2-6:
|
28
|
+
<<: *test
|
29
|
+
ruby-2-5:
|
30
|
+
<<: *test
|
31
|
+
ruby-2-4:
|
32
|
+
<<: *test
|
33
|
+
ruby-2-3:
|
34
|
+
<<: *test
|
35
|
+
ruby-2-2:
|
36
|
+
<<: *test
|
37
|
+
|
38
|
+
workflows:
|
39
|
+
version: 2
|
40
|
+
test_and_buld:
|
41
|
+
jobs:
|
42
|
+
- ruby-2-6
|
43
|
+
- ruby-2-5
|
44
|
+
- ruby-2-4
|
45
|
+
- ruby-2-3
|
46
|
+
- ruby-2-2
|
data/docker-compose.ci.yml
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
version: "3.0"
|
2
2
|
services:
|
3
|
-
|
3
|
+
ruby-2-6: &latest
|
4
4
|
volumes:
|
5
5
|
- project:/app
|
6
|
+
ruby-2-5:
|
7
|
+
<<: *latest
|
6
8
|
ruby-2-4:
|
7
|
-
<<: *
|
9
|
+
<<: *latest
|
8
10
|
ruby-2-3:
|
9
|
-
<<: *
|
11
|
+
<<: *latest
|
10
12
|
ruby-2-2:
|
11
|
-
<<: *
|
13
|
+
<<: *latest
|
12
14
|
node:
|
13
|
-
<<: *
|
15
|
+
<<: *latest
|
14
16
|
volumes:
|
15
17
|
project:
|
16
18
|
external: true
|
data/docker-compose.override.yml
CHANGED
@@ -1,15 +1,19 @@
|
|
1
|
-
version:
|
1
|
+
version: "3.0"
|
2
2
|
services:
|
3
|
-
|
3
|
+
ruby-2-6: &latest
|
4
4
|
volumes:
|
5
5
|
- .:/app:cached
|
6
6
|
- $HOME/.gitconfig:/home/ruby/.gitconfig:ro
|
7
7
|
- $HOME/.ssh:/home/ruby/.ssh:ro
|
8
8
|
- $HOME/.gem:/home/ruby/.gem
|
9
|
+
ruby-2-5:
|
10
|
+
<<: *latest
|
11
|
+
ruby-2-4:
|
12
|
+
<<: *latest
|
9
13
|
ruby-2-3:
|
10
|
-
<<: *
|
14
|
+
<<: *latest
|
11
15
|
ruby-2-2:
|
12
|
-
<<: *
|
16
|
+
<<: *latest
|
13
17
|
node:
|
14
18
|
volumes:
|
15
19
|
- .:/app:cached
|
data/docker-compose.yml
CHANGED
@@ -1,28 +1,36 @@
|
|
1
1
|
version: "3.0"
|
2
2
|
services:
|
3
|
-
|
4
|
-
build: &
|
3
|
+
ruby-2-6: &latest
|
4
|
+
build: &build
|
5
5
|
context: .
|
6
6
|
dockerfile: Dockerfile.development
|
7
|
+
args:
|
8
|
+
RUBY_VERSION: 2.6.0
|
7
9
|
volumes:
|
8
10
|
- vendor:/vendor
|
9
11
|
- home:/home/ruby
|
12
|
+
ruby-2-5:
|
13
|
+
<<: *latest
|
14
|
+
build:
|
15
|
+
<<: *build
|
16
|
+
args:
|
17
|
+
RUBY_VERSION: 2.5.3
|
10
18
|
ruby-2-4:
|
11
|
-
<<: *
|
19
|
+
<<: *latest
|
12
20
|
build:
|
13
|
-
<<: *
|
21
|
+
<<: *build
|
14
22
|
args:
|
15
|
-
RUBY_VERSION: 2.4.
|
23
|
+
RUBY_VERSION: 2.4.5
|
16
24
|
ruby-2-3:
|
17
|
-
<<: *
|
25
|
+
<<: *latest
|
18
26
|
build:
|
19
|
-
<<: *
|
27
|
+
<<: *build
|
20
28
|
args:
|
21
|
-
RUBY_VERSION: 2.3.
|
29
|
+
RUBY_VERSION: 2.3.8
|
22
30
|
ruby-2-2:
|
23
|
-
<<: *
|
31
|
+
<<: *latest
|
24
32
|
build:
|
25
|
-
<<: *
|
33
|
+
<<: *build
|
26
34
|
args:
|
27
35
|
RUBY_VERSION: 2.2.10
|
28
36
|
node:
|
@@ -33,5 +41,5 @@ services:
|
|
33
41
|
- vendor:/vendor
|
34
42
|
- home:/home/node
|
35
43
|
volumes:
|
36
|
-
|
37
|
-
|
44
|
+
vendor:
|
45
|
+
home:
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Constant
|
4
|
+
module FailureHandlingKind
|
5
|
+
#
|
6
|
+
# Applying the workspace change is simply aborted if one of the changes provided
|
7
|
+
# fails. All operations executed before the failing operation stay executed.
|
8
|
+
#
|
9
|
+
ABORT = 'abort'
|
10
|
+
#
|
11
|
+
# All operations are executed transactional. That means they either all
|
12
|
+
# succeed or no changes at all are applied to the workspace.
|
13
|
+
#
|
14
|
+
TRANSACTIONAL = 'transactional'
|
15
|
+
#
|
16
|
+
# If the workspace edit contains only textual file changes they are executed transactional.
|
17
|
+
# If resource changes (create, rename or delete file) are part of the change the failure
|
18
|
+
# handling strategy is abort.
|
19
|
+
#
|
20
|
+
TEXT_ONLY_TRANSACTIONAL = 'textOnlyTransactional'
|
21
|
+
#
|
22
|
+
# The client tries to undo the operations already executed. But there is no
|
23
|
+
# guarantee that this is succeeding.
|
24
|
+
#
|
25
|
+
UNDO = 'undo'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Constant
|
4
|
+
#
|
5
|
+
# The kind of resource operations supported by the client.
|
6
|
+
#
|
7
|
+
module ResourceOperationKind
|
8
|
+
#
|
9
|
+
# Supports creating new files and folders.
|
10
|
+
#
|
11
|
+
CREATE = 'create'
|
12
|
+
#
|
13
|
+
# Supports renaming existing files and folders.
|
14
|
+
#
|
15
|
+
RENAME = 'rename'
|
16
|
+
#
|
17
|
+
# Supports deleting existing files and folders.
|
18
|
+
#
|
19
|
+
DELETE = 'delete'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -7,11 +7,13 @@ module LanguageServer
|
|
7
7
|
autoload :DiagnosticSeverity, "language_server/protocol/constant/diagnostic_severity"
|
8
8
|
autoload :DocumentHighlightKind, "language_server/protocol/constant/document_highlight_kind"
|
9
9
|
autoload :ErrorCodes, "language_server/protocol/constant/error_codes"
|
10
|
+
autoload :FailureHandlingKind, "language_server/protocol/constant/failure_handling_kind"
|
10
11
|
autoload :FileChangeType, "language_server/protocol/constant/file_change_type"
|
11
12
|
autoload :InitializeError, "language_server/protocol/constant/initialize_error"
|
12
13
|
autoload :InsertTextFormat, "language_server/protocol/constant/insert_text_format"
|
13
14
|
autoload :MarkupKind, "language_server/protocol/constant/markup_kind"
|
14
15
|
autoload :MessageType, "language_server/protocol/constant/message_type"
|
16
|
+
autoload :ResourceOperationKind, "language_server/protocol/constant/resource_operation_kind"
|
15
17
|
autoload :SymbolKind, "language_server/protocol/constant/symbol_kind"
|
16
18
|
autoload :TextDocumentSaveReason, "language_server/protocol/constant/text_document_save_reason"
|
17
19
|
autoload :TextDocumentSyncKind, "language_server/protocol/constant/text_document_sync_kind"
|
@@ -23,11 +25,13 @@ module LanguageServer
|
|
23
25
|
require "language_server/protocol/constant/diagnostic_severity"
|
24
26
|
require "language_server/protocol/constant/document_highlight_kind"
|
25
27
|
require "language_server/protocol/constant/error_codes"
|
28
|
+
require "language_server/protocol/constant/failure_handling_kind"
|
26
29
|
require "language_server/protocol/constant/file_change_type"
|
27
30
|
require "language_server/protocol/constant/initialize_error"
|
28
31
|
require "language_server/protocol/constant/insert_text_format"
|
29
32
|
require "language_server/protocol/constant/markup_kind"
|
30
33
|
require "language_server/protocol/constant/message_type"
|
34
|
+
require "language_server/protocol/constant/resource_operation_kind"
|
31
35
|
require "language_server/protocol/constant/symbol_kind"
|
32
36
|
require "language_server/protocol/constant/text_document_save_reason"
|
33
37
|
require "language_server/protocol/constant/text_document_sync_kind"
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Create file operation
|
6
|
+
#
|
7
|
+
class CreateFile
|
8
|
+
def initialize(kind:, uri:, options: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:kind] = kind
|
12
|
+
@attributes[:uri] = uri
|
13
|
+
@attributes[:options] = options if options
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# A create
|
20
|
+
#
|
21
|
+
# @return ["create"]
|
22
|
+
def kind
|
23
|
+
attributes.fetch(:kind)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# The resource to create.
|
28
|
+
#
|
29
|
+
# @return [string]
|
30
|
+
def uri
|
31
|
+
attributes.fetch(:uri)
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# Additional options
|
36
|
+
#
|
37
|
+
# @return [CreateFileOptions]
|
38
|
+
def options
|
39
|
+
attributes.fetch(:options)
|
40
|
+
end
|
41
|
+
|
42
|
+
attr_reader :attributes
|
43
|
+
|
44
|
+
def to_hash
|
45
|
+
attributes
|
46
|
+
end
|
47
|
+
|
48
|
+
def to_json(*args)
|
49
|
+
to_hash.to_json(*args)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Options to create a file.
|
6
|
+
#
|
7
|
+
class CreateFileOptions
|
8
|
+
def initialize(overwrite: nil, ignore_if_exists: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:overwrite] = overwrite if overwrite
|
12
|
+
@attributes[:ignoreIfExists] = ignore_if_exists if ignore_if_exists
|
13
|
+
|
14
|
+
@attributes.freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# Overwrite existing file. Overwrite wins over `ignoreIfExists`
|
19
|
+
#
|
20
|
+
# @return [boolean]
|
21
|
+
def overwrite
|
22
|
+
attributes.fetch(:overwrite)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# Ignore if exists.
|
27
|
+
#
|
28
|
+
# @return [boolean]
|
29
|
+
def ignore_if_exists
|
30
|
+
attributes.fetch(:ignoreIfExists)
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :attributes
|
34
|
+
|
35
|
+
def to_hash
|
36
|
+
attributes
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_json(*args)
|
40
|
+
to_hash.to_json(*args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Delete file operation
|
6
|
+
#
|
7
|
+
class DeleteFile
|
8
|
+
def initialize(kind:, uri:, options: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:kind] = kind
|
12
|
+
@attributes[:uri] = uri
|
13
|
+
@attributes[:options] = options if options
|
14
|
+
|
15
|
+
@attributes.freeze
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# A delete
|
20
|
+
#
|
21
|
+
# @return ["delete"]
|
22
|
+
def kind
|
23
|
+
attributes.fetch(:kind)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# The file to delete.
|
28
|
+
#
|
29
|
+
# @return [string]
|
30
|
+
def uri
|
31
|
+
attributes.fetch(:uri)
|
32
|
+
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# Delete options.
|
36
|
+
#
|
37
|
+
# @return [DeleteFileOptions]
|
38
|
+
def options
|
39
|
+
attributes.fetch(:options)
|
40
|
+
end
|
41
|
+
|
42
|
+
attr_reader :attributes
|
43
|
+
|
44
|
+
def to_hash
|
45
|
+
attributes
|
46
|
+
end
|
47
|
+
|
48
|
+
def to_json(*args)
|
49
|
+
to_hash.to_json(*args)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Delete file options
|
6
|
+
#
|
7
|
+
class DeleteFileOptions
|
8
|
+
def initialize(recursive: nil, ignore_if_not_exists: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:recursive] = recursive if recursive
|
12
|
+
@attributes[:ignoreIfNotExists] = ignore_if_not_exists if ignore_if_not_exists
|
13
|
+
|
14
|
+
@attributes.freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# Delete the content recursively if a folder is denoted.
|
19
|
+
#
|
20
|
+
# @return [boolean]
|
21
|
+
def recursive
|
22
|
+
attributes.fetch(:recursive)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# Ignore the operation if the file doesn't exist.
|
27
|
+
#
|
28
|
+
# @return [boolean]
|
29
|
+
def ignore_if_not_exists
|
30
|
+
attributes.fetch(:ignoreIfNotExists)
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :attributes
|
34
|
+
|
35
|
+
def to_hash
|
36
|
+
attributes
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_json(*args)
|
40
|
+
to_hash.to_json(*args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -24,7 +24,7 @@ module LanguageServer
|
|
24
24
|
#
|
25
25
|
# The actual content changes. The content changes describe single state changes
|
26
26
|
# to the document. So if there are two content changes c1 and c2 for a document
|
27
|
-
# in state
|
27
|
+
# in state S then c1 move the document to S' and c2 to S''.
|
28
28
|
#
|
29
29
|
# @return [TextDocumentContentChangeEvent[]]
|
30
30
|
def content_changes
|
@@ -31,6 +31,14 @@ module LanguageServer
|
|
31
31
|
#
|
32
32
|
# A glob pattern, like `*.{ts,js}`.
|
33
33
|
#
|
34
|
+
# Glob patterns can have the following syntax:
|
35
|
+
# - `*` to match one or more characters in a path segment
|
36
|
+
# - `?` to match on one character in a path segment
|
37
|
+
# - `**` to match any number of path segments, including none
|
38
|
+
# - `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
|
39
|
+
# - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
40
|
+
# - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
|
41
|
+
#
|
34
42
|
# @return [string]
|
35
43
|
def pattern
|
36
44
|
attributes.fetch(:pattern)
|
@@ -12,7 +12,15 @@ module LanguageServer
|
|
12
12
|
end
|
13
13
|
|
14
14
|
#
|
15
|
-
# The glob pattern to watch
|
15
|
+
# The glob pattern to watch.
|
16
|
+
#
|
17
|
+
# Glob patterns can have the following syntax:
|
18
|
+
# - `*` to match one or more characters in a path segment
|
19
|
+
# - `?` to match on one character in a path segment
|
20
|
+
# - `**` to match any number of path segments, including none
|
21
|
+
# - `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
|
22
|
+
# - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
|
23
|
+
# - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
|
16
24
|
#
|
17
25
|
# @return [string]
|
18
26
|
def glob_pattern
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
class LocationLink
|
5
|
+
def initialize(origin_selection_range: nil, target_uri:, target_range:, target_selection_range: nil)
|
6
|
+
@attributes = {}
|
7
|
+
|
8
|
+
@attributes[:originSelectionRange] = origin_selection_range if origin_selection_range
|
9
|
+
@attributes[:targetUri] = target_uri
|
10
|
+
@attributes[:targetRange] = target_range
|
11
|
+
@attributes[:targetSelectionRange] = target_selection_range if target_selection_range
|
12
|
+
|
13
|
+
@attributes.freeze
|
14
|
+
end
|
15
|
+
|
16
|
+
#
|
17
|
+
# Span of the origin of this link.
|
18
|
+
#
|
19
|
+
# Used as the underlined span for mouse interaction. Defaults to the word range at
|
20
|
+
# the mouse position.
|
21
|
+
#
|
22
|
+
# @return [Range]
|
23
|
+
def origin_selection_range
|
24
|
+
attributes.fetch(:originSelectionRange)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# The target resource identifier of this link.
|
29
|
+
#
|
30
|
+
# @return [string]
|
31
|
+
def target_uri
|
32
|
+
attributes.fetch(:targetUri)
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# The full target range of this link.
|
37
|
+
#
|
38
|
+
# @return [Range]
|
39
|
+
def target_range
|
40
|
+
attributes.fetch(:targetRange)
|
41
|
+
end
|
42
|
+
|
43
|
+
#
|
44
|
+
# The span of this link.
|
45
|
+
#
|
46
|
+
# @return [Range]
|
47
|
+
def target_selection_range
|
48
|
+
attributes.fetch(:targetSelectionRange)
|
49
|
+
end
|
50
|
+
|
51
|
+
attr_reader :attributes
|
52
|
+
|
53
|
+
def to_hash
|
54
|
+
attributes
|
55
|
+
end
|
56
|
+
|
57
|
+
def to_json(*args)
|
58
|
+
to_hash.to_json(*args)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -9,7 +9,7 @@ module LanguageServer
|
|
9
9
|
# See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
|
10
10
|
#
|
11
11
|
# Here is an example how such a string can be constructed using JavaScript / TypeScript:
|
12
|
-
# ```
|
12
|
+
# ```typescript
|
13
13
|
# let markdown: MarkdownContent = {
|
14
14
|
# kind: MarkupKind.Markdown,
|
15
15
|
# value: [
|
@@ -16,10 +16,16 @@ module LanguageServer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
#
|
19
|
-
# The label of this parameter.
|
20
|
-
# the UI.
|
19
|
+
# The label of this parameter information.
|
21
20
|
#
|
22
|
-
#
|
21
|
+
# Either a string or an inclusive start and exclusive end offsets within its containing
|
22
|
+
# signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
|
23
|
+
# string representation as `Position` and `Range` does.
|
24
|
+
#
|
25
|
+
# *Note*: a label of type string should be a substring of its containing signature label.
|
26
|
+
# Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
|
27
|
+
#
|
28
|
+
# @return [string | [number, number]]
|
23
29
|
def label
|
24
30
|
attributes.fetch(:label)
|
25
31
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Rename file operation
|
6
|
+
#
|
7
|
+
class RenameFile
|
8
|
+
def initialize(kind:, old_uri:, new_uri:, options: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:kind] = kind
|
12
|
+
@attributes[:oldUri] = old_uri
|
13
|
+
@attributes[:newUri] = new_uri
|
14
|
+
@attributes[:options] = options if options
|
15
|
+
|
16
|
+
@attributes.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# A rename
|
21
|
+
#
|
22
|
+
# @return ["rename"]
|
23
|
+
def kind
|
24
|
+
attributes.fetch(:kind)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# The old (existing) location.
|
29
|
+
#
|
30
|
+
# @return [string]
|
31
|
+
def old_uri
|
32
|
+
attributes.fetch(:oldUri)
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
# The new location.
|
37
|
+
#
|
38
|
+
# @return [string]
|
39
|
+
def new_uri
|
40
|
+
attributes.fetch(:newUri)
|
41
|
+
end
|
42
|
+
|
43
|
+
#
|
44
|
+
# Rename options.
|
45
|
+
#
|
46
|
+
# @return [RenameFileOptions]
|
47
|
+
def options
|
48
|
+
attributes.fetch(:options)
|
49
|
+
end
|
50
|
+
|
51
|
+
attr_reader :attributes
|
52
|
+
|
53
|
+
def to_hash
|
54
|
+
attributes
|
55
|
+
end
|
56
|
+
|
57
|
+
def to_json(*args)
|
58
|
+
to_hash.to_json(*args)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module LanguageServer
|
2
|
+
module Protocol
|
3
|
+
module Interface
|
4
|
+
#
|
5
|
+
# Rename file options
|
6
|
+
#
|
7
|
+
class RenameFileOptions
|
8
|
+
def initialize(overwrite: nil, ignore_if_exists: nil)
|
9
|
+
@attributes = {}
|
10
|
+
|
11
|
+
@attributes[:overwrite] = overwrite if overwrite
|
12
|
+
@attributes[:ignoreIfExists] = ignore_if_exists if ignore_if_exists
|
13
|
+
|
14
|
+
@attributes.freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
#
|
18
|
+
# Overwrite target if existing. Overwrite wins over `ignoreIfExists`
|
19
|
+
#
|
20
|
+
# @return [boolean]
|
21
|
+
def overwrite
|
22
|
+
attributes.fetch(:overwrite)
|
23
|
+
end
|
24
|
+
|
25
|
+
#
|
26
|
+
# Ignores if target exists.
|
27
|
+
#
|
28
|
+
# @return [boolean]
|
29
|
+
def ignore_if_exists
|
30
|
+
attributes.fetch(:ignoreIfExists)
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :attributes
|
34
|
+
|
35
|
+
def to_hash
|
36
|
+
attributes
|
37
|
+
end
|
38
|
+
|
39
|
+
def to_json(*args)
|
40
|
+
to_hash.to_json(*args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -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, folding_range: 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, declaration: 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
|
@@ -18,6 +18,7 @@ module LanguageServer
|
|
18
18
|
@attributes[:formatting] = formatting if formatting
|
19
19
|
@attributes[:rangeFormatting] = range_formatting if range_formatting
|
20
20
|
@attributes[:onTypeFormatting] = on_type_formatting if on_type_formatting
|
21
|
+
@attributes[:declaration] = declaration if declaration
|
21
22
|
@attributes[:definition] = definition if definition
|
22
23
|
@attributes[:typeDefinition] = type_definition if type_definition
|
23
24
|
@attributes[:implementation] = implementation if implementation
|
@@ -56,7 +57,7 @@ module LanguageServer
|
|
56
57
|
#
|
57
58
|
# Capabilities specific to the `textDocument/signatureHelp`
|
58
59
|
#
|
59
|
-
# @return [{ dynamicRegistration?: boolean; signatureInformation?: { documentationFormat?: MarkupKind[];
|
60
|
+
# @return [{ dynamicRegistration?: boolean; signatureInformation?: { documentationFormat?: MarkupKind[]; par...]
|
60
61
|
def signature_help
|
61
62
|
attributes.fetch(:signatureHelp)
|
62
63
|
end
|
@@ -110,9 +111,19 @@ module LanguageServer
|
|
110
111
|
end
|
111
112
|
|
112
113
|
#
|
113
|
-
# Capabilities specific to the `textDocument/
|
114
|
+
# Capabilities specific to the `textDocument/declaration`
|
114
115
|
#
|
115
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
116
|
+
# @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
|
117
|
+
def declaration
|
118
|
+
attributes.fetch(:declaration)
|
119
|
+
end
|
120
|
+
|
121
|
+
#
|
122
|
+
# Capabilities specific to the `textDocument/definition`.
|
123
|
+
#
|
124
|
+
# Since 3.14.0
|
125
|
+
#
|
126
|
+
# @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
|
116
127
|
def definition
|
117
128
|
attributes.fetch(:definition)
|
118
129
|
end
|
@@ -122,7 +133,7 @@ module LanguageServer
|
|
122
133
|
#
|
123
134
|
# Since 3.6.0
|
124
135
|
#
|
125
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
136
|
+
# @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
|
126
137
|
def type_definition
|
127
138
|
attributes.fetch(:typeDefinition)
|
128
139
|
end
|
@@ -132,7 +143,7 @@ module LanguageServer
|
|
132
143
|
#
|
133
144
|
# Since 3.6.0
|
134
145
|
#
|
135
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
146
|
+
# @return [{ dynamicRegistration?: boolean; linkSupport?: boolean; }]
|
136
147
|
def implementation
|
137
148
|
attributes.fetch(:implementation)
|
138
149
|
end
|
@@ -15,7 +15,10 @@ module LanguageServer
|
|
15
15
|
# is sent from the server to the client and the file is not open in the editor
|
16
16
|
# (the server has not received an open notification before) the server can send
|
17
17
|
# `null` to indicate that the version is known and the content on disk is the
|
18
|
-
# truth (as speced with document content ownership)
|
18
|
+
# truth (as speced with document content ownership).
|
19
|
+
#
|
20
|
+
# The version number of a document will increase after each change, including
|
21
|
+
# undo/redo. The number doesn't need to be consecutive.
|
19
22
|
#
|
20
23
|
# @return [number]
|
21
24
|
def version
|
@@ -32,7 +32,7 @@ module LanguageServer
|
|
32
32
|
#
|
33
33
|
# Capabilities specific to `WorkspaceEdit`s
|
34
34
|
#
|
35
|
-
# @return [{ documentChanges?: boolean;
|
35
|
+
# @return [{ documentChanges?: boolean; resourceOperations?: ResourceOperationKind[]; failureHandling?: Fail...]
|
36
36
|
def workspace_edit
|
37
37
|
attributes.fetch(:workspaceEdit)
|
38
38
|
end
|
@@ -20,12 +20,18 @@ module LanguageServer
|
|
20
20
|
end
|
21
21
|
|
22
22
|
#
|
23
|
-
#
|
24
|
-
#
|
23
|
+
# Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
|
24
|
+
# are either an array of `TextDocumentEdit`s to express changes to n different text documents
|
25
|
+
# where each text document edit addresses a specific version of a text document. Or it can contain
|
26
|
+
# above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
|
27
|
+
#
|
25
28
|
# Whether a client supports versioned document edits is expressed via
|
26
|
-
# `
|
29
|
+
# `workspace.workspaceEdit.documentChanges` client capability.
|
30
|
+
#
|
31
|
+
# If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
|
32
|
+
# only plain `TextEdit`s using the `changes` property are supported.
|
27
33
|
#
|
28
|
-
# @return [TextDocumentEdit[]]
|
34
|
+
# @return [TextDocumentEdit[] | (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[]]
|
29
35
|
def document_changes
|
30
36
|
attributes.fetch(:documentChanges)
|
31
37
|
end
|
@@ -28,6 +28,10 @@ module LanguageServer
|
|
28
28
|
autoload :CompletionRegistrationOptions, "language_server/protocol/interface/completion_registration_options"
|
29
29
|
autoload :ConfigurationItem, "language_server/protocol/interface/configuration_item"
|
30
30
|
autoload :ConfigurationParams, "language_server/protocol/interface/configuration_params"
|
31
|
+
autoload :CreateFile, "language_server/protocol/interface/create_file"
|
32
|
+
autoload :CreateFileOptions, "language_server/protocol/interface/create_file_options"
|
33
|
+
autoload :DeleteFile, "language_server/protocol/interface/delete_file"
|
34
|
+
autoload :DeleteFileOptions, "language_server/protocol/interface/delete_file_options"
|
31
35
|
autoload :Diagnostic, "language_server/protocol/interface/diagnostic"
|
32
36
|
autoload :DiagnosticRelatedInformation, "language_server/protocol/interface/diagnostic_related_information"
|
33
37
|
autoload :DidChangeConfigurationParams, "language_server/protocol/interface/did_change_configuration_params"
|
@@ -56,8 +60,8 @@ module LanguageServer
|
|
56
60
|
autoload :FileEvent, "language_server/protocol/interface/file_event"
|
57
61
|
autoload :FileSystemWatcher, "language_server/protocol/interface/file_system_watcher"
|
58
62
|
autoload :FoldingRange, "language_server/protocol/interface/folding_range"
|
63
|
+
autoload :FoldingRangeParams, "language_server/protocol/interface/folding_range_params"
|
59
64
|
autoload :FoldingRangeProviderOptions, "language_server/protocol/interface/folding_range_provider_options"
|
60
|
-
autoload :FoldingRangeRequestParam, "language_server/protocol/interface/folding_range_request_param"
|
61
65
|
autoload :FormattingOptions, "language_server/protocol/interface/formatting_options"
|
62
66
|
autoload :Hover, "language_server/protocol/interface/hover"
|
63
67
|
autoload :InitializeError, "language_server/protocol/interface/initialize_error"
|
@@ -65,6 +69,7 @@ module LanguageServer
|
|
65
69
|
autoload :InitializeResult, "language_server/protocol/interface/initialize_result"
|
66
70
|
autoload :InitializedParams, "language_server/protocol/interface/initialized_params"
|
67
71
|
autoload :Location, "language_server/protocol/interface/location"
|
72
|
+
autoload :LocationLink, "language_server/protocol/interface/location_link"
|
68
73
|
autoload :LogMessageParams, "language_server/protocol/interface/log_message_params"
|
69
74
|
autoload :MarkupContent, "language_server/protocol/interface/markup_content"
|
70
75
|
autoload :Message, "language_server/protocol/interface/message"
|
@@ -78,6 +83,8 @@ module LanguageServer
|
|
78
83
|
autoload :ReferenceParams, "language_server/protocol/interface/reference_params"
|
79
84
|
autoload :Registration, "language_server/protocol/interface/registration"
|
80
85
|
autoload :RegistrationParams, "language_server/protocol/interface/registration_params"
|
86
|
+
autoload :RenameFile, "language_server/protocol/interface/rename_file"
|
87
|
+
autoload :RenameFileOptions, "language_server/protocol/interface/rename_file_options"
|
81
88
|
autoload :RenameOptions, "language_server/protocol/interface/rename_options"
|
82
89
|
autoload :RenameParams, "language_server/protocol/interface/rename_params"
|
83
90
|
autoload :RenameRegistrationOptions, "language_server/protocol/interface/rename_registration_options"
|
@@ -142,6 +149,10 @@ module LanguageServer
|
|
142
149
|
require "language_server/protocol/interface/completion_registration_options"
|
143
150
|
require "language_server/protocol/interface/configuration_item"
|
144
151
|
require "language_server/protocol/interface/configuration_params"
|
152
|
+
require "language_server/protocol/interface/create_file"
|
153
|
+
require "language_server/protocol/interface/create_file_options"
|
154
|
+
require "language_server/protocol/interface/delete_file"
|
155
|
+
require "language_server/protocol/interface/delete_file_options"
|
145
156
|
require "language_server/protocol/interface/diagnostic"
|
146
157
|
require "language_server/protocol/interface/diagnostic_related_information"
|
147
158
|
require "language_server/protocol/interface/did_change_configuration_params"
|
@@ -170,8 +181,8 @@ module LanguageServer
|
|
170
181
|
require "language_server/protocol/interface/file_event"
|
171
182
|
require "language_server/protocol/interface/file_system_watcher"
|
172
183
|
require "language_server/protocol/interface/folding_range"
|
184
|
+
require "language_server/protocol/interface/folding_range_params"
|
173
185
|
require "language_server/protocol/interface/folding_range_provider_options"
|
174
|
-
require "language_server/protocol/interface/folding_range_request_param"
|
175
186
|
require "language_server/protocol/interface/formatting_options"
|
176
187
|
require "language_server/protocol/interface/hover"
|
177
188
|
require "language_server/protocol/interface/initialize_error"
|
@@ -179,6 +190,7 @@ module LanguageServer
|
|
179
190
|
require "language_server/protocol/interface/initialize_result"
|
180
191
|
require "language_server/protocol/interface/initialized_params"
|
181
192
|
require "language_server/protocol/interface/location"
|
193
|
+
require "language_server/protocol/interface/location_link"
|
182
194
|
require "language_server/protocol/interface/log_message_params"
|
183
195
|
require "language_server/protocol/interface/markup_content"
|
184
196
|
require "language_server/protocol/interface/message"
|
@@ -192,6 +204,8 @@ module LanguageServer
|
|
192
204
|
require "language_server/protocol/interface/reference_params"
|
193
205
|
require "language_server/protocol/interface/registration"
|
194
206
|
require "language_server/protocol/interface/registration_params"
|
207
|
+
require "language_server/protocol/interface/rename_file"
|
208
|
+
require "language_server/protocol/interface/rename_file_options"
|
195
209
|
require "language_server/protocol/interface/rename_options"
|
196
210
|
require "language_server/protocol/interface/rename_params"
|
197
211
|
require "language_server/protocol/interface/rename_registration_options"
|
data/scripts/generateFiles.ts
CHANGED
@@ -3,7 +3,7 @@ import * as fs from "fs";
|
|
3
3
|
import * as path from "path";
|
4
4
|
import * as fetch from "isomorphic-fetch";
|
5
5
|
|
6
|
-
const lspVersion = "
|
6
|
+
const lspVersion = "c0c516735fb9eea08ac0151333b5380d70525961";
|
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");
|
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.
|
4
|
+
version: 3.14.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:
|
11
|
+
date: 2019-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -143,11 +143,13 @@ files:
|
|
143
143
|
- lib/language_server/protocol/constant/diagnostic_severity.rb
|
144
144
|
- lib/language_server/protocol/constant/document_highlight_kind.rb
|
145
145
|
- lib/language_server/protocol/constant/error_codes.rb
|
146
|
+
- lib/language_server/protocol/constant/failure_handling_kind.rb
|
146
147
|
- lib/language_server/protocol/constant/file_change_type.rb
|
147
148
|
- lib/language_server/protocol/constant/initialize_error.rb
|
148
149
|
- lib/language_server/protocol/constant/insert_text_format.rb
|
149
150
|
- lib/language_server/protocol/constant/markup_kind.rb
|
150
151
|
- lib/language_server/protocol/constant/message_type.rb
|
152
|
+
- lib/language_server/protocol/constant/resource_operation_kind.rb
|
151
153
|
- lib/language_server/protocol/constant/symbol_kind.rb
|
152
154
|
- lib/language_server/protocol/constant/text_document_save_reason.rb
|
153
155
|
- lib/language_server/protocol/constant/text_document_sync_kind.rb
|
@@ -180,6 +182,10 @@ files:
|
|
180
182
|
- lib/language_server/protocol/interface/completion_registration_options.rb
|
181
183
|
- lib/language_server/protocol/interface/configuration_item.rb
|
182
184
|
- lib/language_server/protocol/interface/configuration_params.rb
|
185
|
+
- lib/language_server/protocol/interface/create_file.rb
|
186
|
+
- lib/language_server/protocol/interface/create_file_options.rb
|
187
|
+
- lib/language_server/protocol/interface/delete_file.rb
|
188
|
+
- lib/language_server/protocol/interface/delete_file_options.rb
|
183
189
|
- lib/language_server/protocol/interface/diagnostic.rb
|
184
190
|
- lib/language_server/protocol/interface/diagnostic_related_information.rb
|
185
191
|
- lib/language_server/protocol/interface/did_change_configuration_params.rb
|
@@ -208,8 +214,8 @@ files:
|
|
208
214
|
- lib/language_server/protocol/interface/file_event.rb
|
209
215
|
- lib/language_server/protocol/interface/file_system_watcher.rb
|
210
216
|
- lib/language_server/protocol/interface/folding_range.rb
|
217
|
+
- lib/language_server/protocol/interface/folding_range_params.rb
|
211
218
|
- lib/language_server/protocol/interface/folding_range_provider_options.rb
|
212
|
-
- lib/language_server/protocol/interface/folding_range_request_param.rb
|
213
219
|
- lib/language_server/protocol/interface/formatting_options.rb
|
214
220
|
- lib/language_server/protocol/interface/hover.rb
|
215
221
|
- lib/language_server/protocol/interface/initialize_error.rb
|
@@ -217,6 +223,7 @@ files:
|
|
217
223
|
- lib/language_server/protocol/interface/initialize_result.rb
|
218
224
|
- lib/language_server/protocol/interface/initialized_params.rb
|
219
225
|
- lib/language_server/protocol/interface/location.rb
|
226
|
+
- lib/language_server/protocol/interface/location_link.rb
|
220
227
|
- lib/language_server/protocol/interface/log_message_params.rb
|
221
228
|
- lib/language_server/protocol/interface/markup_content.rb
|
222
229
|
- lib/language_server/protocol/interface/message.rb
|
@@ -230,6 +237,8 @@ files:
|
|
230
237
|
- lib/language_server/protocol/interface/reference_params.rb
|
231
238
|
- lib/language_server/protocol/interface/registration.rb
|
232
239
|
- lib/language_server/protocol/interface/registration_params.rb
|
240
|
+
- lib/language_server/protocol/interface/rename_file.rb
|
241
|
+
- lib/language_server/protocol/interface/rename_file_options.rb
|
233
242
|
- lib/language_server/protocol/interface/rename_options.rb
|
234
243
|
- lib/language_server/protocol/interface/rename_params.rb
|
235
244
|
- lib/language_server/protocol/interface/rename_registration_options.rb
|
@@ -261,7 +270,6 @@ files:
|
|
261
270
|
- lib/language_server/protocol/interface/unregistration_params.rb
|
262
271
|
- lib/language_server/protocol/interface/versioned_text_document_identifier.rb
|
263
272
|
- lib/language_server/protocol/interface/will_save_text_document_params.rb
|
264
|
-
- lib/language_server/protocol/interface/workspace_client_capabilites.rb
|
265
273
|
- lib/language_server/protocol/interface/workspace_client_capabilities.rb
|
266
274
|
- lib/language_server/protocol/interface/workspace_edit.rb
|
267
275
|
- lib/language_server/protocol/interface/workspace_folder.rb
|
@@ -294,8 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
294
302
|
- !ruby/object:Gem::Version
|
295
303
|
version: '0'
|
296
304
|
requirements: []
|
297
|
-
|
298
|
-
rubygems_version: 2.7.7
|
305
|
+
rubygems_version: 3.0.1
|
299
306
|
signing_key:
|
300
307
|
specification_version: 4
|
301
308
|
summary: A Language Server Protocol SDK
|
@@ -1,82 +0,0 @@
|
|
1
|
-
module LanguageServer
|
2
|
-
module Protocol
|
3
|
-
module Interface
|
4
|
-
#
|
5
|
-
# Workspace specific client capabilities.
|
6
|
-
#
|
7
|
-
class WorkspaceClientCapabilites
|
8
|
-
def initialize(apply_edit: nil, workspace_edit: nil, did_change_configuration: nil, did_change_watched_files: nil, symbol: nil, execute_command: nil)
|
9
|
-
@attributes = {}
|
10
|
-
|
11
|
-
@attributes[:applyEdit] = apply_edit if apply_edit
|
12
|
-
@attributes[:workspaceEdit] = workspace_edit if workspace_edit
|
13
|
-
@attributes[:didChangeConfiguration] = did_change_configuration if did_change_configuration
|
14
|
-
@attributes[:didChangeWatchedFiles] = did_change_watched_files if did_change_watched_files
|
15
|
-
@attributes[:symbol] = symbol if symbol
|
16
|
-
@attributes[:executeCommand] = execute_command if execute_command
|
17
|
-
|
18
|
-
@attributes.freeze
|
19
|
-
end
|
20
|
-
|
21
|
-
#
|
22
|
-
# The client supports applying batch edits to the workspace by supporting
|
23
|
-
# the request 'workspace/applyEdit'
|
24
|
-
#
|
25
|
-
# @return [boolean]
|
26
|
-
def apply_edit
|
27
|
-
attributes.fetch(:applyEdit)
|
28
|
-
end
|
29
|
-
|
30
|
-
#
|
31
|
-
# Capabilities specific to `WorkspaceEdit`s
|
32
|
-
#
|
33
|
-
# @return [{ documentChanges?: boolean; }]
|
34
|
-
def workspace_edit
|
35
|
-
attributes.fetch(:workspaceEdit)
|
36
|
-
end
|
37
|
-
|
38
|
-
#
|
39
|
-
# Capabilities specific to the `workspace/didChangeConfiguration` notification.
|
40
|
-
#
|
41
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
42
|
-
def did_change_configuration
|
43
|
-
attributes.fetch(:didChangeConfiguration)
|
44
|
-
end
|
45
|
-
|
46
|
-
#
|
47
|
-
# Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
|
48
|
-
#
|
49
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
50
|
-
def did_change_watched_files
|
51
|
-
attributes.fetch(:didChangeWatchedFiles)
|
52
|
-
end
|
53
|
-
|
54
|
-
#
|
55
|
-
# Capabilities specific to the `workspace/symbol` request.
|
56
|
-
#
|
57
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
58
|
-
def symbol
|
59
|
-
attributes.fetch(:symbol)
|
60
|
-
end
|
61
|
-
|
62
|
-
#
|
63
|
-
# Capabilities specific to the `workspace/executeCommand` request.
|
64
|
-
#
|
65
|
-
# @return [{ dynamicRegistration?: boolean; }]
|
66
|
-
def execute_command
|
67
|
-
attributes.fetch(:executeCommand)
|
68
|
-
end
|
69
|
-
|
70
|
-
attr_reader :attributes
|
71
|
-
|
72
|
-
def to_hash
|
73
|
-
attributes
|
74
|
-
end
|
75
|
-
|
76
|
-
def to_json(*args)
|
77
|
-
to_hash.to_json(*args)
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|