language_server-protocol 3.12.0.0 → 3.14.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|