diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 9d40177..23db314 100755
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,12 +1,12 @@
lockVersion: 2.0.0
id: aa9449e7-c19d-411d-b8e2-f9c5fe982f6f
management:
- docChecksum: d79f1dea291e60a9e3b3fc2de2e0da83
+ docChecksum: 48621865085324b8b8eda5901f092a37
docVersion: 0.0.3
speakeasyVersion: 1.531.4
generationVersion: 2.570.4
- releaseVersion: 0.12.1
- configChecksum: 20fc5fc2fa807de5bbff3e0f1c3de8d6
+ releaseVersion: 0.13.1
+ configChecksum: 8d75dfb29843dc1913a718cd85b8f04b
repoURL: https://github.com/LukeHagar/plexruby.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexruby
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index d37e3e8..f33a520 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -16,7 +16,7 @@ generation:
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
ruby:
- version: 0.12.1
+ version: 0.13.1
additionalDependencies:
development: {}
runtime: {}
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index db50e03..372c381 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -9,19 +9,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
- sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
+ sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
+ sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
tags:
- latest
- - speakeasy-sdk-regen-1746144545
+ - speakeasy-sdk-regen-1746490160
targets:
plexruby:
source: plexapi
sourceNamespace: plexapi
- sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
- sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
+ sourceRevisionDigest: sha256:37adc934a79841fb00cfe6ed569f5b1c88534b20202ecbde64b4e84828cee22a
+ sourceBlobDigest: sha256:ffb5b8d288111a763e4d035c8c9e37f5c89690d146b7297493b43a71d8298e6c
codeSamplesNamespace: code-samples-ruby-plexruby
- codeSamplesRevisionDigest: sha256:19decd0842d9054e6319e190ba63514ca8ee2e51e23ff636c936b890024e7870
+ codeSamplesRevisionDigest: sha256:dd78738e06592ab1ee075ec410c9abdd14fd18a7d7d6e58e34b3a55f6941700e
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/Gemfile.lock b/Gemfile.lock
index c0bfdbf..3a3870a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- plex_ruby_sdk (0.12.1)
+ plex_ruby_sdk (0.13.1)
faraday
faraday-multipart
faraday-retry (~> 2.2.1)
diff --git a/RELEASES.md b/RELEASES.md
index 46ffc8a..b044b4c 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -806,4 +806,14 @@ Based on:
### Generated
- [ruby v0.12.1] .
### Releases
-- [Ruby Gems v0.12.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.12.1 - .
\ No newline at end of file
+- [Ruby Gems v0.12.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.12.1 - .
+
+## 2025-05-06 00:09:04
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.531.4 (2.570.4) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [ruby v0.13.1] .
+### Releases
+- [Ruby Gems v0.13.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.13.1 - .
\ No newline at end of file
diff --git a/docs/models/operations/getalllibrariesdirectory.md b/docs/models/operations/getalllibrariesdirectory.md
index 5ddf1d6..b707488 100644
--- a/docs/models/operations/getalllibrariesdirectory.md
+++ b/docs/models/operations/getalllibrariesdirectory.md
@@ -24,5 +24,5 @@
| `content` | *T::Boolean* | :heavy_check_mark: | UNKNOWN | true |
| `directory` | *T::Boolean* | :heavy_check_mark: | UNKNOWN | true |
| `content_changed_at` | *::Integer* | :heavy_check_mark: | Timestamp (in seconds) representing the last time the content was modified.
NOTE: Some Plex server have some absurd values for this field, like 8457612157633039800 so it should be int64
| 9173960 |
-| `hidden` | [Models::Operations::Hidden](../../models/operations/hidden.md) | :heavy_check_mark: | N/A | 1 |
+| `hidden` | [Models::Operations::Hidden](../../models/operations/hidden.md) | :heavy_check_mark: | The Plex library visibility setting | 1 |
| `location` | T::Array<[Models::Operations::GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md)> | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/models/operations/hidden.md b/docs/models/operations/hidden.md
index 8a79b1d..bcf6baf 100644
--- a/docs/models/operations/hidden.md
+++ b/docs/models/operations/hidden.md
@@ -1,11 +1,12 @@
# Hidden
-UNKNOWN
+The Plex library visibility setting
## Values
-| Name | Value |
-| --------- | --------- |
-| `DISABLE` | 0 |
-| `ENABLE` | 1 |
\ No newline at end of file
+| Name | Value |
+| --------------------------------------- | --------------------------------------- |
+| `VISIBLE` | 0 |
+| `EXCLUDE_HOME_SCREEN` | 1 |
+| `EXCLUDE_HOME_SCREEN_AND_GLOBAL_SEARCH` | 2 |
\ No newline at end of file
diff --git a/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb b/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb
index bf19c11..8989afe 100644
--- a/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb
+++ b/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb
@@ -31,7 +31,7 @@ module PlexRubySDK
field :directory, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('directory') } }
# UNKNOWN
field :filters, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filters') } }
-
+ # The Plex library visibility setting
field :hidden, Models::Operations::Hidden, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hidden'), 'decoder': Utils.enum_from_string(Models::Operations::Hidden, false) } }
# The library key representing the unique identifier
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
diff --git a/lib/plex_ruby_sdk/models/operations/hidden.rb b/lib/plex_ruby_sdk/models/operations/hidden.rb
index be902b2..4645ca1 100644
--- a/lib/plex_ruby_sdk/models/operations/hidden.rb
+++ b/lib/plex_ruby_sdk/models/operations/hidden.rb
@@ -8,11 +8,12 @@ module PlexRubySDK
module Models
module Operations
- # Hidden - UNKNOWN
+ # Hidden - The Plex library visibility setting
class Hidden < T::Enum
enums do
- DISABLE = new(0)
- ENABLE = new(1)
+ VISIBLE = new(0)
+ EXCLUDE_HOME_SCREEN = new(1)
+ EXCLUDE_HOME_SCREEN_AND_GLOBAL_SEARCH = new(2)
end
end
end
diff --git a/lib/plex_ruby_sdk/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb
index 1896b64..6a1b198 100644
--- a/lib/plex_ruby_sdk/sdkconfiguration.rb
+++ b/lib/plex_ruby_sdk/sdkconfiguration.rb
@@ -66,9 +66,9 @@ module PlexRubySDK
end
@language = 'ruby'
@openapi_doc_version = '0.0.3'
- @sdk_version = '0.12.1'
+ @sdk_version = '0.13.1'
@gen_version = '2.570.4'
- @user_agent = 'speakeasy-sdk/ruby 0.12.1 2.570.4 0.0.3 plex_ruby_sdk'
+ @user_agent = 'speakeasy-sdk/ruby 0.13.1 2.570.4 0.0.3 plex_ruby_sdk'
end
sig { returns([String, T::Hash[Symbol, String]]) }
diff --git a/plex_ruby_sdk.gemspec b/plex_ruby_sdk.gemspec
index f6484d5..f310a6b 100644
--- a/plex_ruby_sdk.gemspec
+++ b/plex_ruby_sdk.gemspec
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__)
Gem::Specification.new do |s|
s.name = 'plex_ruby_sdk'
- s.version = '0.12.1'
+ s.version = '0.13.1'
s.platform = Gem::Platform::RUBY
s.licenses = ['Apache-2.0']
s.summary = ''
diff --git a/sorbet/rbi/gems/json@2.8.2.rbi b/sorbet/rbi/gems/json@2.8.2.rbi
new file mode 100644
index 0000000..259116a
--- /dev/null
+++ b/sorbet/rbi/gems/json@2.8.2.rbi
@@ -0,0 +1,1533 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `json` gem.
+# Please instead update this file by running `bin/tapioca gem json`.
+
+# Extends any Class to include _json_creatable?_ method.
+class Class < ::Module
+ # Returns true if this class can be used to create an instance
+ # from a serialised JSON string. The class has to implement a class
+ # method _json_create_ that expects a hash as first parameter. The hash
+ # should include the required data.
+ #
+ # @return [Boolean]
+ #
+ # source://json//json/common.rb#700
+ def json_creatable?; end
+end
+
+# = JavaScript \Object Notation (\JSON)
+#
+# \JSON is a lightweight data-interchange format.
+#
+# A \JSON value is one of the following:
+# - Double-quoted text: "foo".
+# - Number: +1+, +1.0+, +2.0e2+.
+# - Boolean: +true+, +false+.
+# - Null: +null+.
+# - \Array: an ordered list of values, enclosed by square brackets:
+# ["foo", 1, 1.0, 2.0e2, true, false, null]
+#
+# - \Object: a collection of name/value pairs, enclosed by curly braces;
+# each name is double-quoted text;
+# the values may be any \JSON values:
+# {"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}
+#
+# A \JSON array or object may contain nested arrays, objects, and scalars
+# to any depth:
+# {"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}
+# [{"foo": 0, "bar": 1}, ["baz", 2]]
+#
+# == Using \Module \JSON
+#
+# To make module \JSON available in your code, begin with:
+# require 'json'
+#
+# All examples here assume that this has been done.
+#
+# === Parsing \JSON
+#
+# You can parse a \String containing \JSON data using
+# either of two methods:
+# - JSON.parse(source, opts)
+# - JSON.parse!(source, opts)
+#
+# where
+# - +source+ is a Ruby object.
+# - +opts+ is a \Hash object containing options
+# that control both input allowed and output formatting.
+#
+# The difference between the two methods
+# is that JSON.parse! omits some checks
+# and may not be safe for some +source+ data;
+# use it only for data from trusted sources.
+# Use the safer method JSON.parse for less trusted sources.
+#
+# ==== Parsing \JSON Arrays
+#
+# When +source+ is a \JSON array, JSON.parse by default returns a Ruby \Array:
+# json = '["foo", 1, 1.0, 2.0e2, true, false, null]'
+# ruby = JSON.parse(json)
+# ruby # => ["foo", 1, 1.0, 200.0, true, false, nil]
+# ruby.class # => Array
+#
+# The \JSON array may contain nested arrays, objects, and scalars
+# to any depth:
+# json = '[{"foo": 0, "bar": 1}, ["baz", 2]]'
+# JSON.parse(json) # => [{"foo"=>0, "bar"=>1}, ["baz", 2]]
+#
+# ==== Parsing \JSON \Objects
+#
+# When the source is a \JSON object, JSON.parse by default returns a Ruby \Hash:
+# json = '{"a": "foo", "b": 1, "c": 1.0, "d": 2.0e2, "e": true, "f": false, "g": null}'
+# ruby = JSON.parse(json)
+# ruby # => {"a"=>"foo", "b"=>1, "c"=>1.0, "d"=>200.0, "e"=>true, "f"=>false, "g"=>nil}
+# ruby.class # => Hash
+#
+# The \JSON object may contain nested arrays, objects, and scalars
+# to any depth:
+# json = '{"foo": {"bar": 1, "baz": 2}, "bat": [0, 1, 2]}'
+# JSON.parse(json) # => {"foo"=>{"bar"=>1, "baz"=>2}, "bat"=>[0, 1, 2]}
+#
+# ==== Parsing \JSON Scalars
+#
+# When the source is a \JSON scalar (not an array or object),
+# JSON.parse returns a Ruby scalar.
+#
+# \String:
+# ruby = JSON.parse('"foo"')
+# ruby # => 'foo'
+# ruby.class # => String
+# \Integer:
+# ruby = JSON.parse('1')
+# ruby # => 1
+# ruby.class # => Integer
+# \Float:
+# ruby = JSON.parse('1.0')
+# ruby # => 1.0
+# ruby.class # => Float
+# ruby = JSON.parse('2.0e2')
+# ruby # => 200
+# ruby.class # => Float
+# Boolean:
+# ruby = JSON.parse('true')
+# ruby # => true
+# ruby.class # => TrueClass
+# ruby = JSON.parse('false')
+# ruby # => false
+# ruby.class # => FalseClass
+# Null:
+# ruby = JSON.parse('null')
+# ruby # => nil
+# ruby.class # => NilClass
+#
+# ==== Parsing Options
+#
+# ====== Input Options
+#
+# Option +max_nesting+ (\Integer) specifies the maximum nesting depth allowed;
+# defaults to +100+; specify +false+ to disable depth checking.
+#
+# With the default, +false+:
+# source = '[0, [1, [2, [3]]]]'
+# ruby = JSON.parse(source)
+# ruby # => [0, [1, [2, [3]]]]
+# Too deep:
+# # Raises JSON::NestingError (nesting of 2 is too deep):
+# JSON.parse(source, {max_nesting: 1})
+# Bad value:
+# # Raises TypeError (wrong argument type Symbol (expected Fixnum)):
+# JSON.parse(source, {max_nesting: :foo})
+#
+# ---
+#
+# Option +allow_nan+ (boolean) specifies whether to allow
+# NaN, Infinity, and MinusInfinity in +source+;
+# defaults to +false+.
+#
+# With the default, +false+:
+# # Raises JSON::ParserError (225: unexpected token at '[NaN]'):
+# JSON.parse('[NaN]')
+# # Raises JSON::ParserError (232: unexpected token at '[Infinity]'):
+# JSON.parse('[Infinity]')
+# # Raises JSON::ParserError (248: unexpected token at '[-Infinity]'):
+# JSON.parse('[-Infinity]')
+# Allow:
+# source = '[NaN, Infinity, -Infinity]'
+# ruby = JSON.parse(source, {allow_nan: true})
+# ruby # => [NaN, Infinity, -Infinity]
+#
+# ====== Output Options
+#
+# Option +symbolize_names+ (boolean) specifies whether returned \Hash keys
+# should be Symbols;
+# defaults to +false+ (use Strings).
+#
+# With the default, +false+:
+# source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+# ruby = JSON.parse(source)
+# ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+# Use Symbols:
+# ruby = JSON.parse(source, {symbolize_names: true})
+# ruby # => {:a=>"foo", :b=>1.0, :c=>true, :d=>false, :e=>nil}
+#
+# ---
+#
+# Option +object_class+ (\Class) specifies the Ruby class to be used
+# for each \JSON object;
+# defaults to \Hash.
+#
+# With the default, \Hash:
+# source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+# ruby = JSON.parse(source)
+# ruby.class # => Hash
+# Use class \OpenStruct:
+# ruby = JSON.parse(source, {object_class: OpenStruct})
+# ruby # => #
+#
+# ---
+#
+# Option +array_class+ (\Class) specifies the Ruby class to be used
+# for each \JSON array;
+# defaults to \Array.
+#
+# With the default, \Array:
+# source = '["foo", 1.0, true, false, null]'
+# ruby = JSON.parse(source)
+# ruby.class # => Array
+# Use class \Set:
+# ruby = JSON.parse(source, {array_class: Set})
+# ruby # => #
+#
+# ---
+#
+# Option +create_additions+ (boolean) specifies whether to use \JSON additions in parsing.
+# See {\JSON Additions}[#module-JSON-label-JSON+Additions].
+#
+# === Generating \JSON
+#
+# To generate a Ruby \String containing \JSON data,
+# use method JSON.generate(source, opts), where
+# - +source+ is a Ruby object.
+# - +opts+ is a \Hash object containing options
+# that control both input allowed and output formatting.
+#
+# ==== Generating \JSON from Arrays
+#
+# When the source is a Ruby \Array, JSON.generate returns
+# a \String containing a \JSON array:
+# ruby = [0, 's', :foo]
+# json = JSON.generate(ruby)
+# json # => '[0,"s","foo"]'
+#
+# The Ruby \Array array may contain nested arrays, hashes, and scalars
+# to any depth:
+# ruby = [0, [1, 2], {foo: 3, bar: 4}]
+# json = JSON.generate(ruby)
+# json # => '[0,[1,2],{"foo":3,"bar":4}]'
+#
+# ==== Generating \JSON from Hashes
+#
+# When the source is a Ruby \Hash, JSON.generate returns
+# a \String containing a \JSON object:
+# ruby = {foo: 0, bar: 's', baz: :bat}
+# json = JSON.generate(ruby)
+# json # => '{"foo":0,"bar":"s","baz":"bat"}'
+#
+# The Ruby \Hash array may contain nested arrays, hashes, and scalars
+# to any depth:
+# ruby = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+# json = JSON.generate(ruby)
+# json # => '{"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}'
+#
+# ==== Generating \JSON from Other Objects
+#
+# When the source is neither an \Array nor a \Hash,
+# the generated \JSON data depends on the class of the source.
+#
+# When the source is a Ruby \Integer or \Float, JSON.generate returns
+# a \String containing a \JSON number:
+# JSON.generate(42) # => '42'
+# JSON.generate(0.42) # => '0.42'
+#
+# When the source is a Ruby \String, JSON.generate returns
+# a \String containing a \JSON string (with double-quotes):
+# JSON.generate('A string') # => '"A string"'
+#
+# When the source is +true+, +false+ or +nil+, JSON.generate returns
+# a \String containing the corresponding \JSON token:
+# JSON.generate(true) # => 'true'
+# JSON.generate(false) # => 'false'
+# JSON.generate(nil) # => 'null'
+#
+# When the source is none of the above, JSON.generate returns
+# a \String containing a \JSON string representation of the source:
+# JSON.generate(:foo) # => '"foo"'
+# JSON.generate(Complex(0, 0)) # => '"0+0i"'
+# JSON.generate(Dir.new('.')) # => '"#"'
+#
+# ==== Generating Options
+#
+# ====== Input Options
+#
+# Option +allow_nan+ (boolean) specifies whether
+# +NaN+, +Infinity+, and -Infinity may be generated;
+# defaults to +false+.
+#
+# With the default, +false+:
+# # Raises JSON::GeneratorError (920: NaN not allowed in JSON):
+# JSON.generate(JSON::NaN)
+# # Raises JSON::GeneratorError (917: Infinity not allowed in JSON):
+# JSON.generate(JSON::Infinity)
+# # Raises JSON::GeneratorError (917: -Infinity not allowed in JSON):
+# JSON.generate(JSON::MinusInfinity)
+#
+# Allow:
+# ruby = [Float::NaN, Float::Infinity, Float::MinusInfinity]
+# JSON.generate(ruby, allow_nan: true) # => '[NaN,Infinity,-Infinity]'
+#
+# ---
+#
+# Option +max_nesting+ (\Integer) specifies the maximum nesting depth
+# in +obj+; defaults to +100+.
+#
+# With the default, +100+:
+# obj = [[[[[[0]]]]]]
+# JSON.generate(obj) # => '[[[[[[0]]]]]]'
+#
+# Too deep:
+# # Raises JSON::NestingError (nesting of 2 is too deep):
+# JSON.generate(obj, max_nesting: 2)
+#
+# ====== Output Options
+#
+# The default formatting options generate the most compact
+# \JSON data, all on one line and with no whitespace.
+#
+# You can use these formatting options to generate
+# \JSON data in a more open format, using whitespace.
+# See also JSON.pretty_generate.
+#
+# - Option +array_nl+ (\String) specifies a string (usually a newline)
+# to be inserted after each \JSON array; defaults to the empty \String, ''.
+# - Option +object_nl+ (\String) specifies a string (usually a newline)
+# to be inserted after each \JSON object; defaults to the empty \String, ''.
+# - Option +indent+ (\String) specifies the string (usually spaces) to be
+# used for indentation; defaults to the empty \String, '';
+# defaults to the empty \String, '';
+# has no effect unless options +array_nl+ or +object_nl+ specify newlines.
+# - Option +space+ (\String) specifies a string (usually a space) to be
+# inserted after the colon in each \JSON object's pair;
+# defaults to the empty \String, ''.
+# - Option +space_before+ (\String) specifies a string (usually a space) to be
+# inserted before the colon in each \JSON object's pair;
+# defaults to the empty \String, ''.
+#
+# In this example, +obj+ is used first to generate the shortest
+# \JSON data (no whitespace), then again with all formatting options
+# specified:
+#
+# obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+# json = JSON.generate(obj)
+# puts 'Compact:', json
+# opts = {
+# array_nl: "\n",
+# object_nl: "\n",
+# indent: ' ',
+# space_before: ' ',
+# space: ' '
+# }
+# puts 'Open:', JSON.generate(obj, opts)
+#
+# Output:
+# Compact:
+# {"foo":["bar","baz"],"bat":{"bam":0,"bad":1}}
+# Open:
+# {
+# "foo" : [
+# "bar",
+# "baz"
+# ],
+# "bat" : {
+# "bam" : 0,
+# "bad" : 1
+# }
+# }
+#
+# == \JSON Additions
+#
+# When you "round trip" a non-\String object from Ruby to \JSON and back,
+# you have a new \String, instead of the object you began with:
+# ruby0 = Range.new(0, 2)
+# json = JSON.generate(ruby0)
+# json # => '0..2"'
+# ruby1 = JSON.parse(json)
+# ruby1 # => '0..2'
+# ruby1.class # => String
+#
+# You can use \JSON _additions_ to preserve the original object.
+# The addition is an extension of a ruby class, so that:
+# - \JSON.generate stores more information in the \JSON string.
+# - \JSON.parse, called with option +create_additions+,
+# uses that information to create a proper Ruby object.
+#
+# This example shows a \Range being generated into \JSON
+# and parsed back into Ruby, both without and with
+# the addition for \Range:
+# ruby = Range.new(0, 2)
+# # This passage does not use the addition for Range.
+# json0 = JSON.generate(ruby)
+# ruby0 = JSON.parse(json0)
+# # This passage uses the addition for Range.
+# require 'json/add/range'
+# json1 = JSON.generate(ruby)
+# ruby1 = JSON.parse(json1, create_additions: true)
+# # Make a nice display.
+# display = <require 'json/add/bigdecimal'
+# - Complex: require 'json/add/complex'
+# - Date: require 'json/add/date'
+# - DateTime: require 'json/add/date_time'
+# - Exception: require 'json/add/exception'
+# - OpenStruct: require 'json/add/ostruct'
+# - Range: require 'json/add/range'
+# - Rational: require 'json/add/rational'
+# - Regexp: require 'json/add/regexp'
+# - Set: require 'json/add/set'
+# - Struct: require 'json/add/struct'
+# - Symbol: require 'json/add/symbol'
+# - Time: require 'json/add/time'
+#
+# To reduce punctuation clutter, the examples below
+# show the generated \JSON via +puts+, rather than the usual +inspect+,
+#
+# \BigDecimal:
+# require 'json/add/bigdecimal'
+# ruby0 = BigDecimal(0) # 0.0
+# json = JSON.generate(ruby0) # {"json_class":"BigDecimal","b":"27:0.0"}
+# ruby1 = JSON.parse(json, create_additions: true) # 0.0
+# ruby1.class # => BigDecimal
+#
+# \Complex:
+# require 'json/add/complex'
+# ruby0 = Complex(1+0i) # 1+0i
+# json = JSON.generate(ruby0) # {"json_class":"Complex","r":1,"i":0}
+# ruby1 = JSON.parse(json, create_additions: true) # 1+0i
+# ruby1.class # Complex
+#
+# \Date:
+# require 'json/add/date'
+# ruby0 = Date.today # 2020-05-02
+# json = JSON.generate(ruby0) # {"json_class":"Date","y":2020,"m":5,"d":2,"sg":2299161.0}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02
+# ruby1.class # Date
+#
+# \DateTime:
+# require 'json/add/date_time'
+# ruby0 = DateTime.now # 2020-05-02T10:38:13-05:00
+# json = JSON.generate(ruby0) # {"json_class":"DateTime","y":2020,"m":5,"d":2,"H":10,"M":38,"S":13,"of":"-5/24","sg":2299161.0}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02T10:38:13-05:00
+# ruby1.class # DateTime
+#
+# \Exception (and its subclasses including \RuntimeError):
+# require 'json/add/exception'
+# ruby0 = Exception.new('A message') # A message
+# json = JSON.generate(ruby0) # {"json_class":"Exception","m":"A message","b":null}
+# ruby1 = JSON.parse(json, create_additions: true) # A message
+# ruby1.class # Exception
+# ruby0 = RuntimeError.new('Another message') # Another message
+# json = JSON.generate(ruby0) # {"json_class":"RuntimeError","m":"Another message","b":null}
+# ruby1 = JSON.parse(json, create_additions: true) # Another message
+# ruby1.class # RuntimeError
+#
+# \OpenStruct:
+# require 'json/add/ostruct'
+# ruby0 = OpenStruct.new(name: 'Matz', language: 'Ruby') # #
+# json = JSON.generate(ruby0) # {"json_class":"OpenStruct","t":{"name":"Matz","language":"Ruby"}}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # OpenStruct
+#
+# \Range:
+# require 'json/add/range'
+# ruby0 = Range.new(0, 2) # 0..2
+# json = JSON.generate(ruby0) # {"json_class":"Range","a":[0,2,false]}
+# ruby1 = JSON.parse(json, create_additions: true) # 0..2
+# ruby1.class # Range
+#
+# \Rational:
+# require 'json/add/rational'
+# ruby0 = Rational(1, 3) # 1/3
+# json = JSON.generate(ruby0) # {"json_class":"Rational","n":1,"d":3}
+# ruby1 = JSON.parse(json, create_additions: true) # 1/3
+# ruby1.class # Rational
+#
+# \Regexp:
+# require 'json/add/regexp'
+# ruby0 = Regexp.new('foo') # (?-mix:foo)
+# json = JSON.generate(ruby0) # {"json_class":"Regexp","o":0,"s":"foo"}
+# ruby1 = JSON.parse(json, create_additions: true) # (?-mix:foo)
+# ruby1.class # Regexp
+#
+# \Set:
+# require 'json/add/set'
+# ruby0 = Set.new([0, 1, 2]) # #
+# json = JSON.generate(ruby0) # {"json_class":"Set","a":[0,1,2]}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # Set
+#
+# \Struct:
+# require 'json/add/struct'
+# Customer = Struct.new(:name, :address) # Customer
+# ruby0 = Customer.new("Dave", "123 Main") # #
+# json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]}
+# ruby1 = JSON.parse(json, create_additions: true) # #
+# ruby1.class # Customer
+#
+# \Symbol:
+# require 'json/add/symbol'
+# ruby0 = :foo # foo
+# json = JSON.generate(ruby0) # {"json_class":"Symbol","s":"foo"}
+# ruby1 = JSON.parse(json, create_additions: true) # foo
+# ruby1.class # Symbol
+#
+# \Time:
+# require 'json/add/time'
+# ruby0 = Time.now # 2020-05-02 11:28:26 -0500
+# json = JSON.generate(ruby0) # {"json_class":"Time","s":1588436906,"n":840560000}
+# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 11:28:26 -0500
+# ruby1.class # Time
+#
+#
+# === Custom \JSON Additions
+#
+# In addition to the \JSON additions provided,
+# you can craft \JSON additions of your own,
+# either for Ruby built-in classes or for user-defined classes.
+#
+# Here's a user-defined class +Foo+:
+# class Foo
+# attr_accessor :bar, :baz
+# def initialize(bar, baz)
+# self.bar = bar
+# self.baz = baz
+# end
+# end
+#
+# Here's the \JSON addition for it:
+# # Extend class Foo with JSON addition.
+# class Foo
+# # Serialize Foo object with its class name and arguments
+# def to_json(*args)
+# {
+# JSON.create_id => self.class.name,
+# 'a' => [ bar, baz ]
+# }.to_json(*args)
+# end
+# # Deserialize JSON string by constructing new Foo object with arguments.
+# def self.json_create(object)
+# new(*object['a'])
+# end
+# end
+#
+# Demonstration:
+# require 'json'
+# # This Foo object has no custom addition.
+# foo0 = Foo.new(0, 1)
+# json0 = JSON.generate(foo0)
+# obj0 = JSON.parse(json0)
+# # Lood the custom addition.
+# require_relative 'foo_addition'
+# # This foo has the custom addition.
+# foo1 = Foo.new(0, 1)
+# json1 = JSON.generate(foo1)
+# obj1 = JSON.parse(json1, create_additions: true)
+# # Make a nice display.
+# display = <" (String)
+# With custom addition: {"json_class":"Foo","a":[0,1]} (String)
+# Parsed JSON:
+# Without custom addition: "#" (String)
+# With custom addition: # (Foo)
+module JSON
+ private
+
+ # :call-seq:
+ # JSON.dump(obj, io = nil, limit = nil)
+ #
+ # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result.
+ #
+ # The default options can be changed via method JSON.dump_default_options.
+ #
+ # - Argument +io+, if given, should respond to method +write+;
+ # the \JSON \String is written to +io+, and +io+ is returned.
+ # If +io+ is not given, the \JSON \String is returned.
+ # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+.
+ #
+ # ---
+ #
+ # When argument +io+ is not given, returns the \JSON \String generated from +obj+:
+ # obj = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+ # json = JSON.dump(obj)
+ # json # => "{\"foo\":[0,1],\"bar\":{\"baz\":2,\"bat\":3},\"bam\":\"bad\"}"
+ #
+ # When argument +io+ is given, writes the \JSON \String to +io+ and returns +io+:
+ # path = 't.json'
+ # File.open(path, 'w') do |file|
+ # JSON.dump(obj, file)
+ # end # => #
+ # puts File.read(path)
+ # Output:
+ # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
+ #
+ # source://json//json/common.rb#631
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.fast_generate(obj, opts) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # By default, generates \JSON data without checking
+ # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled).
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises SystemStackError (stack level too deep):
+ # JSON.fast_generate(a)
+ #
+ # source://json//json/common.rb#335
+ def fast_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//json/common.rb#335
+ def fast_unparse(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.generate(obj, opts = nil) -> new_string
+ #
+ # Returns a \String containing the generated \JSON data.
+ #
+ # See also JSON.fast_generate, JSON.pretty_generate.
+ #
+ # Argument +obj+ is the Ruby object to be converted to \JSON.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the generation.
+ # See {Generating Options}[#module-JSON-label-Generating+Options].
+ #
+ # ---
+ #
+ # When +obj+ is an \Array, returns a \String containing a \JSON array:
+ # obj = ["foo", 1.0, true, false, nil]
+ # json = JSON.generate(obj)
+ # json # => '["foo",1.0,true,false,null]'
+ #
+ # When +obj+ is a \Hash, returns a \String containing a \JSON object:
+ # obj = {foo: 0, bar: 's', baz: :bat}
+ # json = JSON.generate(obj)
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
+ #
+ # For examples of generating from other Ruby objects, see
+ # {Generating \JSON from Other Objects}[#module-JSON-label-Generating+JSON+from+Other+Objects].
+ #
+ # ---
+ #
+ # Raises an exception if any formatting option is not a \String.
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises JSON::NestingError (nesting of 100 is too deep):
+ # JSON.generate(a)
+ #
+ # source://json//json/common.rb#296
+ def generate(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load(source, proc = nil, options = {}) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # - Argument +source+ must be, or be convertible to, a \String:
+ # - If +source+ responds to instance method +to_str+,
+ # source.to_str becomes the source.
+ # - If +source+ responds to instance method +to_io+,
+ # source.to_io.read becomes the source.
+ # - If +source+ responds to instance method +read+,
+ # source.read becomes the source.
+ # - If both of the following are true, source becomes the \String 'null':
+ # - Option +allow_blank+ specifies a truthy value.
+ # - The source, as defined above, is +nil+ or the empty \String ''.
+ # - Otherwise, +source+ remains the source.
+ # - Argument +proc+, if given, must be a \Proc that accepts one argument.
+ # It will be called recursively with each result (depth-first order).
+ # See details below.
+ # BEWARE: This method is meant to serialise data from trusted user input,
+ # like from your own database server or clients under your control, it could
+ # be dangerous to allow untrusted users to pass JSON sources into it.
+ # - Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ # The default options can be changed via method JSON.load_default_options=.
+ #
+ # ---
+ #
+ # When no +proc+ is given, modifies +source+ as above and returns the result of
+ # parse(source, opts); see #parse.
+ #
+ # Source for following examples:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ #
+ # Load a \String:
+ # ruby = JSON.load(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load an \IO object:
+ # require 'stringio'
+ # object = JSON.load(StringIO.new(source))
+ # object # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load a \File object:
+ # path = 't.json'
+ # File.write(path, source)
+ # File.open(path) do |file|
+ # JSON.load(file)
+ # end # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # When +proc+ is given:
+ # - Modifies +source+ as above.
+ # - Gets the +result+ from calling parse(source, opts).
+ # - Recursively calls proc(result).
+ # - Returns the final result.
+ #
+ # Example:
+ # require 'json'
+ #
+ # # Some classes for the example.
+ # class Base
+ # def initialize(attributes)
+ # @attributes = attributes
+ # end
+ # end
+ # class User < Base; end
+ # class Account < Base; end
+ # class Admin < Base; end
+ # # The JSON source.
+ # json = <<-EOF
+ # {
+ # "users": [
+ # {"type": "User", "username": "jane", "email": "jane@example.com"},
+ # {"type": "User", "username": "john", "email": "john@example.com"}
+ # ],
+ # "accounts": [
+ # {"account": {"type": "Account", "paid": true, "account_id": "1234"}},
+ # {"account": {"type": "Account", "paid": false, "account_id": "1235"}}
+ # ],
+ # "admins": {"type": "Admin", "password": "0wn3d"}
+ # }
+ # EOF
+ # # Deserializer method.
+ # def deserialize_obj(obj, safe_types = %w(User Account Admin))
+ # type = obj.is_a?(Hash) && obj["type"]
+ # safe_types.include?(type) ? Object.const_get(type).new(obj) : obj
+ # end
+ # # Call to JSON.load
+ # ruby = JSON.load(json, proc {|obj|
+ # case obj
+ # when Hash
+ # obj.each {|k, v| obj[k] = deserialize_obj v }
+ # when Array
+ # obj.map! {|v| deserialize_obj v }
+ # end
+ # })
+ # pp ruby
+ # Output:
+ # {"users"=>
+ # [#"User", "username"=>"jane", "email"=>"jane@example.com"}>,
+ # #"User", "username"=>"john", "email"=>"john@example.com"}>],
+ # "accounts"=>
+ # [{"account"=>
+ # #"Account", "paid"=>true, "account_id"=>"1234"}>},
+ # {"account"=>
+ # #"Account", "paid"=>false, "account_id"=>"1235"}>}],
+ # "admins"=>
+ # #"Admin", "password"=>"0wn3d"}>}
+ #
+ # source://json//json/common.rb#557
+ def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file(path, opts={}) -> object
+ #
+ # Calls:
+ # parse(File.read(path), opts)
+ #
+ # See method #parse.
+ #
+ # source://json//json/common.rb#245
+ def load_file(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file!(path, opts = {})
+ #
+ # Calls:
+ # JSON.parse!(File.read(path, opts))
+ #
+ # See method #parse!
+ #
+ # source://json//json/common.rb#256
+ def load_file!(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse(source, opts) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # Argument +source+ contains the \String to be parsed.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ #
+ # ---
+ #
+ # When +source+ is a \JSON array, returns a Ruby \Array:
+ # source = '["foo", 1.0, true, false, null]'
+ # ruby = JSON.parse(source)
+ # ruby # => ["foo", 1.0, true, false, nil]
+ # ruby.class # => Array
+ #
+ # When +source+ is a \JSON object, returns a Ruby \Hash:
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+ # ruby = JSON.parse(source)
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+ # ruby.class # => Hash
+ #
+ # For examples of parsing for all \JSON data types, see
+ # {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
+ #
+ # Parses nested JSON objects:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ # ruby = JSON.parse(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # Raises an exception if +source+ is not valid JSON:
+ # # Raises JSON::ParserError (783: unexpected token at ''):
+ # JSON.parse('')
+ #
+ # source://json//json/common.rb#215
+ def parse(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse!(source, opts) -> object
+ #
+ # Calls
+ # parse(source, opts)
+ # with +source+ and possibly modified +opts+.
+ #
+ # Differences from JSON.parse:
+ # - Option +max_nesting+, if not provided, defaults to +false+,
+ # which disables checking for nesting depth.
+ # - Option +allow_nan+, if not provided, defaults to +true+.
+ #
+ # source://json//json/common.rb#230
+ def parse!(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.pretty_generate(obj, opts = nil) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # Default options are:
+ # {
+ # indent: ' ', # Two spaces
+ # space: ' ', # One space
+ # array_nl: "\n", # Newline
+ # object_nl: "\n" # Newline
+ # }
+ #
+ # Example:
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+ # json = JSON.pretty_generate(obj)
+ # puts json
+ # Output:
+ # {
+ # "foo": [
+ # "bar",
+ # "baz"
+ # ],
+ # "bat": {
+ # "bam": 0,
+ # "bad": 1
+ # }
+ # }
+ #
+ # source://json//json/common.rb#390
+ def pretty_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//json/common.rb#390
+ def pretty_unparse(obj, opts = T.unsafe(nil)); end
+
+ # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
+ #
+ # source://json//json/common.rb#575
+ def recurse_proc(result, &proc); end
+
+ # source://json//json/common.rb#557
+ def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and
+ # later delete them.
+ #
+ # source://json//json/common.rb#296
+ def unparse(obj, opts = T.unsafe(nil)); end
+
+ class << self
+ # :call-seq:
+ # JSON[object] -> new_array or new_string
+ #
+ # If +object+ is a \String,
+ # calls JSON.parse with +object+ and +opts+ (see method #parse):
+ # json = '[0, 1, null]'
+ # JSON[json]# => [0, 1, nil]
+ #
+ # Otherwise, calls JSON.generate with +object+ and +opts+ (see method #generate):
+ # ruby = [0, 1, nil]
+ # JSON[ruby] # => '[0,1,null]'
+ #
+ # source://json//json/common.rb#18
+ def [](object, opts = T.unsafe(nil)); end
+
+ # source://json//json/common.rb#81
+ def create_fast_state; end
+
+ # Returns the current create identifier.
+ # See also JSON.create_id=.
+ #
+ # source://json//json/common.rb#126
+ def create_id; end
+
+ # Sets create identifier, which is used to decide if the _json_create_
+ # hook of a class should be called; initial value is +json_class+:
+ # JSON.create_id # => 'json_class'
+ #
+ # source://json//json/common.rb#120
+ def create_id=(new_value); end
+
+ # source://json//json/common.rb#91
+ def create_pretty_state; end
+
+ # Return the constant located at _path_. The format of _path_ has to be
+ # either ::A::B::C or A::B::C. In any case, A has to be located at the top
+ # level (absolute namespace path?). If there doesn't exist a constant at
+ # the given path, an ArgumentError is raised.
+ #
+ # source://json//json/common.rb#42
+ def deep_const_get(path); end
+
+ # :call-seq:
+ # JSON.dump(obj, io = nil, limit = nil)
+ #
+ # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result.
+ #
+ # The default options can be changed via method JSON.dump_default_options.
+ #
+ # - Argument +io+, if given, should respond to method +write+;
+ # the \JSON \String is written to +io+, and +io+ is returned.
+ # If +io+ is not given, the \JSON \String is returned.
+ # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+.
+ #
+ # ---
+ #
+ # When argument +io+ is not given, returns the \JSON \String generated from +obj+:
+ # obj = {foo: [0, 1], bar: {baz: 2, bat: 3}, bam: :bad}
+ # json = JSON.dump(obj)
+ # json # => "{\"foo\":[0,1],\"bar\":{\"baz\":2,\"bat\":3},\"bam\":\"bad\"}"
+ #
+ # When argument +io+ is given, writes the \JSON \String to +io+ and returns +io+:
+ # path = 't.json'
+ # File.open(path, 'w') do |file|
+ # JSON.dump(obj, file)
+ # end # => #
+ # puts File.read(path)
+ # Output:
+ # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
+ #
+ # source://json//json/common.rb#631
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end
+
+ # Sets or returns the default options for the JSON.dump method.
+ # Initially:
+ # opts = JSON.dump_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false}
+ #
+ # source://json//json/common.rb#596
+ def dump_default_options; end
+
+ # Sets or returns the default options for the JSON.dump method.
+ # Initially:
+ # opts = JSON.dump_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false}
+ #
+ # source://json//json/common.rb#596
+ def dump_default_options=(_arg0); end
+
+ # :call-seq:
+ # JSON.fast_generate(obj, opts) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # By default, generates \JSON data without checking
+ # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled).
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises SystemStackError (stack level too deep):
+ # JSON.fast_generate(a)
+ #
+ # source://json//json/common.rb#335
+ def fast_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//json/common.rb#335
+ def fast_unparse(obj, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.generate(obj, opts = nil) -> new_string
+ #
+ # Returns a \String containing the generated \JSON data.
+ #
+ # See also JSON.fast_generate, JSON.pretty_generate.
+ #
+ # Argument +obj+ is the Ruby object to be converted to \JSON.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the generation.
+ # See {Generating Options}[#module-JSON-label-Generating+Options].
+ #
+ # ---
+ #
+ # When +obj+ is an \Array, returns a \String containing a \JSON array:
+ # obj = ["foo", 1.0, true, false, nil]
+ # json = JSON.generate(obj)
+ # json # => '["foo",1.0,true,false,null]'
+ #
+ # When +obj+ is a \Hash, returns a \String containing a \JSON object:
+ # obj = {foo: 0, bar: 's', baz: :bat}
+ # json = JSON.generate(obj)
+ # json # => '{"foo":0,"bar":"s","baz":"bat"}'
+ #
+ # For examples of generating from other Ruby objects, see
+ # {Generating \JSON from Other Objects}[#module-JSON-label-Generating+JSON+from+Other+Objects].
+ #
+ # ---
+ #
+ # Raises an exception if any formatting option is not a \String.
+ #
+ # Raises an exception if +obj+ contains circular references:
+ # a = []; b = []; a.push(b); b.push(a)
+ # # Raises JSON::NestingError (nesting of 100 is too deep):
+ # JSON.generate(a)
+ #
+ # source://json//json/common.rb#296
+ def generate(obj, opts = T.unsafe(nil)); end
+
+ # Returns the JSON generator module that is used by JSON. This is
+ # either JSON::Ext::Generator or JSON::Pure::Generator:
+ # JSON.generator # => JSON::Ext::Generator
+ #
+ # source://json//json/common.rb#103
+ def generator; end
+
+ # Set the module _generator_ to be used by JSON.
+ #
+ # source://json//json/common.rb#58
+ def generator=(generator); end
+
+ # Encodes string using String.encode.
+ #
+ # source://json//json/common.rb#653
+ def iconv(to, from, string); end
+
+ # :call-seq:
+ # JSON.load(source, proc = nil, options = {}) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # - Argument +source+ must be, or be convertible to, a \String:
+ # - If +source+ responds to instance method +to_str+,
+ # source.to_str becomes the source.
+ # - If +source+ responds to instance method +to_io+,
+ # source.to_io.read becomes the source.
+ # - If +source+ responds to instance method +read+,
+ # source.read becomes the source.
+ # - If both of the following are true, source becomes the \String 'null':
+ # - Option +allow_blank+ specifies a truthy value.
+ # - The source, as defined above, is +nil+ or the empty \String ''.
+ # - Otherwise, +source+ remains the source.
+ # - Argument +proc+, if given, must be a \Proc that accepts one argument.
+ # It will be called recursively with each result (depth-first order).
+ # See details below.
+ # BEWARE: This method is meant to serialise data from trusted user input,
+ # like from your own database server or clients under your control, it could
+ # be dangerous to allow untrusted users to pass JSON sources into it.
+ # - Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ # The default options can be changed via method JSON.load_default_options=.
+ #
+ # ---
+ #
+ # When no +proc+ is given, modifies +source+ as above and returns the result of
+ # parse(source, opts); see #parse.
+ #
+ # Source for following examples:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ #
+ # Load a \String:
+ # ruby = JSON.load(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load an \IO object:
+ # require 'stringio'
+ # object = JSON.load(StringIO.new(source))
+ # object # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # Load a \File object:
+ # path = 't.json'
+ # File.write(path, source)
+ # File.open(path) do |file|
+ # JSON.load(file)
+ # end # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # When +proc+ is given:
+ # - Modifies +source+ as above.
+ # - Gets the +result+ from calling parse(source, opts).
+ # - Recursively calls proc(result).
+ # - Returns the final result.
+ #
+ # Example:
+ # require 'json'
+ #
+ # # Some classes for the example.
+ # class Base
+ # def initialize(attributes)
+ # @attributes = attributes
+ # end
+ # end
+ # class User < Base; end
+ # class Account < Base; end
+ # class Admin < Base; end
+ # # The JSON source.
+ # json = <<-EOF
+ # {
+ # "users": [
+ # {"type": "User", "username": "jane", "email": "jane@example.com"},
+ # {"type": "User", "username": "john", "email": "john@example.com"}
+ # ],
+ # "accounts": [
+ # {"account": {"type": "Account", "paid": true, "account_id": "1234"}},
+ # {"account": {"type": "Account", "paid": false, "account_id": "1235"}}
+ # ],
+ # "admins": {"type": "Admin", "password": "0wn3d"}
+ # }
+ # EOF
+ # # Deserializer method.
+ # def deserialize_obj(obj, safe_types = %w(User Account Admin))
+ # type = obj.is_a?(Hash) && obj["type"]
+ # safe_types.include?(type) ? Object.const_get(type).new(obj) : obj
+ # end
+ # # Call to JSON.load
+ # ruby = JSON.load(json, proc {|obj|
+ # case obj
+ # when Hash
+ # obj.each {|k, v| obj[k] = deserialize_obj v }
+ # when Array
+ # obj.map! {|v| deserialize_obj v }
+ # end
+ # })
+ # pp ruby
+ # Output:
+ # {"users"=>
+ # [#"User", "username"=>"jane", "email"=>"jane@example.com"}>,
+ # #"User", "username"=>"john", "email"=>"john@example.com"}>],
+ # "accounts"=>
+ # [{"account"=>
+ # #"Account", "paid"=>true, "account_id"=>"1234"}>},
+ # {"account"=>
+ # #"Account", "paid"=>false, "account_id"=>"1235"}>}],
+ # "admins"=>
+ # #"Admin", "password"=>"0wn3d"}>}
+ #
+ # source://json//json/common.rb#557
+ def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Sets or returns default options for the JSON.load method.
+ # Initially:
+ # opts = JSON.load_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
+ #
+ # source://json//json/common.rb#420
+ def load_default_options; end
+
+ # Sets or returns default options for the JSON.load method.
+ # Initially:
+ # opts = JSON.load_default_options
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
+ #
+ # source://json//json/common.rb#420
+ def load_default_options=(_arg0); end
+
+ # :call-seq:
+ # JSON.load_file(path, opts={}) -> object
+ #
+ # Calls:
+ # parse(File.read(path), opts)
+ #
+ # See method #parse.
+ #
+ # source://json//json/common.rb#245
+ def load_file(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.load_file!(path, opts = {})
+ #
+ # Calls:
+ # JSON.parse!(File.read(path, opts))
+ #
+ # See method #parse!
+ #
+ # source://json//json/common.rb#256
+ def load_file!(filespec, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse(source, opts) -> object
+ #
+ # Returns the Ruby objects created by parsing the given +source+.
+ #
+ # Argument +source+ contains the \String to be parsed.
+ #
+ # Argument +opts+, if given, contains a \Hash of options for the parsing.
+ # See {Parsing Options}[#module-JSON-label-Parsing+Options].
+ #
+ # ---
+ #
+ # When +source+ is a \JSON array, returns a Ruby \Array:
+ # source = '["foo", 1.0, true, false, null]'
+ # ruby = JSON.parse(source)
+ # ruby # => ["foo", 1.0, true, false, nil]
+ # ruby.class # => Array
+ #
+ # When +source+ is a \JSON object, returns a Ruby \Hash:
+ # source = '{"a": "foo", "b": 1.0, "c": true, "d": false, "e": null}'
+ # ruby = JSON.parse(source)
+ # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil}
+ # ruby.class # => Hash
+ #
+ # For examples of parsing for all \JSON data types, see
+ # {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
+ #
+ # Parses nested JSON objects:
+ # source = <<-EOT
+ # {
+ # "name": "Dave",
+ # "age" :40,
+ # "hats": [
+ # "Cattleman's",
+ # "Panama",
+ # "Tophat"
+ # ]
+ # }
+ # EOT
+ # ruby = JSON.parse(source)
+ # ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
+ #
+ # ---
+ #
+ # Raises an exception if +source+ is not valid JSON:
+ # # Raises JSON::ParserError (783: unexpected token at ''):
+ # JSON.parse('')
+ #
+ # source://json//json/common.rb#215
+ def parse(source, opts = T.unsafe(nil)); end
+
+ # :call-seq:
+ # JSON.parse!(source, opts) -> object
+ #
+ # Calls
+ # parse(source, opts)
+ # with +source+ and possibly modified +opts+.
+ #
+ # Differences from JSON.parse:
+ # - Option +max_nesting+, if not provided, defaults to +false+,
+ # which disables checking for nesting depth.
+ # - Option +allow_nan+, if not provided, defaults to +true+.
+ #
+ # source://json//json/common.rb#230
+ def parse!(source, opts = T.unsafe(nil)); end
+
+ # Returns the JSON parser class that is used by JSON. This is either
+ # JSON::Ext::Parser or JSON::Pure::Parser:
+ # JSON.parser # => JSON::Ext::Parser
+ #
+ # source://json//json/common.rb#29
+ def parser; end
+
+ # Set the JSON parser class _parser_ to be used by JSON.
+ #
+ # source://json//json/common.rb#32
+ def parser=(parser); end
+
+ # :call-seq:
+ # JSON.pretty_generate(obj, opts = nil) -> new_string
+ #
+ # Arguments +obj+ and +opts+ here are the same as
+ # arguments +obj+ and +opts+ in JSON.generate.
+ #
+ # Default options are:
+ # {
+ # indent: ' ', # Two spaces
+ # space: ' ', # One space
+ # array_nl: "\n", # Newline
+ # object_nl: "\n" # Newline
+ # }
+ #
+ # Example:
+ # obj = {foo: [:bar, :baz], bat: {bam: 0, bad: 1}}
+ # json = JSON.pretty_generate(obj)
+ # puts json
+ # Output:
+ # {
+ # "foo": [
+ # "bar",
+ # "baz"
+ # ],
+ # "bat": {
+ # "bam": 0,
+ # "bad": 1
+ # }
+ # }
+ #
+ # source://json//json/common.rb#390
+ def pretty_generate(obj, opts = T.unsafe(nil)); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and later delete them.
+ #
+ # source://json//json/common.rb#390
+ def pretty_unparse(obj, opts = T.unsafe(nil)); end
+
+ # Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
+ #
+ # source://json//json/common.rb#575
+ def recurse_proc(result, &proc); end
+
+ # source://json//json/common.rb#557
+ def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
+
+ # Sets or Returns the JSON generator state class that is used by JSON. This is
+ # either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
+ # JSON.state # => JSON::Ext::Generator::State
+ #
+ # source://json//json/common.rb#108
+ def state; end
+
+ # Sets or Returns the JSON generator state class that is used by JSON. This is
+ # either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
+ # JSON.state # => JSON::Ext::Generator::State
+ #
+ # source://json//json/common.rb#108
+ def state=(_arg0); end
+
+ # :stopdoc:
+ # I want to deprecate these later, so I'll first be silent about them, and
+ # later delete them.
+ #
+ # source://json//json/common.rb#296
+ def unparse(obj, opts = T.unsafe(nil)); end
+ end
+end
+
+# source://json//json/common.rb#114
+JSON::CREATE_ID_TLS_KEY = T.let(T.unsafe(nil), String)
+
+# source://json//json/common.rb#111
+JSON::DEFAULT_CREATE_ID = T.let(T.unsafe(nil), String)
+
+class JSON::GenericObject < ::OpenStruct
+ # source://json//json/generic_object.rb#63
+ def as_json(*_arg0); end
+
+ # source://json//json/generic_object.rb#47
+ def to_hash; end
+
+ # source://json//json/generic_object.rb#67
+ def to_json(*a); end
+
+ # source://json//json/generic_object.rb#59
+ def |(other); end
+
+ class << self
+ # source://json//json/generic_object.rb#41
+ def dump(obj, *args); end
+
+ # source://json//json/generic_object.rb#21
+ def from_hash(object); end
+
+ # Sets the attribute json_creatable
+ #
+ # @param value the value to set the attribute json_creatable to.
+ #
+ # source://json//json/generic_object.rb#13
+ def json_creatable=(_arg0); end
+
+ # @return [Boolean]
+ #
+ # source://json//json/generic_object.rb#9
+ def json_creatable?; end
+
+ # source://json//json/generic_object.rb#15
+ def json_create(data); end
+
+ # source://json//json/generic_object.rb#36
+ def load(source, proc = T.unsafe(nil), opts = T.unsafe(nil)); end
+ end
+end
+
+# The base exception for JSON errors.
+class JSON::JSONError < ::StandardError
+ class << self
+ # source://json//json/common.rb#138
+ def wrap(exception); end
+ end
+end
+
+# source://json//json/common.rb#35
+JSON::Parser = JSON::Ext::Parser
+
+# source://json//json/common.rb#73
+JSON::State = JSON::Ext::Generator::State
+
+# For backwards compatibility
+#
+# source://json//json/common.rb#159
+JSON::UnparserError = JSON::GeneratorError
+
+module Kernel
+ private
+
+ # If _object_ is string-like, parse the string and return the parsed result as
+ # a Ruby data structure. Otherwise, generate a JSON text from the Ruby data
+ # structure object and return it.
+ #
+ # The _opts_ argument is passed through to generate/parse respectively. See
+ # generate and parse for their documentation.
+ #
+ # source://json//json/common.rb#685
+ def JSON(object, *args); end
+
+ # Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in
+ # one line.
+ #
+ # source://json//json/common.rb#663
+ def j(*objs); end
+
+ # Outputs _objs_ to STDOUT as JSON strings in a pretty format, with
+ # indentation and over many lines.
+ #
+ # source://json//json/common.rb#672
+ def jj(*objs); end
+end
diff --git a/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi b/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi
new file mode 100644
index 0000000..f6b1d8e
--- /dev/null
+++ b/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi
@@ -0,0 +1,14237 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `language_server-protocol` gem.
+# Please instead update this file by running `bin/tapioca gem language_server-protocol`.
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#1
+module LanguageServer; end
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#2
+module LanguageServer::Protocol; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant.rb#3
+module LanguageServer::Protocol::Constant; end
+
+# The kind of a code action.
+#
+# Kinds are a hierarchical list of identifiers separated by `.`,
+# e.g. `"refactor.extract.function"`.
+#
+# The set of kinds is open and client needs to announce the kinds it supports
+# to the server during initialization.
+# A set of predefined code action kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#14
+module LanguageServer::Protocol::Constant::CodeActionKind; end
+
+# Empty kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#18
+LanguageServer::Protocol::Constant::CodeActionKind::EMPTY = T.let(T.unsafe(nil), String)
+
+# Base kind for quickfix actions: 'quickfix'.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#22
+LanguageServer::Protocol::Constant::CodeActionKind::QUICK_FIX = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring actions: 'refactor'.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#26
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring extraction actions: 'refactor.extract'.
+#
+# Example extract actions:
+#
+# - Extract method
+# - Extract function
+# - Extract variable
+# - Extract interface from class
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#38
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_EXTRACT = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring inline actions: 'refactor.inline'.
+#
+# Example inline actions:
+#
+# - Inline function
+# - Inline variable
+# - Inline constant
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#49
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_INLINE = T.let(T.unsafe(nil), String)
+
+# Base kind for refactoring rewrite actions: 'refactor.rewrite'.
+#
+# Example rewrite actions:
+#
+# - Convert JavaScript function to class
+# - Add or remove parameter
+# - Encapsulate field
+# - Make method static
+# - Move method to base class
+# - ...
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#62
+LanguageServer::Protocol::Constant::CodeActionKind::REFACTOR_REWRITE = T.let(T.unsafe(nil), String)
+
+# Base kind for source actions: `source`.
+#
+# Source code actions apply to the entire file.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#68
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE = T.let(T.unsafe(nil), String)
+
+# Base kind for a 'fix all' source action: `source.fixAll`.
+#
+# 'Fix all' actions automatically fix errors that have a clear fix that
+# do not require user input. They should not suppress errors or perform
+# unsafe fixes such as generating new types or classes.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#81
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_FIX_ALL = T.let(T.unsafe(nil), String)
+
+# Base kind for an organize imports source action:
+# `source.organizeImports`.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_kind.rb#73
+LanguageServer::Protocol::Constant::CodeActionKind::SOURCE_ORGANIZE_IMPORTS = T.let(T.unsafe(nil), String)
+
+# The reason why code actions were requested.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::CodeActionTriggerKind; end
+
+# Code actions were requested automatically.
+#
+# This typically happens when current selection in a file changes, but can
+# also be triggered when file content changes.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#18
+LanguageServer::Protocol::Constant::CodeActionTriggerKind::AUTOMATIC = T.let(T.unsafe(nil), Integer)
+
+# Code actions were explicitly requested by the user or by an extension.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/code_action_trigger_kind.rb#11
+LanguageServer::Protocol::Constant::CodeActionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# The kind of a completion entry.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#7
+module LanguageServer::Protocol::Constant::CompletionItemKind; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#14
+LanguageServer::Protocol::Constant::CompletionItemKind::CLASS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#23
+LanguageServer::Protocol::Constant::CompletionItemKind::COLOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#28
+LanguageServer::Protocol::Constant::CompletionItemKind::CONSTANT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#11
+LanguageServer::Protocol::Constant::CompletionItemKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#20
+LanguageServer::Protocol::Constant::CompletionItemKind::ENUM = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#27
+LanguageServer::Protocol::Constant::CompletionItemKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#30
+LanguageServer::Protocol::Constant::CompletionItemKind::EVENT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#12
+LanguageServer::Protocol::Constant::CompletionItemKind::FIELD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#24
+LanguageServer::Protocol::Constant::CompletionItemKind::FILE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#26
+LanguageServer::Protocol::Constant::CompletionItemKind::FOLDER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#10
+LanguageServer::Protocol::Constant::CompletionItemKind::FUNCTION = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#15
+LanguageServer::Protocol::Constant::CompletionItemKind::INTERFACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#21
+LanguageServer::Protocol::Constant::CompletionItemKind::KEYWORD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#9
+LanguageServer::Protocol::Constant::CompletionItemKind::METHOD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#16
+LanguageServer::Protocol::Constant::CompletionItemKind::MODULE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#31
+LanguageServer::Protocol::Constant::CompletionItemKind::OPERATOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#17
+LanguageServer::Protocol::Constant::CompletionItemKind::PROPERTY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#25
+LanguageServer::Protocol::Constant::CompletionItemKind::REFERENCE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#22
+LanguageServer::Protocol::Constant::CompletionItemKind::SNIPPET = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#29
+LanguageServer::Protocol::Constant::CompletionItemKind::STRUCT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#8
+LanguageServer::Protocol::Constant::CompletionItemKind::TEXT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#32
+LanguageServer::Protocol::Constant::CompletionItemKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#18
+LanguageServer::Protocol::Constant::CompletionItemKind::UNIT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#19
+LanguageServer::Protocol::Constant::CompletionItemKind::VALUE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_kind.rb#13
+LanguageServer::Protocol::Constant::CompletionItemKind::VARIABLE = T.let(T.unsafe(nil), Integer)
+
+# Completion item tags are extra annotations that tweak the rendering of a
+# completion item.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#8
+module LanguageServer::Protocol::Constant::CompletionItemTag; end
+
+# Render a completion as obsolete, usually using a strike-out.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_item_tag.rb#12
+LanguageServer::Protocol::Constant::CompletionItemTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# How a completion was triggered
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::CompletionTriggerKind; end
+
+# Completion was triggered by typing an identifier (24x7 code
+# complete), manual invocation (e.g Ctrl+Space) or via API.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#12
+LanguageServer::Protocol::Constant::CompletionTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# Completion was triggered by a trigger character specified by
+# the `triggerCharacters` properties of the
+# `CompletionRegistrationOptions`.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#18
+LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer)
+
+# Completion was re-triggered as the current completion list is incomplete.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/completion_trigger_kind.rb#22
+LanguageServer::Protocol::Constant::CompletionTriggerKind::TRIGGER_FOR_INCOMPLETE_COMPLETIONS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#4
+module LanguageServer::Protocol::Constant::DiagnosticSeverity; end
+
+# Reports an error.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#8
+LanguageServer::Protocol::Constant::DiagnosticSeverity::ERROR = T.let(T.unsafe(nil), Integer)
+
+# Reports a hint.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#20
+LanguageServer::Protocol::Constant::DiagnosticSeverity::HINT = T.let(T.unsafe(nil), Integer)
+
+# Reports an information.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#16
+LanguageServer::Protocol::Constant::DiagnosticSeverity::INFORMATION = T.let(T.unsafe(nil), Integer)
+
+# Reports a warning.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_severity.rb#12
+LanguageServer::Protocol::Constant::DiagnosticSeverity::WARNING = T.let(T.unsafe(nil), Integer)
+
+# The diagnostic tags.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#7
+module LanguageServer::Protocol::Constant::DiagnosticTag; end
+
+# Deprecated or obsolete code.
+#
+# Clients are allowed to rendered diagnostics with this tag strike through.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#20
+LanguageServer::Protocol::Constant::DiagnosticTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# Unused or unnecessary code.
+#
+# Clients are allowed to render diagnostics with this tag faded out
+# instead of having an error squiggle.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/diagnostic_tag.rb#14
+LanguageServer::Protocol::Constant::DiagnosticTag::UNNECESSARY = T.let(T.unsafe(nil), Integer)
+
+# The document diagnostic report kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#7
+module LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind; end
+
+# A diagnostic report with a full
+# set of problems.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#12
+LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::FULL = T.let(T.unsafe(nil), String)
+
+# A report indicating that the last
+# returned report is still accurate.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_diagnostic_report_kind.rb#17
+LanguageServer::Protocol::Constant::DocumentDiagnosticReportKind::UNCHANGED = T.let(T.unsafe(nil), String)
+
+# A document highlight kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#7
+module LanguageServer::Protocol::Constant::DocumentHighlightKind; end
+
+# Read-access of a symbol, like reading a variable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#15
+LanguageServer::Protocol::Constant::DocumentHighlightKind::READ = T.let(T.unsafe(nil), Integer)
+
+# A textual occurrence.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#11
+LanguageServer::Protocol::Constant::DocumentHighlightKind::TEXT = T.let(T.unsafe(nil), Integer)
+
+# Write-access of a symbol, like writing to a variable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/document_highlight_kind.rb#19
+LanguageServer::Protocol::Constant::DocumentHighlightKind::WRITE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#4
+module LanguageServer::Protocol::Constant::ErrorCodes; end
+
+# The server detected that the content of a document got
+# modified outside normal conditions. A server should
+# NOT send this error code if it detects a content change
+# in it unprocessed messages. The result even computed
+# on an older state might still be useful for the client.
+#
+# If a client decides that a result is not of any use anymore
+# the client should cancel the request.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#59
+LanguageServer::Protocol::Constant::ErrorCodes::CONTENT_MODIFIED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#9
+LanguageServer::Protocol::Constant::ErrorCodes::INTERNAL_ERROR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#8
+LanguageServer::Protocol::Constant::ErrorCodes::INVALID_PARAMS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#6
+LanguageServer::Protocol::Constant::ErrorCodes::INVALID_REQUEST = T.let(T.unsafe(nil), Integer)
+
+# This is the end range of JSON-RPC reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#29
+LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer)
+
+# This is the start range of JSON-RPC reserved error codes.
+# It doesn't denote a real error code. No LSP error codes should
+# be defined between the start and end range. For backwards
+# compatibility the `ServerNotInitialized` and the `UnknownErrorCode`
+# are left in the range.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#17
+LanguageServer::Protocol::Constant::ErrorCodes::JSONRPC_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer)
+
+# This is the end range of LSP reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#69
+LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_END = T.let(T.unsafe(nil), Integer)
+
+# This is the start range of LSP reserved error codes.
+# It doesn't denote a real error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#35
+LanguageServer::Protocol::Constant::ErrorCodes::LSP_RESERVED_ERROR_RANGE_START = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#7
+LanguageServer::Protocol::Constant::ErrorCodes::METHOD_NOT_FOUND = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#5
+LanguageServer::Protocol::Constant::ErrorCodes::PARSE_ERROR = T.let(T.unsafe(nil), Integer)
+
+# The client has canceled a request and a server as detected
+# the cancel.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#64
+LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_CANCELLED = T.let(T.unsafe(nil), Integer)
+
+# A request failed but it was syntactically correct, e.g the
+# method name was known and the parameters were valid. The error
+# message should contain human readable information about why
+# the request failed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#42
+LanguageServer::Protocol::Constant::ErrorCodes::REQUEST_FAILED = T.let(T.unsafe(nil), Integer)
+
+# The server cancelled the request. This error code should
+# only be used for requests that explicitly support being
+# server cancellable.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#48
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_CANCELLED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#30
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_END = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#18
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_ERROR_START = T.let(T.unsafe(nil), Integer)
+
+# Error code indicating that a server received a notification or
+# request before the server has received the `initialize` request.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#23
+LanguageServer::Protocol::Constant::ErrorCodes::SERVER_NOT_INITIALIZED = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/error_codes.rb#24
+LanguageServer::Protocol::Constant::ErrorCodes::UNKNOWN_ERROR_CODE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#4
+module LanguageServer::Protocol::Constant::FailureHandlingKind; end
+
+# Applying the workspace change is simply aborted if one of the changes
+# provided fails. All operations executed before the failing operation
+# stay executed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#10
+LanguageServer::Protocol::Constant::FailureHandlingKind::ABORT = T.let(T.unsafe(nil), String)
+
+# If the workspace edit contains only textual file changes they are
+# executed transactional. If resource changes (create, rename or delete
+# file) are part of the change the failure handling strategy is abort.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#21
+LanguageServer::Protocol::Constant::FailureHandlingKind::TEXT_ONLY_TRANSACTIONAL = T.let(T.unsafe(nil), String)
+
+# All operations are executed transactional. That means they either all
+# succeed or no changes at all are applied to the workspace.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#15
+LanguageServer::Protocol::Constant::FailureHandlingKind::TRANSACTIONAL = T.let(T.unsafe(nil), String)
+
+# The client tries to undo the operations already executed. But there is no
+# guarantee that this is succeeding.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/failure_handling_kind.rb#26
+LanguageServer::Protocol::Constant::FailureHandlingKind::UNDO = T.let(T.unsafe(nil), String)
+
+# The file event type.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#7
+module LanguageServer::Protocol::Constant::FileChangeType; end
+
+# The file got changed.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#15
+LanguageServer::Protocol::Constant::FileChangeType::CHANGED = T.let(T.unsafe(nil), Integer)
+
+# The file got created.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#11
+LanguageServer::Protocol::Constant::FileChangeType::CREATED = T.let(T.unsafe(nil), Integer)
+
+# The file got deleted.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_change_type.rb#19
+LanguageServer::Protocol::Constant::FileChangeType::DELETED = T.let(T.unsafe(nil), Integer)
+
+# A pattern kind describing if a glob pattern matches a file a folder or
+# both.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#8
+module LanguageServer::Protocol::Constant::FileOperationPatternKind; end
+
+# The pattern matches a file only.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#12
+LanguageServer::Protocol::Constant::FileOperationPatternKind::FILE = T.let(T.unsafe(nil), String)
+
+# The pattern matches a folder only.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/file_operation_pattern_kind.rb#16
+LanguageServer::Protocol::Constant::FileOperationPatternKind::FOLDER = T.let(T.unsafe(nil), String)
+
+# A set of predefined range kinds.
+# The type is a string since the value set is extensible
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#8
+module LanguageServer::Protocol::Constant::FoldingRangeKind; end
+
+# Folding range for a comment
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#12
+LanguageServer::Protocol::Constant::FoldingRangeKind::COMMENT = T.let(T.unsafe(nil), String)
+
+# Folding range for imports or includes
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#16
+LanguageServer::Protocol::Constant::FoldingRangeKind::IMPORTS = T.let(T.unsafe(nil), String)
+
+# Folding range for a region (e.g. `#region`)
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/folding_range_kind.rb#20
+LanguageServer::Protocol::Constant::FoldingRangeKind::REGION = T.let(T.unsafe(nil), String)
+
+# Known error codes for an `InitializeErrorCodes`;
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#7
+module LanguageServer::Protocol::Constant::InitializeErrorCodes; end
+
+# If the protocol version provided by the client can't be handled by
+# the server.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/initialize_error_codes.rb#12
+LanguageServer::Protocol::Constant::InitializeErrorCodes::UNKNOWN_PROTOCOL_VERSION = T.let(T.unsafe(nil), Integer)
+
+# Inlay hint kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#7
+module LanguageServer::Protocol::Constant::InlayHintKind; end
+
+# An inlay hint that is for a parameter.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#15
+LanguageServer::Protocol::Constant::InlayHintKind::PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# An inlay hint that for a type annotation.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/inlay_hint_kind.rb#11
+LanguageServer::Protocol::Constant::InlayHintKind::TYPE = T.let(T.unsafe(nil), Integer)
+
+# Defines whether the insert text in a completion item should be interpreted as
+# plain text or a snippet.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#8
+module LanguageServer::Protocol::Constant::InsertTextFormat; end
+
+# The primary text to be inserted is treated as a plain string.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#12
+LanguageServer::Protocol::Constant::InsertTextFormat::PLAIN_TEXT = T.let(T.unsafe(nil), Integer)
+
+# The primary text to be inserted is treated as a snippet.
+#
+# A snippet can define tab stops and placeholders with `$1`, `$2`
+# and `${3:foo}`. `$0` defines the final tab stop, it defaults to
+# the end of the snippet. Placeholders with equal identifiers are linked,
+# that is typing in one will update others too.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_format.rb#21
+LanguageServer::Protocol::Constant::InsertTextFormat::SNIPPET = T.let(T.unsafe(nil), Integer)
+
+# How whitespace and indentation is handled during completion
+# item insertion.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#8
+module LanguageServer::Protocol::Constant::InsertTextMode; end
+
+# The editor adjusts leading whitespace of new lines so that
+# they match the indentation up to the cursor of the line for
+# which the item is accepted.
+#
+# Consider a line like this: <2tabs><3tabs>foo. Accepting a
+# multi line completion item is indented using 2 tabs and all
+# following lines inserted will be indented using 2 tabs as well.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#26
+LanguageServer::Protocol::Constant::InsertTextMode::ADJUST_INDENTATION = T.let(T.unsafe(nil), Integer)
+
+# The insertion or replace strings is taken as it is. If the
+# value is multi line the lines below the cursor will be
+# inserted using the indentation defined in the string value.
+# The client will not apply any kind of adjustments to the
+# string.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/insert_text_mode.rb#16
+LanguageServer::Protocol::Constant::InsertTextMode::AS_IS = T.let(T.unsafe(nil), Integer)
+
+# Describes the content type that a client supports in various
+# result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
+#
+# Please note that `MarkupKinds` must not start with a `$`. This kinds
+# are reserved for internal usage.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#11
+module LanguageServer::Protocol::Constant::MarkupKind; end
+
+# Markdown is supported as a content format
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#19
+LanguageServer::Protocol::Constant::MarkupKind::MARKDOWN = T.let(T.unsafe(nil), String)
+
+# Plain text is supported as a content format
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/markup_kind.rb#15
+LanguageServer::Protocol::Constant::MarkupKind::PLAIN_TEXT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#4
+module LanguageServer::Protocol::Constant::MessageType; end
+
+# An error message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#8
+LanguageServer::Protocol::Constant::MessageType::ERROR = T.let(T.unsafe(nil), Integer)
+
+# An information message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#16
+LanguageServer::Protocol::Constant::MessageType::INFO = T.let(T.unsafe(nil), Integer)
+
+# A log message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#20
+LanguageServer::Protocol::Constant::MessageType::LOG = T.let(T.unsafe(nil), Integer)
+
+# A warning message.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/message_type.rb#12
+LanguageServer::Protocol::Constant::MessageType::WARNING = T.let(T.unsafe(nil), Integer)
+
+# The moniker kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#7
+module LanguageServer::Protocol::Constant::MonikerKind; end
+
+# The moniker represents a symbol that is exported from a project
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#15
+LanguageServer::Protocol::Constant::MonikerKind::EXPORT = T.let(T.unsafe(nil), String)
+
+# The moniker represent a symbol that is imported into a project
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#11
+LanguageServer::Protocol::Constant::MonikerKind::IMPORT = T.let(T.unsafe(nil), String)
+
+# The moniker represents a symbol that is local to a project (e.g. a local
+# variable of a function, a class not visible outside the project, ...)
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/moniker_kind.rb#20
+LanguageServer::Protocol::Constant::MonikerKind::LOCAL = T.let(T.unsafe(nil), String)
+
+# A notebook cell kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#7
+module LanguageServer::Protocol::Constant::NotebookCellKind; end
+
+# A code-cell is source code.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#15
+LanguageServer::Protocol::Constant::NotebookCellKind::CODE = T.let(T.unsafe(nil), Integer)
+
+# A markup-cell is formatted source that is used for display.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/notebook_cell_kind.rb#11
+LanguageServer::Protocol::Constant::NotebookCellKind::MARKUP = T.let(T.unsafe(nil), Integer)
+
+# A type indicating how positions are encoded,
+# specifically what column offsets mean.
+# A set of predefined position encoding kinds.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#9
+module LanguageServer::Protocol::Constant::PositionEncodingKind; end
+
+# Character offsets count UTF-16 code units.
+#
+# This is the default and must always be supported
+# by servers
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#20
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF16 = T.let(T.unsafe(nil), String)
+
+# Character offsets count UTF-32 code units.
+#
+# Implementation note: these are the same as Unicode code points,
+# so this `PositionEncodingKind` may also be used for an
+# encoding-agnostic representation of character offsets.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#28
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF32 = T.let(T.unsafe(nil), String)
+
+# Character offsets count UTF-8 code units (e.g bytes).
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/position_encoding_kind.rb#13
+LanguageServer::Protocol::Constant::PositionEncodingKind::UTF8 = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#4
+module LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior; end
+
+# The client's default behavior is to select the identifier
+# according to the language's syntax rule.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/prepare_support_default_behavior.rb#9
+LanguageServer::Protocol::Constant::PrepareSupportDefaultBehavior::IDENTIFIER = T.let(T.unsafe(nil), Integer)
+
+# The kind of resource operations supported by the client.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#7
+module LanguageServer::Protocol::Constant::ResourceOperationKind; end
+
+# Supports creating new files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#11
+LanguageServer::Protocol::Constant::ResourceOperationKind::CREATE = T.let(T.unsafe(nil), String)
+
+# Supports deleting existing files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#19
+LanguageServer::Protocol::Constant::ResourceOperationKind::DELETE = T.let(T.unsafe(nil), String)
+
+# Supports renaming existing files and folders.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/resource_operation_kind.rb#15
+LanguageServer::Protocol::Constant::ResourceOperationKind::RENAME = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#4
+module LanguageServer::Protocol::Constant::SemanticTokenModifiers; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#10
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::ABSTRACT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#11
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::ASYNC = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#5
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DECLARATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#14
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFAULT_LIBRARY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#6
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEFINITION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#9
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DEPRECATED = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#13
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::DOCUMENTATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#12
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::MODIFICATION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#7
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::READONLY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_modifiers.rb#8
+LanguageServer::Protocol::Constant::SemanticTokenModifiers::STATIC = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#4
+module LanguageServer::Protocol::Constant::SemanticTokenTypes; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#11
+LanguageServer::Protocol::Constant::SemanticTokenTypes::CLASS = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#26
+LanguageServer::Protocol::Constant::SemanticTokenTypes::COMMENT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#31
+LanguageServer::Protocol::Constant::SemanticTokenTypes::DECORATOR = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#12
+LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#19
+LanguageServer::Protocol::Constant::SemanticTokenTypes::ENUM_MEMBER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#20
+LanguageServer::Protocol::Constant::SemanticTokenTypes::EVENT = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#21
+LanguageServer::Protocol::Constant::SemanticTokenTypes::FUNCTION = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#13
+LanguageServer::Protocol::Constant::SemanticTokenTypes::INTERFACE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#24
+LanguageServer::Protocol::Constant::SemanticTokenTypes::KEYWORD = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#23
+LanguageServer::Protocol::Constant::SemanticTokenTypes::MACRO = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#22
+LanguageServer::Protocol::Constant::SemanticTokenTypes::METHOD = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#25
+LanguageServer::Protocol::Constant::SemanticTokenTypes::MODIFIER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#5
+LanguageServer::Protocol::Constant::SemanticTokenTypes::NAMESPACE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#28
+LanguageServer::Protocol::Constant::SemanticTokenTypes::NUMBER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#30
+LanguageServer::Protocol::Constant::SemanticTokenTypes::OPERATOR = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#16
+LanguageServer::Protocol::Constant::SemanticTokenTypes::PARAMETER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#18
+LanguageServer::Protocol::Constant::SemanticTokenTypes::PROPERTY = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#29
+LanguageServer::Protocol::Constant::SemanticTokenTypes::REGEXP = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#27
+LanguageServer::Protocol::Constant::SemanticTokenTypes::STRING = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#14
+LanguageServer::Protocol::Constant::SemanticTokenTypes::STRUCT = T.let(T.unsafe(nil), String)
+
+# Represents a generic type. Acts as a fallback for types which
+# can't be mapped to a specific type like class or enum.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#10
+LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#15
+LanguageServer::Protocol::Constant::SemanticTokenTypes::TYPE_PARAMETER = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/semantic_token_types.rb#17
+LanguageServer::Protocol::Constant::SemanticTokenTypes::VARIABLE = T.let(T.unsafe(nil), String)
+
+# How a signature help was triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#7
+module LanguageServer::Protocol::Constant::SignatureHelpTriggerKind; end
+
+# Signature help was triggered by the cursor moving or by the document
+# content changing.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#20
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::CONTENT_CHANGE = T.let(T.unsafe(nil), Integer)
+
+# Signature help was invoked manually by the user or by a command.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#11
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::INVOKED = T.let(T.unsafe(nil), Integer)
+
+# Signature help was triggered by a trigger character.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/signature_help_trigger_kind.rb#15
+LanguageServer::Protocol::Constant::SignatureHelpTriggerKind::TRIGGER_CHARACTER = T.let(T.unsafe(nil), Integer)
+
+# A symbol kind.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#7
+module LanguageServer::Protocol::Constant::SymbolKind; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#25
+LanguageServer::Protocol::Constant::SymbolKind::ARRAY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#24
+LanguageServer::Protocol::Constant::SymbolKind::BOOLEAN = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#12
+LanguageServer::Protocol::Constant::SymbolKind::CLASS = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#21
+LanguageServer::Protocol::Constant::SymbolKind::CONSTANT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#16
+LanguageServer::Protocol::Constant::SymbolKind::CONSTRUCTOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#17
+LanguageServer::Protocol::Constant::SymbolKind::ENUM = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#29
+LanguageServer::Protocol::Constant::SymbolKind::ENUM_MEMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#31
+LanguageServer::Protocol::Constant::SymbolKind::EVENT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#15
+LanguageServer::Protocol::Constant::SymbolKind::FIELD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#8
+LanguageServer::Protocol::Constant::SymbolKind::FILE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#19
+LanguageServer::Protocol::Constant::SymbolKind::FUNCTION = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#18
+LanguageServer::Protocol::Constant::SymbolKind::INTERFACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#27
+LanguageServer::Protocol::Constant::SymbolKind::KEY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#13
+LanguageServer::Protocol::Constant::SymbolKind::METHOD = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#9
+LanguageServer::Protocol::Constant::SymbolKind::MODULE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#10
+LanguageServer::Protocol::Constant::SymbolKind::NAMESPACE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#28
+LanguageServer::Protocol::Constant::SymbolKind::NULL = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#23
+LanguageServer::Protocol::Constant::SymbolKind::NUMBER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#26
+LanguageServer::Protocol::Constant::SymbolKind::OBJECT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#32
+LanguageServer::Protocol::Constant::SymbolKind::OPERATOR = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#11
+LanguageServer::Protocol::Constant::SymbolKind::PACKAGE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#14
+LanguageServer::Protocol::Constant::SymbolKind::PROPERTY = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#22
+LanguageServer::Protocol::Constant::SymbolKind::STRING = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#30
+LanguageServer::Protocol::Constant::SymbolKind::STRUCT = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#33
+LanguageServer::Protocol::Constant::SymbolKind::TYPE_PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_kind.rb#20
+LanguageServer::Protocol::Constant::SymbolKind::VARIABLE = T.let(T.unsafe(nil), Integer)
+
+# Symbol tags are extra annotations that tweak the rendering of a symbol.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#7
+module LanguageServer::Protocol::Constant::SymbolTag; end
+
+# Render a symbol as obsolete, usually using a strike-out.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/symbol_tag.rb#11
+LanguageServer::Protocol::Constant::SymbolTag::DEPRECATED = T.let(T.unsafe(nil), Integer)
+
+# Represents reasons why a text document is saved.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#7
+module LanguageServer::Protocol::Constant::TextDocumentSaveReason; end
+
+# Automatic after a delay.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#16
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::AFTER_DELAY = T.let(T.unsafe(nil), Integer)
+
+# When the editor lost focus.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#20
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::FOCUS_OUT = T.let(T.unsafe(nil), Integer)
+
+# Manually triggered, e.g. by the user pressing save, by starting
+# debugging, or by an API call.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_save_reason.rb#12
+LanguageServer::Protocol::Constant::TextDocumentSaveReason::MANUAL = T.let(T.unsafe(nil), Integer)
+
+# Defines how the host (editor) should sync document changes to the language
+# server.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#8
+module LanguageServer::Protocol::Constant::TextDocumentSyncKind; end
+
+# Documents are synced by always sending the full content
+# of the document.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#17
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::FULL = T.let(T.unsafe(nil), Integer)
+
+# Documents are synced by sending the full content on open.
+# After that only incremental updates to the document are
+# sent.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#23
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::INCREMENTAL = T.let(T.unsafe(nil), Integer)
+
+# Documents should not be synced at all.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/text_document_sync_kind.rb#12
+LanguageServer::Protocol::Constant::TextDocumentSyncKind::NONE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#4
+module LanguageServer::Protocol::Constant::TokenFormat; end
+
+# source://language_server-protocol//lib/language_server/protocol/constant/token_format.rb#5
+LanguageServer::Protocol::Constant::TokenFormat::RELATIVE = T.let(T.unsafe(nil), String)
+
+# Moniker uniqueness level to define scope of the moniker.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#7
+module LanguageServer::Protocol::Constant::UniquenessLevel; end
+
+# The moniker is only unique inside a document
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#11
+LanguageServer::Protocol::Constant::UniquenessLevel::DOCUMENT = T.let(T.unsafe(nil), String)
+
+# The moniker is globally unique
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#27
+LanguageServer::Protocol::Constant::UniquenessLevel::GLOBAL = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside the group to which a project belongs
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#19
+LanguageServer::Protocol::Constant::UniquenessLevel::GROUP = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside a project for which a dump got created
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#15
+LanguageServer::Protocol::Constant::UniquenessLevel::PROJECT = T.let(T.unsafe(nil), String)
+
+# The moniker is unique inside the moniker scheme.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/uniqueness_level.rb#23
+LanguageServer::Protocol::Constant::UniquenessLevel::SCHEME = T.let(T.unsafe(nil), String)
+
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#4
+module LanguageServer::Protocol::Constant::WatchKind; end
+
+# Interested in change events
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#12
+LanguageServer::Protocol::Constant::WatchKind::CHANGE = T.let(T.unsafe(nil), Integer)
+
+# Interested in create events.
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#8
+LanguageServer::Protocol::Constant::WatchKind::CREATE = T.let(T.unsafe(nil), Integer)
+
+# Interested in delete events
+#
+# source://language_server-protocol//lib/language_server/protocol/constant/watch_kind.rb#16
+LanguageServer::Protocol::Constant::WatchKind::DELETE = T.let(T.unsafe(nil), Integer)
+
+# source://language_server-protocol//lib/language_server/protocol/interface.rb#3
+module LanguageServer::Protocol::Interface; end
+
+# A special text edit with an additional change annotation.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#7
+class LanguageServer::Protocol::Interface::AnnotatedTextEdit
+ # @return [AnnotatedTextEdit] a new instance of AnnotatedTextEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#8
+ def initialize(range:, new_text:, annotation_id:); end
+
+ # The actual annotation identifier.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#40
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#44
+ def attributes; end
+
+ # The string to be inserted. For delete operations use an
+ # empty string.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#32
+ def new_text; end
+
+ # The range of the text document to be manipulated. To insert
+ # text into a document create a range where start === end.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#23
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/annotated_text_edit.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#4
+class LanguageServer::Protocol::Interface::ApplyWorkspaceEditParams
+ # @return [ApplyWorkspaceEditParams] a new instance of ApplyWorkspaceEditParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#5
+ def initialize(edit:, label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#32
+ def attributes; end
+
+ # The edits to apply.
+ #
+ # @return [WorkspaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#28
+ def edit; end
+
+ # An optional label of the workspace edit. This label is
+ # presented in the user interface for example on an undo
+ # stack to undo the workspace edit.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#20
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_params.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#4
+class LanguageServer::Protocol::Interface::ApplyWorkspaceEditResult
+ # @return [ApplyWorkspaceEditResult] a new instance of ApplyWorkspaceEditResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#5
+ def initialize(applied:, failure_reason: T.unsafe(nil), failed_change: T.unsafe(nil)); end
+
+ # Indicates whether the edit was applied or not.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#19
+ def applied; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#44
+ def attributes; end
+
+ # Depending on the client's failure handling strategy `failedChange`
+ # might contain the index of the change that failed. This property is
+ # only available if the client signals a `failureHandling` strategy
+ # in its client capabilities.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#40
+ def failed_change; end
+
+ # An optional textual description for why the edit was not applied.
+ # This may be used by the server for diagnostic logging or to provide
+ # a suitable error for a request that triggered the edit.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#29
+ def failure_reason; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/apply_workspace_edit_result.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyClientCapabilities
+ # @return [CallHierarchyClientCapabilities] a new instance of CallHierarchyClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyIncomingCall
+ # @return [CallHierarchyIncomingCall] a new instance of CallHierarchyIncomingCall
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#5
+ def initialize(from:, from_ranges:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#31
+ def attributes; end
+
+ # The item that makes the call.
+ #
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#18
+ def from; end
+
+ # The ranges at which the calls appear. This is relative to the caller
+ # denoted by [`this.from`](#CallHierarchyIncomingCall.from).
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#27
+ def from_ranges; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyIncomingCallsParams
+ # @return [CallHierarchyIncomingCallsParams] a new instance of CallHierarchyIncomingCallsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#37
+ def attributes; end
+
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyItem
+ # @return [CallHierarchyItem] a new instance of CallHierarchyItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#5
+ def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#88
+ def attributes; end
+
+ # A data entry field that is preserved between a call hierarchy prepare and
+ # incoming calls or outgoing calls requests.
+ #
+ # @return [unknown]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#84
+ def data; end
+
+ # More detail for this item, e.g. the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#48
+ def detail; end
+
+ # The kind of this item.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#32
+ def kind; end
+
+ # The name of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#24
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else, e.g. comments and code.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#65
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the
+ # [`range`](#CallHierarchyItem.range).
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#75
+ def selection_range; end
+
+ # Tags for this item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#40
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#90
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#94
+ def to_json(*args); end
+
+ # The resource identifier of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_item.rb#56
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOptions
+ # @return [CallHierarchyOptions] a new instance of CallHierarchyOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCall
+ # @return [CallHierarchyOutgoingCall] a new instance of CallHierarchyOutgoingCall
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#5
+ def initialize(to:, from_ranges:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#31
+ def attributes; end
+
+ # The range at which this item is called. This is the range relative to
+ # the caller, e.g the item passed to `callHierarchy/outgoingCalls` request.
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#27
+ def from_ranges; end
+
+ # The item that is called.
+ #
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#18
+ def to; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyOutgoingCallsParams
+ # @return [CallHierarchyOutgoingCallsParams] a new instance of CallHierarchyOutgoingCallsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#37
+ def attributes; end
+
+ # @return [CallHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyPrepareParams
+ # @return [CallHierarchyPrepareParams] a new instance of CallHierarchyPrepareParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CallHierarchyRegistrationOptions
+ # @return [CallHierarchyRegistrationOptions] a new instance of CallHierarchyRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/call_hierarchy_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#4
+class LanguageServer::Protocol::Interface::CancelParams
+ # @return [CancelParams] a new instance of CancelParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#5
+ def initialize(id:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#21
+ def attributes; end
+
+ # The request id to cancel.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#17
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/cancel_params.rb#27
+ def to_json(*args); end
+end
+
+# Additional information that describes document changes.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#7
+class LanguageServer::Protocol::Interface::ChangeAnnotation
+ # @return [ChangeAnnotation] a new instance of ChangeAnnotation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#8
+ def initialize(label:, needs_confirmation: T.unsafe(nil), description: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#45
+ def attributes; end
+
+ # A human-readable string which is rendered less prominent in
+ # the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#41
+ def description; end
+
+ # A human-readable string describing the actual change. The string
+ # is rendered prominent in the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#23
+ def label; end
+
+ # A flag which indicates that user confirmation is needed
+ # before applying the change.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#32
+ def needs_confirmation; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/change_annotation.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ClientCapabilities
+ # @return [ClientCapabilities] a new instance of ClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#5
+ def initialize(workspace: T.unsafe(nil), text_document: T.unsafe(nil), notebook_document: T.unsafe(nil), window: T.unsafe(nil), general: T.unsafe(nil), experimental: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#66
+ def attributes; end
+
+ # Experimental client capabilities.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#62
+ def experimental; end
+
+ # General client capabilities.
+ #
+ # @return [{ staleRequestSupport?: { cancel: boolean; retryOnContentModified: string[]; }; regularExpressions?: RegularExpressionsClientCapabilities; markdown?: any; positionEncodings?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#54
+ def general; end
+
+ # Capabilities specific to the notebook document support.
+ #
+ # @return [NotebookDocumentClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#38
+ def notebook_document; end
+
+ # Text document specific client capabilities.
+ #
+ # @return [TextDocumentClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#30
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#72
+ def to_json(*args); end
+
+ # Window specific client capabilities.
+ #
+ # @return [{ workDoneProgress?: boolean; showMessage?: ShowMessageRequestClientCapabilities; showDocument?: ShowDocumentClientCapabilities; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#46
+ def window; end
+
+ # Workspace specific client capabilities.
+ #
+ # @return [{ applyEdit?: boolean; workspaceEdit?: WorkspaceEditClientCapabilities; didChangeConfiguration?: DidChangeConfigurationClientCapabilities; ... 10 more ...; diagnostics?: DiagnosticWorkspaceClientCapabilities; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/client_capabilities.rb#22
+ def workspace; end
+end
+
+# A code action represents a change that can be performed in code, e.g. to fix
+# a problem or to refactor code.
+#
+# A CodeAction must set either `edit` and/or a `command`. If both are supplied,
+# the `edit` is applied first, then the `command` is executed.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#11
+class LanguageServer::Protocol::Interface::CodeAction
+ # @return [CodeAction] a new instance of CodeAction
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#12
+ def initialize(title:, kind: T.unsafe(nil), diagnostics: T.unsafe(nil), is_preferred: T.unsafe(nil), disabled: T.unsafe(nil), edit: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#115
+ def attributes; end
+
+ # A command this code action executes. If a code action
+ # provides an edit and a command, first the edit is
+ # executed and then the command.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#102
+ def command; end
+
+ # A data entry field that is preserved on a code action between
+ # a `textDocument/codeAction` and a `codeAction/resolve` request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#111
+ def data; end
+
+ # The diagnostics that this code action resolves.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#49
+ def diagnostics; end
+
+ # Marks that the code action cannot currently be applied.
+ #
+ # Clients should follow the following guidelines regarding disabled code
+ # actions:
+ #
+ # - Disabled code actions are not shown in automatic lightbulbs code
+ # action menus.
+ #
+ # - Disabled actions are shown as faded out in the code action menu when
+ # the user request a more specific type of code action, such as
+ # refactorings.
+ #
+ # - If the user has a keybinding that auto applies a code action and only
+ # a disabled code actions are returned, the client should show the user
+ # an error message with `reason` in the editor.
+ #
+ # @return [{ reason: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#84
+ def disabled; end
+
+ # The workspace edit this code action performs.
+ #
+ # @return [WorkspaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#92
+ def edit; end
+
+ # Marks this as a preferred action. Preferred actions are used by the
+ # `auto fix` command and can be targeted by keybindings.
+ #
+ # A quick fix should be marked preferred if it properly addresses the
+ # underlying error. A refactoring should be marked preferred if it is the
+ # most reasonable choice of actions to take.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#62
+ def is_preferred; end
+
+ # The kind of the code action.
+ #
+ # Used to filter code actions.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#41
+ def kind; end
+
+ # A short, human-readable, title for this code action.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#31
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#117
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action.rb#121
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeActionClientCapabilities
+ # @return [CodeActionClientCapabilities] a new instance of CodeActionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), code_action_literal_support: T.unsafe(nil), is_preferred_support: T.unsafe(nil), disabled_support: T.unsafe(nil), data_support: T.unsafe(nil), resolve_support: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#83
+ def attributes; end
+
+ # The client supports code action literals as a valid
+ # response of the `textDocument/codeAction` request.
+ #
+ # @return [{ codeActionKind: { valueSet: string[]; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#32
+ def code_action_literal_support; end
+
+ # Whether code action supports the `data` property which is
+ # preserved between a `textDocument/codeAction` and a
+ # `codeAction/resolve` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#58
+ def data_support; end
+
+ # Whether code action supports the `disabled` property.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#48
+ def disabled_support; end
+
+ # Whether code action supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#23
+ def dynamic_registration; end
+
+ # Whether the client honors the change annotations in
+ # text edits and resource operations returned via the
+ # `CodeAction#edit` property by for example presenting
+ # the workspace edit in the user interface and asking
+ # for confirmation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#79
+ def honors_change_annotations; end
+
+ # Whether code action supports the `isPreferred` property.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#40
+ def is_preferred_support; end
+
+ # Whether the client supports resolving additional code action
+ # properties via a separate `codeAction/resolve` request.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#67
+ def resolve_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#85
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_client_capabilities.rb#89
+ def to_json(*args); end
+end
+
+# Contains additional diagnostic information about the context in which
+# a code action is run.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#8
+class LanguageServer::Protocol::Interface::CodeActionContext
+ # @return [CodeActionContext] a new instance of CodeActionContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#9
+ def initialize(diagnostics:, only: T.unsafe(nil), trigger_kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#51
+ def attributes; end
+
+ # An array of diagnostics known on the client side overlapping the range
+ # provided to the `textDocument/codeAction` request. They are provided so
+ # that the server knows which errors are currently presented to the user
+ # for the given range. There is no guarantee that these accurately reflect
+ # the error state of the resource. The primary parameter
+ # to compute code actions is the provided range.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#28
+ def diagnostics; end
+
+ # Requested kind of actions to return.
+ #
+ # Actions not of this kind are filtered out by the client before being
+ # shown. So servers can omit computing them.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#39
+ def only; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#57
+ def to_json(*args); end
+
+ # The reason why code actions were requested.
+ #
+ # @return [CodeActionTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_context.rb#47
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#4
+class LanguageServer::Protocol::Interface::CodeActionOptions
+ # @return [CodeActionOptions] a new instance of CodeActionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#40
+ def attributes; end
+
+ # CodeActionKinds that this server may return.
+ #
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
+ # or the server may list out every specific kind they provide.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#27
+ def code_action_kinds; end
+
+ # The server provides support to resolve additional
+ # information for a code action.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#36
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#46
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_options.rb#16
+ def work_done_progress; end
+end
+
+# Params for the CodeActionRequest
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#7
+class LanguageServer::Protocol::Interface::CodeActionParams
+ # @return [CodeActionParams] a new instance of CodeActionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#8
+ def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#61
+ def attributes; end
+
+ # Context carrying additional information.
+ #
+ # @return [CodeActionContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#57
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#33
+ def partial_result_token; end
+
+ # The range for which the command was invoked.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#49
+ def range; end
+
+ # The document in which the command was invoked.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#41
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#67
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_params.rb#24
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CodeActionRegistrationOptions
+ # @return [CodeActionRegistrationOptions] a new instance of CodeActionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), code_action_kinds: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#50
+ def attributes; end
+
+ # CodeActionKinds that this server may return.
+ #
+ # The list of kinds may be generic, such as `CodeActionKind.Refactor`,
+ # or the server may list out every specific kind they provide.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#37
+ def code_action_kinds; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#21
+ def document_selector; end
+
+ # The server provides support to resolve additional
+ # information for a code action.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#46
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#56
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_action_registration_options.rb#26
+ def work_done_progress; end
+end
+
+# Structure to capture a description for an error code.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#7
+class LanguageServer::Protocol::Interface::CodeDescription
+ # @return [CodeDescription] a new instance of CodeDescription
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#8
+ def initialize(href:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#24
+ def attributes; end
+
+ # An URI to open with more information about the diagnostic error.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#20
+ def href; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_description.rb#30
+ def to_json(*args); end
+end
+
+# A code lens represents a command that should be shown along with
+# source text, like the number of references, a way to run tests, etc.
+#
+# A code lens is _unresolved_ when no command is associated to it. For
+# performance reasons the creation of a code lens and resolving should be done
+# in two stages.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#12
+class LanguageServer::Protocol::Interface::CodeLens
+ # @return [CodeLens] a new instance of CodeLens
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#13
+ def initialize(range:, command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#49
+ def attributes; end
+
+ # The command this code lens represents.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#36
+ def command; end
+
+ # A data entry field that is preserved on a code lens item between
+ # a code lens and a code lens resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#45
+ def data; end
+
+ # The range in which this code lens is valid. Should only span a single
+ # line.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#28
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens.rb#55
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeLensClientCapabilities
+ # @return [CodeLensClientCapabilities] a new instance of CodeLensClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether code lens supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#4
+class LanguageServer::Protocol::Interface::CodeLensOptions
+ # @return [CodeLensOptions] a new instance of CodeLensOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#27
+ def attributes; end
+
+ # Code lens has a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#23
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#4
+class LanguageServer::Protocol::Interface::CodeLensParams
+ # @return [CodeLensParams] a new instance of CodeLensParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#28
+ def partial_result_token; end
+
+ # The document to request code lens for.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CodeLensRegistrationOptions
+ # @return [CodeLensRegistrationOptions] a new instance of CodeLensRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#20
+ def document_selector; end
+
+ # Code lens has a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#33
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CodeLensWorkspaceClientCapabilities
+ # @return [CodeLensWorkspaceClientCapabilities] a new instance of CodeLensWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#5
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#27
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from the
+ # server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # code lenses currently shown. It should be used with absolute care and is
+ # useful for situation where a server for example detect a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#23
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb#33
+ def to_json(*args); end
+end
+
+# Represents a color in RGBA space.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/color.rb#7
+class LanguageServer::Protocol::Interface::Color
+ # @return [Color] a new instance of Color
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#8
+ def initialize(red:, green:, blue:, alpha:); end
+
+ # The alpha component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#47
+ def alpha; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#51
+ def attributes; end
+
+ # The blue component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#39
+ def blue; end
+
+ # The green component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#31
+ def green; end
+
+ # The red component of this color in the range [0-1].
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#23
+ def red; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color.rb#57
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#4
+class LanguageServer::Protocol::Interface::ColorInformation
+ # @return [ColorInformation] a new instance of ColorInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#5
+ def initialize(range:, color:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#30
+ def attributes; end
+
+ # The actual color value for this color range.
+ #
+ # @return [Color]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#26
+ def color; end
+
+ # The range in the document where this color appears.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#18
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_information.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#4
+class LanguageServer::Protocol::Interface::ColorPresentation
+ # @return [ColorPresentation] a new instance of ColorPresentation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#5
+ def initialize(label:, text_edit: T.unsafe(nil), additional_text_edits: T.unsafe(nil)); end
+
+ # An optional array of additional [text edits](#TextEdit) that are applied
+ # when selecting this color presentation. Edits must not overlap with the
+ # main [edit](#ColorPresentation.textEdit) nor with themselves.
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#41
+ def additional_text_edits; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#45
+ def attributes; end
+
+ # The label of this color presentation. It will be shown on the color
+ # picker header. By default this is also the text that is inserted when
+ # selecting this color presentation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#21
+ def label; end
+
+ # An [edit](#TextEdit) which is applied to a document when selecting
+ # this presentation for the color. When `falsy` the
+ # [label](#ColorPresentation.label) is used.
+ #
+ # @return [TextEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#31
+ def text_edit; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#4
+class LanguageServer::Protocol::Interface::ColorPresentationParams
+ # @return [ColorPresentationParams] a new instance of ColorPresentationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#5
+ def initialize(text_document:, color:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#58
+ def attributes; end
+
+ # The color information to request presentations for.
+ #
+ # @return [Color]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#46
+ def color; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#30
+ def partial_result_token; end
+
+ # The range where the color would be inserted. Serves as a context.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#54
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#38
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#64
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/color_presentation_params.rb#21
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/command.rb#4
+class LanguageServer::Protocol::Interface::Command
+ # @return [Command] a new instance of Command
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#5
+ def initialize(title:, command:, arguments: T.unsafe(nil)); end
+
+ # Arguments that the command handler should be
+ # invoked with.
+ #
+ # @return [LSPAny[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#36
+ def arguments; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#40
+ def attributes; end
+
+ # The identifier of the actual command handler.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#27
+ def command; end
+
+ # Title of the command, like `save`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#19
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/command.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::CompletionClientCapabilities
+ # @return [CompletionClientCapabilities] a new instance of CompletionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), completion_item: T.unsafe(nil), completion_item_kind: T.unsafe(nil), context_support: T.unsafe(nil), insert_text_mode: T.unsafe(nil), completion_list: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#67
+ def attributes; end
+
+ # The client supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ snippetSupport?: boolean; commitCharactersSupport?: boolean; documentationFormat?: MarkupKind[]; deprecatedSupport?: boolean; preselectSupport?: boolean; tagSupport?: { valueSet: 1[]; }; insertReplaceSupport?: boolean; resolveSupport?: { ...; }; insertTextModeSupport?: { ...; }; labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#31
+ def completion_item; end
+
+ # @return [{ valueSet?: CompletionItemKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#36
+ def completion_item_kind; end
+
+ # The client supports the following `CompletionList` specific
+ # capabilities.
+ #
+ # @return [{ itemDefaults?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#63
+ def completion_list; end
+
+ # The client supports to send additional context information for a
+ # `textDocument/completion` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#45
+ def context_support; end
+
+ # Whether completion supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#22
+ def dynamic_registration; end
+
+ # The client's default when the completion item doesn't provide a
+ # `insertTextMode` property.
+ #
+ # @return [InsertTextMode]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#54
+ def insert_text_mode; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_client_capabilities.rb#73
+ def to_json(*args); end
+end
+
+# Contains additional information about the context in which a completion
+# request is triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#8
+class LanguageServer::Protocol::Interface::CompletionContext
+ # @return [CompletionContext] a new instance of CompletionContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#9
+ def initialize(trigger_kind:, trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#36
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#42
+ def to_json(*args); end
+
+ # The trigger character (a single character) that has trigger code
+ # complete. Is undefined if
+ # `triggerKind !== CompletionTriggerKind.TriggerCharacter`
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#32
+ def trigger_character; end
+
+ # How the completion was triggered.
+ #
+ # @return [CompletionTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_context.rb#22
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#4
+class LanguageServer::Protocol::Interface::CompletionItem
+ # @return [CompletionItem] a new instance of CompletionItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#5
+ def initialize(label:, label_details: T.unsafe(nil), kind: T.unsafe(nil), tags: T.unsafe(nil), detail: T.unsafe(nil), documentation: T.unsafe(nil), deprecated: T.unsafe(nil), preselect: T.unsafe(nil), sort_text: T.unsafe(nil), filter_text: T.unsafe(nil), insert_text: T.unsafe(nil), insert_text_format: T.unsafe(nil), insert_text_mode: T.unsafe(nil), text_edit: T.unsafe(nil), text_edit_text: T.unsafe(nil), additional_text_edits: T.unsafe(nil), commit_characters: T.unsafe(nil), command: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # An optional array of additional text edits that are applied when
+ # selecting this completion. Edits must not overlap (including the same
+ # insert position) with the main edit nor with themselves.
+ #
+ # Additional text edits should be used to change text unrelated to the
+ # current cursor position (for example adding an import statement at the
+ # top of the file if the completion item will insert an unqualified type).
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#221
+ def additional_text_edits; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#255
+ def attributes; end
+
+ # An optional command that is executed *after* inserting this completion.
+ # *Note* that additional modifications to the current document should be
+ # described with the additionalTextEdits-property.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#242
+ def command; end
+
+ # An optional set of characters that when pressed while this completion is
+ # active will accept it first and then type that character. *Note* that all
+ # commit characters should have `length=1` and that superfluous characters
+ # will be ignored.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#232
+ def commit_characters; end
+
+ # A data entry field that is preserved on a completion item between
+ # a completion and a completion resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#251
+ def data; end
+
+ # Indicates if this item is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#92
+ def deprecated; end
+
+ # A human-readable string with additional information
+ # about this item, like type or symbol information.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#76
+ def detail; end
+
+ # A human-readable string that represents a doc-comment.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#84
+ def documentation; end
+
+ # A string that should be used when filtering a set of
+ # completion items. When `falsy` the label is used as the
+ # filter text for this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#124
+ def filter_text; end
+
+ # A string that should be inserted into a document when selecting
+ # this completion. When `falsy` the label is used as the insert text
+ # for this item.
+ #
+ # The `insertText` is subject to interpretation by the client side.
+ # Some tools might not take the string literally. For example
+ # VS Code when code complete is requested in this example
+ # `con` and a completion item with an `insertText` of
+ # `console` is provided it will only insert `sole`. Therefore it is
+ # recommended to use `textEdit` instead since it avoids additional client
+ # side interpretation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#142
+ def insert_text; end
+
+ # The format of the insert text. The format applies to both the
+ # `insertText` property and the `newText` property of a provided
+ # `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
+ #
+ # Please note that the insertTextFormat doesn't apply to
+ # `additionalTextEdits`.
+ #
+ # @return [InsertTextFormat]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#155
+ def insert_text_format; end
+
+ # How whitespace and indentation is handled during completion
+ # item insertion. If not provided the client's default value depends on
+ # the `textDocument.completion.insertTextMode` client capability.
+ #
+ # @return [InsertTextMode]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#165
+ def insert_text_mode; end
+
+ # The kind of this completion item. Based of the kind
+ # an icon is chosen by the editor. The standardized set
+ # of available values is defined in `CompletionItemKind`.
+ #
+ # @return [CompletionItemKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#59
+ def kind; end
+
+ # The label of this completion item.
+ #
+ # The label property is also by default the text that
+ # is inserted when selecting this completion.
+ #
+ # If label details are provided the label itself should
+ # be an unqualified name of the completion item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#41
+ def label; end
+
+ # Additional details for the label
+ #
+ # @return [CompletionItemLabelDetails]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#49
+ def label_details; end
+
+ # Select this item when showing.
+ #
+ # *Note* that only one completion item can be selected and that the
+ # tool / client decides which item that is. The rule is that the *first*
+ # item of those that match best is selected.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#104
+ def preselect; end
+
+ # A string that should be used when comparing this item
+ # with other items. When `falsy` the label is used
+ # as the sort text for this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#114
+ def sort_text; end
+
+ # Tags for this completion item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#67
+ def tags; end
+
+ # An edit which is applied to a document when selecting this completion.
+ # When an edit is provided the value of `insertText` is ignored.
+ #
+ # *Note:* The range of the edit must be a single line range and it must
+ # contain the position at which completion has been requested.
+ #
+ # Most editors support two different operations when accepting a completion
+ # item. One is to insert a completion text and the other is to replace an
+ # existing text with a completion text. Since this can usually not be
+ # predetermined by a server it can report both ranges. Clients need to
+ # signal support for `InsertReplaceEdit`s via the
+ # `textDocument.completion.completionItem.insertReplaceSupport` client
+ # capability property.
+ #
+ # *Note 1:* The text edit's range as well as both ranges from an insert
+ # replace edit must be a [single line] and they must contain the position
+ # at which completion has been requested.
+ # *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
+ # must be a prefix of the edit's replace range, that means it must be
+ # contained and starting at the same position.
+ #
+ # @return [TextEdit | InsertReplaceEdit]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#192
+ def text_edit; end
+
+ # The edit text used if the completion item is part of a CompletionList and
+ # CompletionList defines an item default for the text edit range.
+ #
+ # Clients will only honor this property if they opt into completion list
+ # item defaults using the capability `completionList.itemDefaults`.
+ #
+ # If not provided and a list's default range is provided the label
+ # property is used as a text.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#207
+ def text_edit_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#257
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item.rb#261
+ def to_json(*args); end
+end
+
+# Additional details for a completion item label.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#7
+class LanguageServer::Protocol::Interface::CompletionItemLabelDetails
+ # @return [CompletionItemLabelDetails] a new instance of CompletionItemLabelDetails
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#8
+ def initialize(detail: T.unsafe(nil), description: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#37
+ def attributes; end
+
+ # An optional string which is rendered less prominently after
+ # {@link CompletionItemLabelDetails.detail}. Should be used for fully qualified
+ # names or file path.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#33
+ def description; end
+
+ # An optional string which is rendered less prominently directly after
+ # {@link CompletionItem.label label}, without any spacing. Should be
+ # used for function signatures or type annotations.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#23
+ def detail; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_item_label_details.rb#43
+ def to_json(*args); end
+end
+
+# Represents a collection of [completion items](#CompletionItem) to be
+# presented in the editor.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#8
+class LanguageServer::Protocol::Interface::CompletionList
+ # @return [CompletionList] a new instance of CompletionList
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#9
+ def initialize(is_incomplete:, items:, item_defaults: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#57
+ def attributes; end
+
+ # This list is not complete. Further typing should result in recomputing
+ # this list.
+ #
+ # Recomputed lists have all their items replaced (not appended) in the
+ # incomplete completion sessions.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#27
+ def is_incomplete; end
+
+ # In many cases the items of an actual completion result share the same
+ # value for properties like `commitCharacters` or the range of a text
+ # edit. A completion list can therefore define item defaults which will
+ # be used if a completion item itself doesn't specify the value.
+ #
+ # If a completion list specifies a default value and a completion item
+ # also specifies a corresponding value the one from the item is used.
+ #
+ # Servers are only allowed to return default values if the client
+ # signals support for this via the `completionList.itemDefaults`
+ # capability.
+ #
+ # @return [{ commitCharacters?: string[]; editRange?: Range | { insert: Range; replace: Range; }; insertTextFormat?: InsertTextFormat; insertTextMode?: InsertTextMode; data?: LSPAny; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#45
+ def item_defaults; end
+
+ # The completion items.
+ #
+ # @return [CompletionItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#53
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_list.rb#63
+ def to_json(*args); end
+end
+
+# Completion options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#7
+class LanguageServer::Protocol::Interface::CompletionOptions
+ # @return [CompletionOptions] a new instance of CompletionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end
+
+ # The list of all possible characters that commit a completion. This field
+ # can be used if clients don't support individual commit characters per
+ # completion item. See client capability
+ # `completion.completionItem.commitCharactersSupport`.
+ #
+ # If a server provides both `allCommitCharacters` and commit characters on
+ # an individual completion item the ones on the completion item win.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#53
+ def all_commit_characters; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#75
+ def attributes; end
+
+ # The server supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#71
+ def completion_item; end
+
+ # The server provides support to resolve additional
+ # information for a completion item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#62
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#77
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#81
+ def to_json(*args); end
+
+ # The additional characters, beyond the defaults provided by the client (typically
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
+ # `.` in JavaScript represents the beginning of an object property or method and is
+ # thus a good candidate for triggering a completion request.
+ #
+ # Most tools trigger a completion request automatically without explicitly
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
+ # do so when the user starts to type an identifier. For example if the user
+ # types `c` in a JavaScript file code complete will automatically pop up
+ # present `console` besides others as a completion item. Characters that
+ # make up identifiers don't need to be listed here.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#39
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_options.rb#21
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#4
+class LanguageServer::Protocol::Interface::CompletionParams
+ # @return [CompletionParams] a new instance of CompletionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), context: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#60
+ def attributes; end
+
+ # The completion context. This is only available if the client specifies
+ # to send this using the client capability
+ # `completion.contextSupport === true`
+ #
+ # @return [CompletionContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#56
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#46
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#29
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#66
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_params.rb#37
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#4
+class LanguageServer::Protocol::Interface::CompletionRegistrationOptions
+ # @return [CompletionRegistrationOptions] a new instance of CompletionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), all_commit_characters: T.unsafe(nil), resolve_provider: T.unsafe(nil), completion_item: T.unsafe(nil)); end
+
+ # The list of all possible characters that commit a completion. This field
+ # can be used if clients don't support individual commit characters per
+ # completion item. See client capability
+ # `completion.completionItem.commitCharactersSupport`.
+ #
+ # If a server provides both `allCommitCharacters` and commit characters on
+ # an individual completion item the ones on the completion item win.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#60
+ def all_commit_characters; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#82
+ def attributes; end
+
+ # The server supports the following `CompletionItem` specific
+ # capabilities.
+ #
+ # @return [{ labelDetailsSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#78
+ def completion_item; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#23
+ def document_selector; end
+
+ # The server provides support to resolve additional
+ # information for a completion item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#69
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#84
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#88
+ def to_json(*args); end
+
+ # The additional characters, beyond the defaults provided by the client (typically
+ # [a-zA-Z]), that should automatically trigger a completion request. For example
+ # `.` in JavaScript represents the beginning of an object property or method and is
+ # thus a good candidate for triggering a completion request.
+ #
+ # Most tools trigger a completion request automatically without explicitly
+ # requesting it using a keyboard shortcut (e.g. Ctrl+Space). Typically they
+ # do so when the user starts to type an identifier. For example if the user
+ # types `c` in a JavaScript file code complete will automatically pop up
+ # present `console` besides others as a completion item. Characters that
+ # make up identifiers don't need to be listed here.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#46
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/completion_registration_options.rb#28
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#4
+class LanguageServer::Protocol::Interface::ConfigurationItem
+ # @return [ConfigurationItem] a new instance of ConfigurationItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#5
+ def initialize(scope_uri: T.unsafe(nil), section: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#30
+ def attributes; end
+
+ # The scope to get the configuration section for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#18
+ def scope_uri; end
+
+ # The configuration section asked for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#26
+ def section; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_item.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#4
+class LanguageServer::Protocol::Interface::ConfigurationParams
+ # @return [ConfigurationParams] a new instance of ConfigurationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#5
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#18
+ def attributes; end
+
+ # @return [ConfigurationItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#14
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/configuration_params.rb#24
+ def to_json(*args); end
+end
+
+# Create file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#7
+class LanguageServer::Protocol::Interface::CreateFile
+ # @return [CreateFile] a new instance of CreateFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#8
+ def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#47
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#51
+ def attributes; end
+
+ # A create
+ #
+ # @return ["create"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#23
+ def kind; end
+
+ # Additional options
+ #
+ # @return [CreateFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#39
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#57
+ def to_json(*args); end
+
+ # The resource to create.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file.rb#31
+ def uri; end
+end
+
+# Options to create a file.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#7
+class LanguageServer::Protocol::Interface::CreateFileOptions
+ # @return [CreateFileOptions] a new instance of CreateFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#8
+ def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#33
+ def attributes; end
+
+ # Ignore if exists.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#29
+ def ignore_if_exists; end
+
+ # Overwrite existing file. Overwrite wins over `ignoreIfExists`
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#21
+ def overwrite; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated creation
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#8
+class LanguageServer::Protocol::Interface::CreateFilesParams
+ # @return [CreateFilesParams] a new instance of CreateFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#25
+ def attributes; end
+
+ # An array of all files/folders created in this operation.
+ #
+ # @return [FileCreate[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#21
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/create_files_params.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DeclarationClientCapabilities
+ # @return [DeclarationClientCapabilities] a new instance of DeclarationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether declaration supports dynamic registration. If this is set to
+ # `true` the client supports the new `DeclarationRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of declaration links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#4
+class LanguageServer::Protocol::Interface::DeclarationOptions
+ # @return [DeclarationOptions] a new instance of DeclarationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#4
+class LanguageServer::Protocol::Interface::DeclarationParams
+ # @return [DeclarationParams] a new instance of DeclarationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DeclarationRegistrationOptions
+ # @return [DeclarationRegistrationOptions] a new instance of DeclarationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#25
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/declaration_registration_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DefinitionClientCapabilities
+ # @return [DefinitionClientCapabilities] a new instance of DefinitionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether definition supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#26
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#4
+class LanguageServer::Protocol::Interface::DefinitionOptions
+ # @return [DefinitionOptions] a new instance of DefinitionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#4
+class LanguageServer::Protocol::Interface::DefinitionParams
+ # @return [DefinitionParams] a new instance of DefinitionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DefinitionRegistrationOptions
+ # @return [DefinitionRegistrationOptions] a new instance of DefinitionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/definition_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# Delete file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#7
+class LanguageServer::Protocol::Interface::DeleteFile
+ # @return [DeleteFile] a new instance of DeleteFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#8
+ def initialize(kind:, uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#47
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#51
+ def attributes; end
+
+ # A delete
+ #
+ # @return ["delete"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#23
+ def kind; end
+
+ # Delete options.
+ #
+ # @return [DeleteFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#39
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#57
+ def to_json(*args); end
+
+ # The file to delete.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file.rb#31
+ def uri; end
+end
+
+# Delete file options
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#7
+class LanguageServer::Protocol::Interface::DeleteFileOptions
+ # @return [DeleteFileOptions] a new instance of DeleteFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#8
+ def initialize(recursive: T.unsafe(nil), ignore_if_not_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#33
+ def attributes; end
+
+ # Ignore the operation if the file doesn't exist.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#29
+ def ignore_if_not_exists; end
+
+ # Delete the content recursively if a folder is denoted.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#21
+ def recursive; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated deletes
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#8
+class LanguageServer::Protocol::Interface::DeleteFilesParams
+ # @return [DeleteFilesParams] a new instance of DeleteFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#25
+ def attributes; end
+
+ # An array of all files/folders deleted in this operation.
+ #
+ # @return [FileDelete[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#21
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/delete_files_params.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#4
+class LanguageServer::Protocol::Interface::Diagnostic
+ # @return [Diagnostic] a new instance of Diagnostic
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#5
+ def initialize(range:, message:, severity: T.unsafe(nil), code: T.unsafe(nil), code_description: T.unsafe(nil), source: T.unsafe(nil), tags: T.unsafe(nil), related_information: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#98
+ def attributes; end
+
+ # The diagnostic's code, which might appear in the user interface.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#42
+ def code; end
+
+ # An optional property to describe the error code.
+ #
+ # @return [CodeDescription]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#50
+ def code_description; end
+
+ # A data entry field that is preserved between a
+ # `textDocument/publishDiagnostics` notification and
+ # `textDocument/codeAction` request.
+ #
+ # @return [unknown]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#94
+ def data; end
+
+ # The diagnostic's message.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#67
+ def message; end
+
+ # The range at which the message applies.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#25
+ def range; end
+
+ # An array of related diagnostic information, e.g. when symbol-names within
+ # a scope collide all definitions can be marked via this property.
+ #
+ # @return [DiagnosticRelatedInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#84
+ def related_information; end
+
+ # The diagnostic's severity. Can be omitted. If omitted it is up to the
+ # client to interpret diagnostics as error, warning, info or hint.
+ #
+ # @return [DiagnosticSeverity]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#34
+ def severity; end
+
+ # A human-readable string describing the source of this
+ # diagnostic, e.g. 'typescript' or 'super lint'.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#59
+ def source; end
+
+ # Additional metadata about the diagnostic.
+ #
+ # @return [DiagnosticTag[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#75
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#100
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic.rb#104
+ def to_json(*args); end
+end
+
+# Client capabilities specific to diagnostic pull requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticClientCapabilities
+ # @return [DiagnosticClientCapabilities] a new instance of DiagnosticClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), related_document_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#37
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # Whether the clients supports related documents for document diagnostic
+ # pulls.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#33
+ def related_document_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_client_capabilities.rb#43
+ def to_json(*args); end
+end
+
+# Diagnostic options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticOptions
+ # @return [DiagnosticOptions] a new instance of DiagnosticOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#8
+ def initialize(inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#52
+ def attributes; end
+
+ # An optional identifier under which the diagnostics are
+ # managed by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#29
+ def identifier; end
+
+ # Whether the language has inter file dependencies meaning that
+ # editing code in one file can result in a different diagnostic
+ # set in another file. Inter file dependencies are common for
+ # most programming languages and typically uncommon for linters.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#40
+ def inter_file_dependencies; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#58
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#20
+ def work_done_progress; end
+
+ # The server provides support for workspace diagnostics as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_options.rb#48
+ def workspace_diagnostics; end
+end
+
+# Diagnostic registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticRegistrationOptions
+ # @return [DiagnosticRegistrationOptions] a new instance of DiagnosticRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#8
+ def initialize(document_selector:, inter_file_dependencies:, workspace_diagnostics:, work_done_progress: T.unsafe(nil), identifier: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#72
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#26
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#68
+ def id; end
+
+ # An optional identifier under which the diagnostics are
+ # managed by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#40
+ def identifier; end
+
+ # Whether the language has inter file dependencies meaning that
+ # editing code in one file can result in a different diagnostic
+ # set in another file. Inter file dependencies are common for
+ # most programming languages and typically uncommon for linters.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#51
+ def inter_file_dependencies; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#74
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#78
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#31
+ def work_done_progress; end
+
+ # The server provides support for workspace diagnostics as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_registration_options.rb#59
+ def workspace_diagnostics; end
+end
+
+# Represents a related message and source code location for a diagnostic.
+# This should be used to point to code locations that cause or are related to
+# a diagnostics, e.g when duplicating a symbol in a scope.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#9
+class LanguageServer::Protocol::Interface::DiagnosticRelatedInformation
+ # @return [DiagnosticRelatedInformation] a new instance of DiagnosticRelatedInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#10
+ def initialize(location:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#35
+ def attributes; end
+
+ # The location of this related diagnostic information.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#23
+ def location; end
+
+ # The message of this related diagnostic information.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#31
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_related_information.rb#41
+ def to_json(*args); end
+end
+
+# Cancellation data returned from a diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticServerCancellationData
+ # @return [DiagnosticServerCancellationData] a new instance of DiagnosticServerCancellationData
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#8
+ def initialize(retrigger_request:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#21
+ def attributes; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#17
+ def retrigger_request; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb#27
+ def to_json(*args); end
+end
+
+# Workspace client capabilities specific to diagnostic pull requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::DiagnosticWorkspaceClientCapabilities
+ # @return [DiagnosticWorkspaceClientCapabilities] a new instance of DiagnosticWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # pulled diagnostics currently shown. It should be used with absolute care
+ # and is useful for situation where a server for example detects a project
+ # wide change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DidChangeConfigurationClientCapabilities
+ # @return [DidChangeConfigurationClientCapabilities] a new instance of DidChangeConfigurationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#21
+ def attributes; end
+
+ # Did change configuration notification supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeConfigurationParams
+ # @return [DidChangeConfigurationParams] a new instance of DidChangeConfigurationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#5
+ def initialize(settings:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#21
+ def attributes; end
+
+ # The actual changed settings
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#17
+ def settings; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_configuration_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a change notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidChangeNotebookDocumentParams
+ # @return [DidChangeNotebookDocumentParams] a new instance of DidChangeNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#8
+ def initialize(notebook_document:, change:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#44
+ def attributes; end
+
+ # The actual changes to the notebook document.
+ #
+ # The change describes single state change to the notebook document.
+ # So it moves a notebook document, its cells and its cell text document
+ # contents from state S to S'.
+ #
+ # To mirror the content of a notebook using change events use the
+ # following approach:
+ # - start with the same initial content
+ # - apply the 'notebookDocument/didChange' notifications in the order
+ # you receive them.
+ #
+ # @return [NotebookDocumentChangeEvent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#40
+ def change; end
+
+ # The notebook document that did change. The version number points
+ # to the version after all provided changes have been applied.
+ #
+ # @return [VersionedNotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#22
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_notebook_document_params.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeTextDocumentParams
+ # @return [DidChangeTextDocumentParams] a new instance of DidChangeTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#5
+ def initialize(text_document:, content_changes:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#44
+ def attributes; end
+
+ # The actual content changes. The content changes describe single state
+ # changes to the document. So if there are two content changes c1 (at
+ # array index 0) and c2 (at array index 1) for a document in state S then
+ # c1 moves the document from S to S' and c2 from S' to S''. So c1 is
+ # computed on the state S and c2 is computed on the state S'.
+ #
+ # To mirror the content of a document using change events use the following
+ # approach:
+ # - start with the same initial content
+ # - apply the 'textDocument/didChange' notifications in the order you
+ # receive them.
+ # - apply the `TextDocumentContentChangeEvent`s in a single notification
+ # in the order you receive them.
+ #
+ # @return [TextDocumentContentChangeEvent[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#40
+ def content_changes; end
+
+ # The document that did change. The version number points
+ # to the version after all provided content changes have
+ # been applied.
+ #
+ # @return [VersionedTextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_text_document_params.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesClientCapabilities
+ # @return [DidChangeWatchedFilesClientCapabilities] a new instance of DidChangeWatchedFilesClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), relative_pattern_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#33
+ def attributes; end
+
+ # Did change watched files notification supports dynamic registration.
+ # Please note that the current protocol doesn't support static
+ # configuration for file changes from the server side.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # Whether the client has support for relative patterns
+ # or not.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#29
+ def relative_pattern_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesParams
+ # @return [DidChangeWatchedFilesParams] a new instance of DidChangeWatchedFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#5
+ def initialize(changes:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#21
+ def attributes; end
+
+ # The actual file events.
+ #
+ # @return [FileEvent[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#17
+ def changes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_params.rb#27
+ def to_json(*args); end
+end
+
+# Describe options to be used when registering for file system change events.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#7
+class LanguageServer::Protocol::Interface::DidChangeWatchedFilesRegistrationOptions
+ # @return [DidChangeWatchedFilesRegistrationOptions] a new instance of DidChangeWatchedFilesRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#8
+ def initialize(watchers:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#30
+ def to_json(*args); end
+
+ # The watchers to register.
+ #
+ # @return [FileSystemWatcher[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb#20
+ def watchers; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#4
+class LanguageServer::Protocol::Interface::DidChangeWorkspaceFoldersParams
+ # @return [DidChangeWorkspaceFoldersParams] a new instance of DidChangeWorkspaceFoldersParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#5
+ def initialize(event:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#21
+ def attributes; end
+
+ # The actual workspace folder change event.
+ #
+ # @return [WorkspaceFoldersChangeEvent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#17
+ def event; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_change_workspace_folders_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a close notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidCloseNotebookDocumentParams
+ # @return [DidCloseNotebookDocumentParams] a new instance of DidCloseNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#8
+ def initialize(notebook_document:, cell_text_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#34
+ def attributes; end
+
+ # The text documents that represent the content
+ # of a notebook cell that got closed.
+ #
+ # @return [TextDocumentIdentifier[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#30
+ def cell_text_documents; end
+
+ # The notebook document that got closed.
+ #
+ # @return [NotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#21
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_notebook_document_params.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidCloseTextDocumentParams
+ # @return [DidCloseTextDocumentParams] a new instance of DidCloseTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#5
+ def initialize(text_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#21
+ def attributes; end
+
+ # The document that was closed.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#17
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_close_text_document_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in an open notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidOpenNotebookDocumentParams
+ # @return [DidOpenNotebookDocumentParams] a new instance of DidOpenNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#8
+ def initialize(notebook_document:, cell_text_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#34
+ def attributes; end
+
+ # The text documents that represent the content
+ # of a notebook cell.
+ #
+ # @return [TextDocumentItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#30
+ def cell_text_documents; end
+
+ # The notebook document that got opened.
+ #
+ # @return [NotebookDocument]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#21
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_notebook_document_params.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidOpenTextDocumentParams
+ # @return [DidOpenTextDocumentParams] a new instance of DidOpenTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#5
+ def initialize(text_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#21
+ def attributes; end
+
+ # The document that was opened.
+ #
+ # @return [TextDocumentItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#17
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_open_text_document_params.rb#27
+ def to_json(*args); end
+end
+
+# The params sent in a save notebook document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#7
+class LanguageServer::Protocol::Interface::DidSaveNotebookDocumentParams
+ # @return [DidSaveNotebookDocumentParams] a new instance of DidSaveNotebookDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#8
+ def initialize(notebook_document:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#24
+ def attributes; end
+
+ # The notebook document that got saved.
+ #
+ # @return [NotebookDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#20
+ def notebook_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_notebook_document_params.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#4
+class LanguageServer::Protocol::Interface::DidSaveTextDocumentParams
+ # @return [DidSaveTextDocumentParams] a new instance of DidSaveTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#5
+ def initialize(text_document:, text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#31
+ def attributes; end
+
+ # Optional the content when saved. Depends on the includeText value
+ # when the save notification was requested.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#27
+ def text; end
+
+ # The document that was saved.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/did_save_text_document_params.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorClientCapabilities
+ # @return [DocumentColorClientCapabilities] a new instance of DocumentColorClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether document color supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorOptions
+ # @return [DocumentColorOptions] a new instance of DocumentColorOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorParams
+ # @return [DocumentColorParams] a new instance of DocumentColorParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentColorRegistrationOptions
+ # @return [DocumentColorRegistrationOptions] a new instance of DocumentColorRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#5
+ def initialize(document_selector:, id: T.unsafe(nil), work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#29
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_color_registration_options.rb#34
+ def work_done_progress; end
+end
+
+# Parameters of the document diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#7
+class LanguageServer::Protocol::Interface::DocumentDiagnosticParams
+ # @return [DocumentDiagnosticParams] a new instance of DocumentDiagnosticParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#8
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil), previous_result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#61
+ def attributes; end
+
+ # The additional identifier provided during registration.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#49
+ def identifier; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#33
+ def partial_result_token; end
+
+ # The result id of a previous response if provided.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#57
+ def previous_result_id; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#41
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#67
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_params.rb#24
+ def work_done_token; end
+end
+
+# A partial result for a document diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#7
+class LanguageServer::Protocol::Interface::DocumentDiagnosticReportPartialResult
+ # @return [DocumentDiagnosticReportPartialResult] a new instance of DocumentDiagnosticReportPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#8
+ def initialize(related_documents:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#21
+ def attributes; end
+
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#17
+ def related_documents; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#4
+class LanguageServer::Protocol::Interface::DocumentFilter
+ # @return [DocumentFilter] a new instance of DocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#5
+ def initialize(language: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#51
+ def attributes; end
+
+ # A language id, like `typescript`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#19
+ def language; end
+
+ # A glob pattern, like `*.{ts,js}`.
+ #
+ # Glob patterns can have the following syntax:
+ # - `*` to match one or more characters in a path segment
+ # - `?` to match on one character in a path segment
+ # - `**` to match any number of path segments, including none
+ # - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}`
+ # matches all TypeScript and JavaScript files)
+ # - `[]` to declare a range of characters to match in a path segment
+ # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
+ # - `[!...]` 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`)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#47
+ def pattern; end
+
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#27
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_filter.rb#57
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingClientCapabilities
+ # @return [DocumentFormattingClientCapabilities] a new instance of DocumentFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingOptions
+ # @return [DocumentFormattingOptions] a new instance of DocumentFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingParams
+ # @return [DocumentFormattingParams] a new instance of DocumentFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#5
+ def initialize(text_document:, options:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#39
+ def attributes; end
+
+ # The format options.
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#35
+ def options; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#27
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentFormattingRegistrationOptions
+ # @return [DocumentFormattingRegistrationOptions] a new instance of DocumentFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_formatting_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A document highlight is a range inside a text document which deserves
+# special attention. Usually a document highlight is visualized by changing
+# the background color of its range.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#9
+class LanguageServer::Protocol::Interface::DocumentHighlight
+ # @return [DocumentHighlight] a new instance of DocumentHighlight
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#10
+ def initialize(range:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#35
+ def attributes; end
+
+ # The highlight kind, default is DocumentHighlightKind.Text.
+ #
+ # @return [DocumentHighlightKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#31
+ def kind; end
+
+ # The range this highlight applies to.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#23
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight.rb#41
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightClientCapabilities
+ # @return [DocumentHighlightClientCapabilities] a new instance of DocumentHighlightClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether document highlight supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightOptions
+ # @return [DocumentHighlightOptions] a new instance of DocumentHighlightOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightParams
+ # @return [DocumentHighlightParams] a new instance of DocumentHighlightParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentHighlightRegistrationOptions
+ # @return [DocumentHighlightRegistrationOptions] a new instance of DocumentHighlightRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_highlight_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A document link is a range in a text document that links to an internal or
+# external resource, like another text document or a web site.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#8
+class LanguageServer::Protocol::Interface::DocumentLink
+ # @return [DocumentLink] a new instance of DocumentLink
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#9
+ def initialize(range:, target: T.unsafe(nil), tooltip: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#58
+ def attributes; end
+
+ # A data entry field that is preserved on a document link between a
+ # DocumentLinkRequest and a DocumentLinkResolveRequest.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#54
+ def data; end
+
+ # The range this link applies to.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#24
+ def range; end
+
+ # The uri this link points to. If missing a resolve request is sent later.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#32
+ def target; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#64
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this link.
+ #
+ # If a tooltip is provided, is will be displayed in a string that includes
+ # instructions on how to trigger the link, such as `{0} (ctrl + click)`.
+ # The specific instructions vary depending on OS, user settings, and
+ # localization.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link.rb#45
+ def tooltip; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkClientCapabilities
+ # @return [DocumentLinkClientCapabilities] a new instance of DocumentLinkClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), tooltip_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether document link supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#36
+ def to_json(*args); end
+
+ # Whether the client supports the `tooltip` property on `DocumentLink`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_client_capabilities.rb#26
+ def tooltip_support; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkOptions
+ # @return [DocumentLinkOptions] a new instance of DocumentLinkOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#27
+ def attributes; end
+
+ # Document links have a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#23
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkParams
+ # @return [DocumentLinkParams] a new instance of DocumentLinkParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#28
+ def partial_result_token; end
+
+ # The document to provide document links for.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentLinkRegistrationOptions
+ # @return [DocumentLinkRegistrationOptions] a new instance of DocumentLinkRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#20
+ def document_selector; end
+
+ # Document links have a resolve provider as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#33
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_link_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingClientCapabilities
+ # @return [DocumentOnTypeFormattingClientCapabilities] a new instance of DocumentOnTypeFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether on type formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingOptions
+ # @return [DocumentOnTypeFormattingOptions] a new instance of DocumentOnTypeFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#5
+ def initialize(first_trigger_character:, more_trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#30
+ def attributes; end
+
+ # A character on which formatting should be triggered, like `{`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#18
+ def first_trigger_character; end
+
+ # More trigger characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#26
+ def more_trigger_character; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_options.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingParams
+ # @return [DocumentOnTypeFormattingParams] a new instance of DocumentOnTypeFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#5
+ def initialize(text_document:, position:, ch:, options:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#53
+ def attributes; end
+
+ # The character that has been typed that triggered the formatting
+ # on type request. That is not necessarily the last character that
+ # got inserted into the document since the client could auto insert
+ # characters as well (e.g. like automatic brace completion).
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#41
+ def ch; end
+
+ # The formatting options.
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#49
+ def options; end
+
+ # The position around which the on type formatting should happen.
+ # This is not necessarily the exact position where the character denoted
+ # by the property `ch` got typed.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#30
+ def position; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#55
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_params.rb#59
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentOnTypeFormattingRegistrationOptions
+ # @return [DocumentOnTypeFormattingRegistrationOptions] a new instance of DocumentOnTypeFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#5
+ def initialize(document_selector:, first_trigger_character:, more_trigger_character: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#40
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#20
+ def document_selector; end
+
+ # A character on which formatting should be triggered, like `{`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#28
+ def first_trigger_character; end
+
+ # More trigger characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#36
+ def more_trigger_character; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingClientCapabilities
+ # @return [DocumentRangeFormattingClientCapabilities] a new instance of DocumentRangeFormattingClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether formatting supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingOptions
+ # @return [DocumentRangeFormattingOptions] a new instance of DocumentRangeFormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingParams
+ # @return [DocumentRangeFormattingParams] a new instance of DocumentRangeFormattingParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#5
+ def initialize(text_document:, range:, options:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#48
+ def attributes; end
+
+ # The format options
+ #
+ # @return [FormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#44
+ def options; end
+
+ # The range to format
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#36
+ def range; end
+
+ # The document to format.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#28
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#50
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#54
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentRangeFormattingRegistrationOptions
+ # @return [DocumentRangeFormattingRegistrationOptions] a new instance of DocumentRangeFormattingRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_range_formatting_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# Represents programming constructs like variables, classes, interfaces etc.
+# that appear in a document. Document symbols can be hierarchical and they
+# have two ranges: one that encloses its definition and one that points to its
+# most interesting range, e.g. the range of an identifier.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#10
+class LanguageServer::Protocol::Interface::DocumentSymbol
+ # @return [DocumentSymbol] a new instance of DocumentSymbol
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#11
+ def initialize(name:, kind:, range:, selection_range:, detail: T.unsafe(nil), tags: T.unsafe(nil), deprecated: T.unsafe(nil), children: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#96
+ def attributes; end
+
+ # Children of this symbol, e.g. properties of a class.
+ #
+ # @return [DocumentSymbol[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#92
+ def children; end
+
+ # Indicates if this symbol is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#64
+ def deprecated; end
+
+ # More detail for this symbol, e.g the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#40
+ def detail; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#48
+ def kind; end
+
+ # The name of this symbol. Will be displayed in the user interface and
+ # therefore must not be an empty string or a string only consisting of
+ # white spaces.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#32
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else like comments. This information is typically used to
+ # determine if the clients cursor is inside the symbol to reveal in the
+ # symbol in the UI.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#75
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the `range`.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#84
+ def selection_range; end
+
+ # Tags for this document symbol.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#56
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#98
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol.rb#102
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolClientCapabilities
+ # @return [DocumentSymbolClientCapabilities] a new instance of DocumentSymbolClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), hierarchical_document_symbol_support: T.unsafe(nil), tag_support: T.unsafe(nil), label_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#61
+ def attributes; end
+
+ # Whether document symbol supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # The client supports hierarchical document symbols.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#38
+ def hierarchical_document_symbol_support; end
+
+ # The client supports an additional label presented in the UI when
+ # registering a document symbol provider.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#57
+ def label_support; end
+
+ # Specific capabilities for the `SymbolKind` in the
+ # `textDocument/documentSymbol` request.
+ #
+ # @return [{ valueSet?: SymbolKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#30
+ def symbol_kind; end
+
+ # The client supports tags on `SymbolInformation`. Tags are supported on
+ # `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: 1[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#48
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_client_capabilities.rb#67
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolOptions
+ # @return [DocumentSymbolOptions] a new instance of DocumentSymbolOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#28
+ def attributes; end
+
+ # A human-readable string that is shown when multiple outlines trees
+ # are shown for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#24
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolParams
+ # @return [DocumentSymbolParams] a new instance of DocumentSymbolParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#4
+class LanguageServer::Protocol::Interface::DocumentSymbolRegistrationOptions
+ # @return [DocumentSymbolRegistrationOptions] a new instance of DocumentSymbolRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), label: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#20
+ def document_selector; end
+
+ # A human-readable string that is shown when multiple outlines trees
+ # are shown for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#34
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/document_symbol_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandClientCapabilities
+ # @return [ExecuteCommandClientCapabilities] a new instance of ExecuteCommandClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#21
+ def attributes; end
+
+ # Execute command supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandOptions
+ # @return [ExecuteCommandOptions] a new instance of ExecuteCommandOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#5
+ def initialize(commands:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#27
+ def attributes; end
+
+ # The commands to be executed on the server
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#23
+ def commands; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#4
+class LanguageServer::Protocol::Interface::ExecuteCommandParams
+ # @return [ExecuteCommandParams] a new instance of ExecuteCommandParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#5
+ def initialize(command:, work_done_token: T.unsafe(nil), arguments: T.unsafe(nil)); end
+
+ # Arguments that the command should be invoked with.
+ #
+ # @return [LSPAny[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#35
+ def arguments; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#39
+ def attributes; end
+
+ # The identifier of the actual command handler.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#27
+ def command; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_params.rb#19
+ def work_done_token; end
+end
+
+# Execute command registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#7
+class LanguageServer::Protocol::Interface::ExecuteCommandRegistrationOptions
+ # @return [ExecuteCommandRegistrationOptions] a new instance of ExecuteCommandRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#8
+ def initialize(commands:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#30
+ def attributes; end
+
+ # The commands to be executed on the server
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#26
+ def commands; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#36
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execute_command_registration_options.rb#18
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#4
+class LanguageServer::Protocol::Interface::ExecutionSummary
+ # @return [ExecutionSummary] a new instance of ExecutionSummary
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#5
+ def initialize(execution_order:, success: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#33
+ def attributes; end
+
+ # A strict monotonically increasing value
+ # indicating the execution order of a cell
+ # inside a notebook.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#20
+ def execution_order; end
+
+ # Whether the execution was successful or
+ # not if known by the client.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#29
+ def success; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/execution_summary.rb#39
+ def to_json(*args); end
+end
+
+# Represents information on a file/folder create.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#7
+class LanguageServer::Protocol::Interface::FileCreate
+ # @return [FileCreate] a new instance of FileCreate
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#30
+ def to_json(*args); end
+
+ # A file:// URI for the location of the file/folder being created.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_create.rb#20
+ def uri; end
+end
+
+# Represents information on a file/folder delete.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#7
+class LanguageServer::Protocol::Interface::FileDelete
+ # @return [FileDelete] a new instance of FileDelete
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#30
+ def to_json(*args); end
+
+ # A file:// URI for the location of the file/folder being deleted.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_delete.rb#20
+ def uri; end
+end
+
+# An event describing a file change.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#7
+class LanguageServer::Protocol::Interface::FileEvent
+ # @return [FileEvent] a new instance of FileEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#8
+ def initialize(uri:, type:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#39
+ def to_json(*args); end
+
+ # The change type.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#29
+ def type; end
+
+ # The file's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_event.rb#21
+ def uri; end
+end
+
+# A filter to describe in which file operation requests or notifications
+# the server is interested in.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#8
+class LanguageServer::Protocol::Interface::FileOperationFilter
+ # @return [FileOperationFilter] a new instance of FileOperationFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#9
+ def initialize(pattern:, scheme: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#34
+ def attributes; end
+
+ # The actual file operation pattern.
+ #
+ # @return [FileOperationPattern]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#30
+ def pattern; end
+
+ # A Uri like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#22
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_filter.rb#40
+ def to_json(*args); end
+end
+
+# A pattern to describe in which file operation requests or notifications
+# the server is interested in.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#8
+class LanguageServer::Protocol::Interface::FileOperationPattern
+ # @return [FileOperationPattern] a new instance of FileOperationPattern
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#9
+ def initialize(glob:, matches: T.unsafe(nil), options: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#55
+ def attributes; end
+
+ # The glob pattern to match. Glob patterns can have the following syntax:
+ # - `*` to match one or more characters in a path segment
+ # - `?` to match on one character in a path segment
+ # - `**` to match any number of path segments, including none
+ # - `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}`
+ # matches all TypeScript and JavaScript files)
+ # - `[]` to declare a range of characters to match in a path segment
+ # (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
+ # - `[!...]` 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`)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#33
+ def glob; end
+
+ # Whether to match files or folders with this pattern.
+ #
+ # Matches both if undefined.
+ #
+ # @return [FileOperationPatternKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#43
+ def matches; end
+
+ # Additional options used during matching.
+ #
+ # @return [FileOperationPatternOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#51
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#57
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern.rb#61
+ def to_json(*args); end
+end
+
+# Matching options for the file operation pattern.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#7
+class LanguageServer::Protocol::Interface::FileOperationPatternOptions
+ # @return [FileOperationPatternOptions] a new instance of FileOperationPatternOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#8
+ def initialize(ignore_case: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#24
+ def attributes; end
+
+ # The pattern should be matched ignoring casing.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#20
+ def ignore_case; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_pattern_options.rb#30
+ def to_json(*args); end
+end
+
+# The options to register for file operations.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#7
+class LanguageServer::Protocol::Interface::FileOperationRegistrationOptions
+ # @return [FileOperationRegistrationOptions] a new instance of FileOperationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#8
+ def initialize(filters:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#24
+ def attributes; end
+
+ # The actual filters.
+ #
+ # @return [FileOperationFilter[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#20
+ def filters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_operation_registration_options.rb#30
+ def to_json(*args); end
+end
+
+# Represents information on a file/folder rename.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#7
+class LanguageServer::Protocol::Interface::FileRename
+ # @return [FileRename] a new instance of FileRename
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#8
+ def initialize(old_uri:, new_uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#33
+ def attributes; end
+
+ # A file:// URI for the new location of the file/folder being renamed.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#29
+ def new_uri; end
+
+ # A file:// URI for the original location of the file/folder being renamed.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#21
+ def old_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_rename.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#4
+class LanguageServer::Protocol::Interface::FileSystemWatcher
+ # @return [FileSystemWatcher] a new instance of FileSystemWatcher
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#5
+ def initialize(glob_pattern:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#33
+ def attributes; end
+
+ # The glob pattern to watch. See {@link GlobPattern glob pattern}
+ # for more detail.
+ #
+ # @return [GlobPattern]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#19
+ def glob_pattern; end
+
+ # The kind of events of interest. If omitted it defaults
+ # to WatchKind.Create | WatchKind.Change | WatchKind.Delete
+ # which is 7.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#29
+ def kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/file_system_watcher.rb#39
+ def to_json(*args); end
+end
+
+# Represents a folding range. To be valid, start and end line must be bigger
+# than zero and smaller than the number of lines in the document. Clients
+# are free to ignore invalid ranges.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#9
+class LanguageServer::Protocol::Interface::FoldingRange
+ # @return [FoldingRange] a new instance of FoldingRange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#10
+ def initialize(start_line:, end_line:, start_character: T.unsafe(nil), end_character: T.unsafe(nil), kind: T.unsafe(nil), collapsed_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#82
+ def attributes; end
+
+ # The text that the client should show when the specified range is
+ # collapsed. If not defined or not supported by the client, a default
+ # will be chosen by the client.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#78
+ def collapsed_text; end
+
+ # The zero-based character offset before the folded range ends. If not
+ # defined, defaults to the length of the end line.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#57
+ def end_character; end
+
+ # The zero-based end line of the range to fold. The folded area ends with
+ # the line's last character. To be valid, the end must be zero or larger
+ # and smaller than the number of lines in the document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#48
+ def end_line; end
+
+ # Describes the kind of the folding range such as `comment` or `region`.
+ # The kind is used to categorize folding ranges and used by commands like
+ # 'Fold all comments'. See [FoldingRangeKind](#FoldingRangeKind) for an
+ # enumeration of standardized kinds.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#68
+ def kind; end
+
+ # The zero-based character offset from where the folded range starts. If
+ # not defined, defaults to the length of the start line.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#38
+ def start_character; end
+
+ # The zero-based start line of the range to fold. The folded area starts
+ # after the line's last character. To be valid, the end must be zero or
+ # larger and smaller than the number of lines in the document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#29
+ def start_line; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#84
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range.rb#88
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeClientCapabilities
+ # @return [FoldingRangeClientCapabilities] a new instance of FoldingRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), range_limit: T.unsafe(nil), line_folding_only: T.unsafe(nil), folding_range_kind: T.unsafe(nil), folding_range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#64
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for folding range
+ # providers. If this is set to `true` the client supports the new
+ # `FoldingRangeRegistrationOptions` return value for the corresponding
+ # server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # Specific options for the folding range.
+ #
+ # @return [{ collapsedText?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#60
+ def folding_range; end
+
+ # Specific options for the folding range kind.
+ #
+ # @return [{ valueSet?: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#52
+ def folding_range_kind; end
+
+ # If set, the client signals that it only supports folding complete lines.
+ # If set, client will ignore specified `startCharacter` and `endCharacter`
+ # properties in a FoldingRange.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#44
+ def line_folding_only; end
+
+ # The maximum number of folding ranges that the client prefers to receive
+ # per document. The value serves as a hint, servers are free to follow the
+ # limit.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#34
+ def range_limit; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#66
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_client_capabilities.rb#70
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeOptions
+ # @return [FoldingRangeOptions] a new instance of FoldingRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeParams
+ # @return [FoldingRangeParams] a new instance of FoldingRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::FoldingRangeRegistrationOptions
+ # @return [FoldingRangeRegistrationOptions] a new instance of FoldingRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/folding_range_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# Value-object describing what options formatting should use.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#7
+class LanguageServer::Protocol::Interface::FormattingOptions
+ # @return [FormattingOptions] a new instance of FormattingOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#8
+ def initialize(tab_size:, insert_spaces:, trim_trailing_whitespace: T.unsafe(nil), insert_final_newline: T.unsafe(nil), trim_final_newlines: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#60
+ def attributes; end
+
+ # Insert a newline character at the end of the file if one does not exist.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#48
+ def insert_final_newline; end
+
+ # Prefer spaces over tabs.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#32
+ def insert_spaces; end
+
+ # Size of a tab in spaces.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#24
+ def tab_size; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#66
+ def to_json(*args); end
+
+ # Trim all newlines after the final newline at the end of the file.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#56
+ def trim_final_newlines; end
+
+ # Trim trailing whitespace on a line.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/formatting_options.rb#40
+ def trim_trailing_whitespace; end
+end
+
+# A diagnostic report with a full set of problems.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::FullDocumentDiagnosticReport
+ # @return [FullDocumentDiagnosticReport] a new instance of FullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#44
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#40
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#22
+ def kind; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#32
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/full_document_diagnostic_report.rb#50
+ def to_json(*args); end
+end
+
+# The result of a hover request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#7
+class LanguageServer::Protocol::Interface::Hover
+ # @return [Hover] a new instance of Hover
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#8
+ def initialize(contents:, range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#34
+ def attributes; end
+
+ # The hover's content
+ #
+ # @return [MarkupContent | MarkedString | MarkedString[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#21
+ def contents; end
+
+ # An optional range is a range inside a text document
+ # that is used to visualize a hover, e.g. by changing the background color.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#30
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::HoverClientCapabilities
+ # @return [HoverClientCapabilities] a new instance of HoverClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), content_format: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#32
+ def attributes; end
+
+ # Client supports the follow content formats if the content
+ # property refers to a `literal of type MarkupContent`.
+ # The order describes the preferred format of the client.
+ #
+ # @return [MarkupKind[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#28
+ def content_format; end
+
+ # Whether hover supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#18
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#4
+class LanguageServer::Protocol::Interface::HoverOptions
+ # @return [HoverOptions] a new instance of HoverOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#4
+class LanguageServer::Protocol::Interface::HoverParams
+ # @return [HoverParams] a new instance of HoverParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#4
+class LanguageServer::Protocol::Interface::HoverRegistrationOptions
+ # @return [HoverRegistrationOptions] a new instance of HoverRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#4
+class LanguageServer::Protocol::Interface::HoverResult
+ # @return [HoverResult] a new instance of HoverResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#5
+ def initialize(value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#24
+ def to_json(*args); end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/hover_result.rb#14
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ImplementationClientCapabilities
+ # @return [ImplementationClientCapabilities] a new instance of ImplementationClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `ImplementationRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#4
+class LanguageServer::Protocol::Interface::ImplementationOptions
+ # @return [ImplementationOptions] a new instance of ImplementationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#4
+class LanguageServer::Protocol::Interface::ImplementationParams
+ # @return [ImplementationParams] a new instance of ImplementationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#4
+class LanguageServer::Protocol::Interface::ImplementationRegistrationOptions
+ # @return [ImplementationRegistrationOptions] a new instance of ImplementationRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/implementation_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#4
+class LanguageServer::Protocol::Interface::InitializeError
+ # @return [InitializeError] a new instance of InitializeError
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#5
+ def initialize(retry:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#24
+ def attributes; end
+
+ # Indicates whether the client execute the following retry logic:
+ # (1) show the message provided by the ResponseError to the user
+ # (2) user selects retry or cancel
+ # (3) if user selected retry the initialize method is sent again.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#20
+ def retry; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_error.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#4
+class LanguageServer::Protocol::Interface::InitializeParams
+ # @return [InitializeParams] a new instance of InitializeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#5
+ def initialize(process_id:, root_uri:, capabilities:, work_done_token: T.unsafe(nil), client_info: T.unsafe(nil), locale: T.unsafe(nil), root_path: T.unsafe(nil), initialization_options: T.unsafe(nil), trace: T.unsafe(nil), workspace_folders: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#116
+ def attributes; end
+
+ # The capabilities provided by the client (editor or tool)
+ #
+ # @return [ClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#93
+ def capabilities; end
+
+ # Information about the client
+ #
+ # @return [{ name: string; version?: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#45
+ def client_info; end
+
+ # User provided initialization options.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#85
+ def initialization_options; end
+
+ # The locale the client is currently showing the user interface
+ # in. This must not necessarily be the locale of the operating
+ # system.
+ #
+ # Uses IETF language tags as the value's syntax
+ # (See https://en.wikipedia.org/wiki/IETF_language_tag)
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#58
+ def locale; end
+
+ # The process Id of the parent process that started the server. Is null if
+ # the process has not been started by another process. If the parent
+ # process is not alive then the server should exit (see exit notification)
+ # its process.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#37
+ def process_id; end
+
+ # The rootPath of the workspace. Is null
+ # if no folder is open.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#67
+ def root_path; end
+
+ # The rootUri of the workspace. Is null if no
+ # folder is open. If both `rootPath` and `rootUri` are set
+ # `rootUri` wins.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#77
+ def root_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#118
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#122
+ def to_json(*args); end
+
+ # The initial trace setting. If omitted trace is disabled ('off').
+ #
+ # @return [TraceValue]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#101
+ def trace; end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#26
+ def work_done_token; end
+
+ # The workspace folders configured in the client when the server starts.
+ # This property is only available if the client supports workspace folders.
+ # It can be `null` if the client supports workspace folders but none are
+ # configured.
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_params.rb#112
+ def workspace_folders; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#4
+class LanguageServer::Protocol::Interface::InitializeResult
+ # @return [InitializeResult] a new instance of InitializeResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#5
+ def initialize(capabilities:, server_info: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#30
+ def attributes; end
+
+ # The capabilities the language server provides.
+ #
+ # @return [ServerCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#18
+ def capabilities; end
+
+ # Information about the server.
+ #
+ # @return [{ name: string; version?: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#26
+ def server_info; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialize_result.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#4
+class LanguageServer::Protocol::Interface::InitializedParams
+ # @return [InitializedParams] a new instance of InitializedParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#5
+ def initialize; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#12
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#14
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/initialized_params.rb#18
+ def to_json(*args); end
+end
+
+# Inlay hint information.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#7
+class LanguageServer::Protocol::Interface::InlayHint
+ # @return [InlayHint] a new instance of InlayHint
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#8
+ def initialize(position:, label:, kind: T.unsafe(nil), text_edits: T.unsafe(nil), tooltip: T.unsafe(nil), padding_left: T.unsafe(nil), padding_right: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#110
+ def attributes; end
+
+ # A data entry field that is preserved on an inlay hint between
+ # a `textDocument/inlayHint` and a `inlayHint/resolve` request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#106
+ def data; end
+
+ # The kind of this hint. Can be omitted in which case the client
+ # should fall back to a reasonable default.
+ #
+ # @return [InlayHintKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#47
+ def kind; end
+
+ # The label of this hint. A human readable string or an array of
+ # InlayHintLabelPart label parts.
+ #
+ # *Note* that neither the string nor the label part can be empty.
+ #
+ # @return [string | InlayHintLabelPart[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#38
+ def label; end
+
+ # Render padding before the hint.
+ #
+ # Note: Padding should use the editor's background color, not the
+ # background color of the hint itself. That means padding can be used
+ # to visually align/separate an inlay hint.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#85
+ def padding_left; end
+
+ # Render padding after the hint.
+ #
+ # Note: Padding should use the editor's background color, not the
+ # background color of the hint itself. That means padding can be used
+ # to visually align/separate an inlay hint.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#97
+ def padding_right; end
+
+ # The position of this hint.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#27
+ def position; end
+
+ # Optional text edits that are performed when accepting this inlay hint.
+ #
+ # *Note* that edits are expected to change the document so that the inlay
+ # hint (or its nearest variant) is now part of the document and the inlay
+ # hint itself is now obsolete.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [TextEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#62
+ def text_edits; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#112
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#116
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this item.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint.rb#73
+ def tooltip; end
+end
+
+# Inlay hint client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlayHintClientCapabilities
+ # @return [InlayHintClientCapabilities] a new instance of InlayHintClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), resolve_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#34
+ def attributes; end
+
+ # Whether inlay hints support dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # Indicates which properties a client can resolve lazily on an inlay
+ # hint.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#30
+ def resolve_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb#40
+ def to_json(*args); end
+end
+
+# An inlay hint label part allows for interactive and composite labels
+# of inlay hints.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#8
+class LanguageServer::Protocol::Interface::InlayHintLabelPart
+ # @return [InlayHintLabelPart] a new instance of InlayHintLabelPart
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#9
+ def initialize(value:, tooltip: T.unsafe(nil), location: T.unsafe(nil), command: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#67
+ def attributes; end
+
+ # An optional command for this label part.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [Command]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#63
+ def command; end
+
+ # An optional source code location that represents this
+ # label part.
+ #
+ # The editor will use this location for the hover and for code navigation
+ # features: This part will become a clickable link that resolves to the
+ # definition of the symbol at the given location (not necessarily the
+ # location itself), it shows the hover that shows at the given location,
+ # and it shows a context menu with further code navigation commands.
+ #
+ # Depending on the client capability `inlayHint.resolveSupport` clients
+ # might resolve this property late using the resolve request.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#52
+ def location; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#73
+ def to_json(*args); end
+
+ # The tooltip text when you hover over this label part. Depending on
+ # the client capability `inlayHint.resolveSupport` clients might resolve
+ # this property late using the resolve request.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#34
+ def tooltip; end
+
+ # The value of this label part.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_label_part.rb#24
+ def value; end
+end
+
+# Inlay hint options used during static registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#7
+class LanguageServer::Protocol::Interface::InlayHintOptions
+ # @return [InlayHintOptions] a new instance of InlayHintOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#31
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for an inlay hint item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#27
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#37
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_options.rb#18
+ def work_done_progress; end
+end
+
+# A parameter literal used in inlay hint requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#7
+class LanguageServer::Protocol::Interface::InlayHintParams
+ # @return [InlayHintParams] a new instance of InlayHintParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#8
+ def initialize(text_document:, range:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#42
+ def attributes; end
+
+ # The visible document range for which inlay hints should be computed.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#38
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#30
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#44
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#48
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_params.rb#22
+ def work_done_token; end
+end
+
+# Inlay hint options used during static or dynamic registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#7
+class LanguageServer::Protocol::Interface::InlayHintRegistrationOptions
+ # @return [InlayHintRegistrationOptions] a new instance of InlayHintRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#8
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#51
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#38
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#47
+ def id; end
+
+ # The server provides support to resolve additional
+ # information for an inlay hint item.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#29
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#57
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_registration_options.rb#20
+ def work_done_progress; end
+end
+
+# Client workspace capabilities specific to inlay hints.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlayHintWorkspaceClientCapabilities
+ # @return [InlayHintWorkspaceClientCapabilities] a new instance of InlayHintWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # inlay hints currently shown. It should be used with absolute care and
+ # is useful for situation where a server for example detects a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# Client capabilities specific to inline values.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlineValueClientCapabilities
+ # @return [InlineValueClientCapabilities] a new instance of InlineValueClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#25
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for inline
+ # value providers.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#21
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_client_capabilities.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#4
+class LanguageServer::Protocol::Interface::InlineValueContext
+ # @return [InlineValueContext] a new instance of InlineValueContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#5
+ def initialize(frame_id:, stopped_location:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#32
+ def attributes; end
+
+ # The stack frame (as a DAP Id) where the execution has stopped.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#18
+ def frame_id; end
+
+ # The document range where execution has stopped.
+ # Typically the end position of the range denotes the line where the
+ # inline values are shown.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#28
+ def stopped_location; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_context.rb#38
+ def to_json(*args); end
+end
+
+# Provide an inline value through an expression evaluation.
+#
+# If only a range is specified, the expression will be extracted from the
+# underlying document.
+#
+# An optional expression can be used to override the extracted expression.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#12
+class LanguageServer::Protocol::Interface::InlineValueEvaluatableExpression
+ # @return [InlineValueEvaluatableExpression] a new instance of InlineValueEvaluatableExpression
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#13
+ def initialize(range:, expression: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#40
+ def attributes; end
+
+ # If specified the expression overrides the extracted expression.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#36
+ def expression; end
+
+ # The document range for which the inline value applies.
+ # The range is used to extract the evaluatable expression from the
+ # underlying document.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#28
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb#46
+ def to_json(*args); end
+end
+
+# Inline value options used during static registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#7
+class LanguageServer::Protocol::Interface::InlineValueOptions
+ # @return [InlineValueOptions] a new instance of InlineValueOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#8
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#27
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_options.rb#17
+ def work_done_progress; end
+end
+
+# A parameter literal used in inline value requests.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#7
+class LanguageServer::Protocol::Interface::InlineValueParams
+ # @return [InlineValueParams] a new instance of InlineValueParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#8
+ def initialize(text_document:, range:, context:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#52
+ def attributes; end
+
+ # Additional information about the context in which inline values were
+ # requested.
+ #
+ # @return [InlineValueContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#48
+ def context; end
+
+ # The document range for which inline values should be computed.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#39
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#31
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#58
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_params.rb#23
+ def work_done_token; end
+end
+
+# Inline value options used during static or dynamic registration.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#7
+class LanguageServer::Protocol::Interface::InlineValueRegistrationOptions
+ # @return [InlineValueRegistrationOptions] a new instance of InlineValueRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#8
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#41
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#28
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#37
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#43
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#47
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_registration_options.rb#19
+ def work_done_progress; end
+end
+
+# Provide inline value as text.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#7
+class LanguageServer::Protocol::Interface::InlineValueText
+ # @return [InlineValueText] a new instance of InlineValueText
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#8
+ def initialize(range:, text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#33
+ def attributes; end
+
+ # The document range for which the inline value applies.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#21
+ def range; end
+
+ # The text of the inline value.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#29
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_text.rb#39
+ def to_json(*args); end
+end
+
+# Provide inline value through a variable lookup.
+#
+# If only a range is specified, the variable name will be extracted from
+# the underlying document.
+#
+# An optional variable name can be used to override the extracted name.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#12
+class LanguageServer::Protocol::Interface::InlineValueVariableLookup
+ # @return [InlineValueVariableLookup] a new instance of InlineValueVariableLookup
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#13
+ def initialize(range:, case_sensitive_lookup:, variable_name: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#49
+ def attributes; end
+
+ # How to perform the lookup.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#45
+ def case_sensitive_lookup; end
+
+ # The document range for which the inline value applies.
+ # The range is used to extract the variable name from the underlying
+ # document.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#29
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#55
+ def to_json(*args); end
+
+ # If specified the name of the variable to look up.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_variable_lookup.rb#37
+ def variable_name; end
+end
+
+# Client workspace capabilities specific to inline values.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::InlineValueWorkspaceClientCapabilities
+ # @return [InlineValueWorkspaceClientCapabilities] a new instance of InlineValueWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#8
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#30
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # inline values currently shown. It should be used with absolute care and
+ # is useful for situation where a server for example detect a project wide
+ # change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#26
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb#36
+ def to_json(*args); end
+end
+
+# A special text edit to provide an insert and a replace operation.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#7
+class LanguageServer::Protocol::Interface::InsertReplaceEdit
+ # @return [InsertReplaceEdit] a new instance of InsertReplaceEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#8
+ def initialize(new_text:, insert:, replace:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#42
+ def attributes; end
+
+ # The range if the insert is requested
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#30
+ def insert; end
+
+ # The string to be inserted.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#22
+ def new_text; end
+
+ # The range if the replace is requested.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#38
+ def replace; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#44
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/insert_replace_edit.rb#48
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeClientCapabilities
+ # @return [LinkedEditingRangeClientCapabilities] a new instance of LinkedEditingRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether the implementation supports dynamic registration.
+ # If this is set to `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeOptions
+ # @return [LinkedEditingRangeOptions] a new instance of LinkedEditingRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeParams
+ # @return [LinkedEditingRangeParams] a new instance of LinkedEditingRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRangeRegistrationOptions
+ # @return [LinkedEditingRangeRegistrationOptions] a new instance of LinkedEditingRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_range_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#4
+class LanguageServer::Protocol::Interface::LinkedEditingRanges
+ # @return [LinkedEditingRanges] a new instance of LinkedEditingRanges
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#5
+ def initialize(ranges:, word_pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#34
+ def attributes; end
+
+ # A list of ranges that can be renamed together. The ranges must have
+ # identical length and contain identical text content. The ranges cannot
+ # overlap.
+ #
+ # @return [Range[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#20
+ def ranges; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#40
+ def to_json(*args); end
+
+ # An optional word pattern (regular expression) that describes valid
+ # contents for the given ranges. If no pattern is provided, the client
+ # configuration's word pattern will be used.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/linked_editing_ranges.rb#30
+ def word_pattern; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/location.rb#4
+class LanguageServer::Protocol::Interface::Location
+ # @return [Location] a new instance of Location
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#5
+ def initialize(uri:, range:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#24
+ def attributes; end
+
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#20
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#30
+ def to_json(*args); end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location.rb#15
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#4
+class LanguageServer::Protocol::Interface::LocationLink
+ # @return [LocationLink] a new instance of LocationLink
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#5
+ def initialize(target_uri:, target_range:, target_selection_range:, origin_selection_range: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#56
+ def attributes; end
+
+ # Span of the origin of this link.
+ #
+ # Used as the underlined span for mouse interaction. Defaults to the word
+ # range at the mouse position.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#23
+ def origin_selection_range; end
+
+ # The full target range of this link. If the target for example is a symbol
+ # then target range is the range enclosing this symbol not including
+ # leading/trailing whitespace but everything else like comments. This
+ # information is typically used to highlight the range in the editor.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#42
+ def target_range; end
+
+ # The range that should be selected and revealed when this link is being
+ # followed, e.g the name of a function. Must be contained by the
+ # `targetRange`. See also `DocumentSymbol#range`
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#52
+ def target_selection_range; end
+
+ # The target resource identifier of this link.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#31
+ def target_uri; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/location_link.rb#62
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#4
+class LanguageServer::Protocol::Interface::LogMessageParams
+ # @return [LogMessageParams] a new instance of LogMessageParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#5
+ def initialize(type:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#30
+ def attributes; end
+
+ # The actual message
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#26
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#36
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_message_params.rb#18
+ def type; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#4
+class LanguageServer::Protocol::Interface::LogTraceParams
+ # @return [LogTraceParams] a new instance of LogTraceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#5
+ def initialize(message:, verbose: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#31
+ def attributes; end
+
+ # The message to be logged.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#18
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#37
+ def to_json(*args); end
+
+ # Additional information that can be computed if the `trace` configuration
+ # is set to `'verbose'`
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/log_trace_params.rb#27
+ def verbose; end
+end
+
+# A `MarkupContent` literal represents a string value which content is
+# interpreted base on its kind flag. Currently the protocol supports
+# `plaintext` and `markdown` as markup kinds.
+#
+# If the kind is `markdown` then the value can contain fenced code blocks like
+# in GitHub issues.
+#
+# Here is an example how such a string can be constructed using
+# JavaScript / TypeScript:
+# ```typescript
+# let markdown: MarkdownContent = {
+# kind: MarkupKind.Markdown,
+# value: [
+# '# Header',
+# 'Some text',
+# '```typescript',
+# 'someCode();',
+# '```'
+# ].join('\n')
+# };
+# ```
+#
+# *Please Note* that clients might sanitize the return markdown. A client could
+# decide to remove HTML from the markdown to avoid script execution.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#30
+class LanguageServer::Protocol::Interface::MarkupContent
+ # @return [MarkupContent] a new instance of MarkupContent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#31
+ def initialize(kind:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#56
+ def attributes; end
+
+ # The type of the Markup
+ #
+ # @return [MarkupKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#44
+ def kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#62
+ def to_json(*args); end
+
+ # The content itself
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/markup_content.rb#52
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/message.rb#4
+class LanguageServer::Protocol::Interface::Message
+ # @return [Message] a new instance of Message
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#5
+ def initialize(jsonrpc:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#18
+ def attributes; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#14
+ def jsonrpc; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#4
+class LanguageServer::Protocol::Interface::MessageActionItem
+ # @return [MessageActionItem] a new instance of MessageActionItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#5
+ def initialize(title:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#21
+ def attributes; end
+
+ # A short title like 'Retry', 'Open Log' etc.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#17
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/message_action_item.rb#27
+ def to_json(*args); end
+end
+
+# Moniker definition to match LSIF 0.5 moniker definition.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#7
+class LanguageServer::Protocol::Interface::Moniker
+ # @return [Moniker] a new instance of Moniker
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#8
+ def initialize(scheme:, identifier:, unique:, kind: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#52
+ def attributes; end
+
+ # The identifier of the moniker. The value is opaque in LSIF however
+ # schema owners are allowed to define the structure if they want.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#32
+ def identifier; end
+
+ # The moniker kind if known.
+ #
+ # @return [MonikerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#48
+ def kind; end
+
+ # The scheme of the moniker. For example tsc or .Net
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#23
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#58
+ def to_json(*args); end
+
+ # The scope in which the moniker is unique
+ #
+ # @return [UniquenessLevel]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker.rb#40
+ def unique; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::MonikerClientCapabilities
+ # @return [MonikerClientCapabilities] a new instance of MonikerClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#4
+class LanguageServer::Protocol::Interface::MonikerOptions
+ # @return [MonikerOptions] a new instance of MonikerOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#4
+class LanguageServer::Protocol::Interface::MonikerParams
+ # @return [MonikerParams] a new instance of MonikerParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#4
+class LanguageServer::Protocol::Interface::MonikerRegistrationOptions
+ # @return [MonikerRegistrationOptions] a new instance of MonikerRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/moniker_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# A notebook cell.
+#
+# A cell's document URI must be unique across ALL notebook
+# cells and can therefore be used to uniquely identify a
+# notebook cell or the cell's text document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#11
+class LanguageServer::Protocol::Interface::NotebookCell
+ # @return [NotebookCell] a new instance of NotebookCell
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#12
+ def initialize(kind:, document:, metadata: T.unsafe(nil), execution_summary: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#57
+ def attributes; end
+
+ # The URI of the cell's text document
+ # content.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#36
+ def document; end
+
+ # Additional execution summary information
+ # if supported by the client.
+ #
+ # @return [ExecutionSummary]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#53
+ def execution_summary; end
+
+ # The cell's kind
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#27
+ def kind; end
+
+ # Additional metadata stored with the cell.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#44
+ def metadata; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell.rb#63
+ def to_json(*args); end
+end
+
+# A change describing how to move a `NotebookCell`
+# array from state S to S'.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#8
+class LanguageServer::Protocol::Interface::NotebookCellArrayChange
+ # @return [NotebookCellArrayChange] a new instance of NotebookCellArrayChange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#9
+ def initialize(start:, delete_count:, cells: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#43
+ def attributes; end
+
+ # The new cells, if any
+ #
+ # @return [NotebookCell[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#39
+ def cells; end
+
+ # The deleted cells
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#31
+ def delete_count; end
+
+ # The start offset of the cell that changed.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#23
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_array_change.rb#49
+ def to_json(*args); end
+end
+
+# A notebook cell text document filter denotes a cell text
+# document by different properties.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#8
+class LanguageServer::Protocol::Interface::NotebookCellTextDocumentFilter
+ # @return [NotebookCellTextDocumentFilter] a new instance of NotebookCellTextDocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#9
+ def initialize(notebook:, language: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#40
+ def attributes; end
+
+ # A language id like `python`.
+ #
+ # Will be matched against the language id of the
+ # notebook cell document. '*' matches every language.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#36
+ def language; end
+
+ # A filter that matches against the notebook
+ # containing the notebook cell. If a string
+ # value is provided it matches against the
+ # notebook type. '*' matches every notebook.
+ #
+ # @return [string | NotebookDocumentFilter]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#25
+ def notebook; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb#46
+ def to_json(*args); end
+end
+
+# A notebook document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocument
+ # @return [NotebookDocument] a new instance of NotebookDocument
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#8
+ def initialize(uri:, notebook_type:, version:, cells:, metadata: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#62
+ def attributes; end
+
+ # The cells of a notebook.
+ #
+ # @return [NotebookCell[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#58
+ def cells; end
+
+ # Additional metadata stored with the notebook
+ # document.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#50
+ def metadata; end
+
+ # The type of the notebook.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#32
+ def notebook_type; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#64
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#68
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#24
+ def uri; end
+
+ # The version number of this document (it will increase after each
+ # change, including undo/redo).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document.rb#41
+ def version; end
+end
+
+# A change event for a notebook document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentChangeEvent
+ # @return [NotebookDocumentChangeEvent] a new instance of NotebookDocumentChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#8
+ def initialize(metadata: T.unsafe(nil), cells: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#33
+ def attributes; end
+
+ # Changes to cells
+ #
+ # @return [{ structure?: { array: NotebookCellArrayChange; didOpen?: TextDocumentItem[]; didClose?: TextDocumentIdentifier[]; }; data?: NotebookCell[]; textContent?: { ...; }[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#29
+ def cells; end
+
+ # The changed meta data if any.
+ #
+ # @return [LSPObject]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#21
+ def metadata; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_change_event.rb#39
+ def to_json(*args); end
+end
+
+# Capabilities specific to the notebook document support.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentClientCapabilities
+ # @return [NotebookDocumentClientCapabilities] a new instance of NotebookDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#8
+ def initialize(synchronization:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#24
+ def attributes; end
+
+ # Capabilities specific to notebook document synchronization
+ #
+ # @return [NotebookDocumentSyncClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#20
+ def synchronization; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# A notebook document filter denotes a notebook document by
+# different properties.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#8
+class LanguageServer::Protocol::Interface::NotebookDocumentFilter
+ # @return [NotebookDocumentFilter] a new instance of NotebookDocumentFilter
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#9
+ def initialize(notebook_type: T.unsafe(nil), scheme: T.unsafe(nil), pattern: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#67
+ def attributes; end
+
+ # The type of the enclosing notebook.
+ #
+ # --- OR ---
+ #
+ # The type of the enclosing notebook.
+ #
+ # --- OR ---
+ #
+ # The type of the enclosing notebook.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#31
+ def notebook_type; end
+
+ # A glob pattern.
+ #
+ # --- OR ---
+ #
+ # A glob pattern.
+ #
+ # --- OR ---
+ #
+ # A glob pattern.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#63
+ def pattern; end
+
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # --- OR ---
+ #
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # --- OR ---
+ #
+ # A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#47
+ def scheme; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#69
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_filter.rb#73
+ def to_json(*args); end
+end
+
+# A literal to identify a notebook document in the client.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentIdentifier
+ # @return [NotebookDocumentIdentifier] a new instance of NotebookDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#8
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#24
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#30
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_identifier.rb#20
+ def uri; end
+end
+
+# Notebook specific client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncClientCapabilities
+ # @return [NotebookDocumentSyncClientCapabilities] a new instance of NotebookDocumentSyncClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#8
+ def initialize(dynamic_registration: T.unsafe(nil), execution_summary_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#36
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is
+ # set to `true` the client supports the new
+ # `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#24
+ def dynamic_registration; end
+
+ # The client supports sending execution summary data per cell.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#32
+ def execution_summary_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb#42
+ def to_json(*args); end
+end
+
+# Options specific to a notebook plus its cells
+# to be synced to the server.
+#
+# If a selector provides a notebook document
+# filter but no cell selector all cells of a
+# matching notebook document will be synced.
+#
+# If a selector provides no notebook document
+# filter but only a cell selector all notebook
+# documents that contain at least one matching
+# cell will be synced.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#17
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncOptions
+ # @return [NotebookDocumentSyncOptions] a new instance of NotebookDocumentSyncOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#18
+ def initialize(notebook_selector:, save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#44
+ def attributes; end
+
+ # The notebooks to be synced
+ #
+ # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#31
+ def notebook_selector; end
+
+ # Whether save notification should be forwarded to
+ # the server. Will only be honored if mode === `notebook`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#40
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_options.rb#50
+ def to_json(*args); end
+end
+
+# Registration options specific to a notebook.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#7
+class LanguageServer::Protocol::Interface::NotebookDocumentSyncRegistrationOptions
+ # @return [NotebookDocumentSyncRegistrationOptions] a new instance of NotebookDocumentSyncRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#8
+ def initialize(notebook_selector:, save: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#44
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#40
+ def id; end
+
+ # The notebooks to be synced
+ #
+ # @return [({ notebook: string | NotebookDocumentFilter; cells?: { language: string; }[]; } | { notebook?: string | NotebookDocumentFilter; cells: { ...; }[]; })[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#22
+ def notebook_selector; end
+
+ # Whether save notification should be forwarded to
+ # the server. Will only be honored if mode === `notebook`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#31
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#4
+class LanguageServer::Protocol::Interface::NotificationMessage
+ # @return [NotificationMessage] a new instance of NotificationMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#5
+ def initialize(jsonrpc:, method:, params: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#36
+ def attributes; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#16
+ def jsonrpc; end
+
+ # The method to be invoked.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#24
+ def method; end
+
+ # The notification's params.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#32
+ def params; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/notification_message.rb#42
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::OptionalVersionedTextDocumentIdentifier
+ # @return [OptionalVersionedTextDocumentIdentifier] a new instance of OptionalVersionedTextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#5
+ def initialize(uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#38
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#44
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#18
+ def uri; end
+
+ # The version number of this document. If an optional versioned text document
+ # identifier is sent from the server to the client and the file is not
+ # open in the editor (the server has not received an open notification
+ # before) the server can send `null` to indicate that the version is
+ # known and the content on disk is the master (as specified with document
+ # content ownership).
+ #
+ # The version number of a document will increase after each change,
+ # including undo/redo. The number doesn't need to be consecutive.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb#34
+ def version; end
+end
+
+# Represents a parameter of a callable-signature. A parameter can
+# have a label and a doc-comment.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#8
+class LanguageServer::Protocol::Interface::ParameterInformation
+ # @return [ParameterInformation] a new instance of ParameterInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#9
+ def initialize(label:, documentation: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#44
+ def attributes; end
+
+ # The human-readable doc-comment of this parameter. Will be shown
+ # in the UI but can be omitted.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#40
+ def documentation; end
+
+ # The label of this parameter information.
+ #
+ # Either a string or an inclusive start and exclusive end offsets within
+ # its containing signature label. (see SignatureInformation.label). The
+ # offsets are based on a UTF-16 string representation as `Position` and
+ # `Range` does.
+ #
+ # *Note*: a label of type string should be a substring of its containing
+ # signature label. Its intended use case is to highlight the parameter
+ # label part in the `SignatureInformation.label`.
+ #
+ # @return [string | [number, number]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#31
+ def label; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/parameter_information.rb#50
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#4
+class LanguageServer::Protocol::Interface::PartialResultParams
+ # @return [PartialResultParams] a new instance of PartialResultParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#5
+ def initialize(partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#22
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#18
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#24
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/partial_result_params.rb#28
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/position.rb#4
+class LanguageServer::Protocol::Interface::Position
+ # @return [Position] a new instance of Position
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#5
+ def initialize(line:, character:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#34
+ def attributes; end
+
+ # Character offset on a line in a document (zero-based). The meaning of this
+ # offset is determined by the negotiated `PositionEncodingKind`.
+ #
+ # If the character value is greater than the line length it defaults back
+ # to the line length.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#30
+ def character; end
+
+ # Line position in a document (zero-based).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#18
+ def line; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/position.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#4
+class LanguageServer::Protocol::Interface::PrepareRenameParams
+ # @return [PrepareRenameParams] a new instance of PrepareRenameParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/prepare_rename_params.rb#35
+ def work_done_token; end
+end
+
+# A previous result id in a workspace pull request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#7
+class LanguageServer::Protocol::Interface::PreviousResultId
+ # @return [PreviousResultId] a new instance of PreviousResultId
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#8
+ def initialize(uri:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#34
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#40
+ def to_json(*args); end
+
+ # The URI for which the client knows a
+ # result id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#22
+ def uri; end
+
+ # The value of the previous result id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/previous_result_id.rb#30
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#4
+class LanguageServer::Protocol::Interface::ProgressParams
+ # @return [ProgressParams] a new instance of ProgressParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#5
+ def initialize(token:, value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#30
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#36
+ def to_json(*args); end
+
+ # The progress token provided by the client or server.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#18
+ def token; end
+
+ # The progress data.
+ #
+ # @return [T]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/progress_params.rb#26
+ def value; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::PublishDiagnosticsClientCapabilities
+ # @return [PublishDiagnosticsClientCapabilities] a new instance of PublishDiagnosticsClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#5
+ def initialize(related_information: T.unsafe(nil), tag_support: T.unsafe(nil), version_support: T.unsafe(nil), code_description_support: T.unsafe(nil), data_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#61
+ def attributes; end
+
+ # Client supports a codeDescription property
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#47
+ def code_description_support; end
+
+ # Whether code action supports the `data` property which is
+ # preserved between a `textDocument/publishDiagnostics` and
+ # `textDocument/codeAction` request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#57
+ def data_support; end
+
+ # Whether the clients accepts diagnostics with related information.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#21
+ def related_information; end
+
+ # Client supports the tag property to provide meta data about a diagnostic.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: DiagnosticTag[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#30
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#63
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#67
+ def to_json(*args); end
+
+ # Whether the client interprets the version property of the
+ # `textDocument/publishDiagnostics` notification's parameter.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb#39
+ def version_support; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#4
+class LanguageServer::Protocol::Interface::PublishDiagnosticsParams
+ # @return [PublishDiagnosticsParams] a new instance of PublishDiagnosticsParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#5
+ def initialize(uri:, diagnostics:, version: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#40
+ def attributes; end
+
+ # An array of diagnostic information items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#36
+ def diagnostics; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#46
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#19
+ def uri; end
+
+ # Optional the version number of the document the diagnostics are published
+ # for.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/publish_diagnostics_params.rb#28
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/range.rb#4
+class LanguageServer::Protocol::Interface::Range
+ # @return [Range] a new instance of Range
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#5
+ def initialize(start:, end:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#30
+ def attributes; end
+
+ # The range's end position.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#26
+ def end; end
+
+ # The range's start position.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#18
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/range.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ReferenceClientCapabilities
+ # @return [ReferenceClientCapabilities] a new instance of ReferenceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#21
+ def attributes; end
+
+ # Whether references supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#17
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_client_capabilities.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#4
+class LanguageServer::Protocol::Interface::ReferenceContext
+ # @return [ReferenceContext] a new instance of ReferenceContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#5
+ def initialize(include_declaration:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#21
+ def attributes; end
+
+ # Include the declaration of the current symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#17
+ def include_declaration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_context.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#4
+class LanguageServer::Protocol::Interface::ReferenceOptions
+ # @return [ReferenceOptions] a new instance of ReferenceOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#4
+class LanguageServer::Protocol::Interface::ReferenceParams
+ # @return [ReferenceParams] a new instance of ReferenceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#5
+ def initialize(text_document:, position:, context:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#55
+ def attributes; end
+
+ # @return [ReferenceContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#51
+ def context; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#46
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#29
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#57
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#61
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_params.rb#37
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#4
+class LanguageServer::Protocol::Interface::ReferenceRegistrationOptions
+ # @return [ReferenceRegistrationOptions] a new instance of ReferenceRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#28
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#19
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/reference_registration_options.rb#24
+ def work_done_progress; end
+end
+
+# General parameters to register for a capability.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#7
+class LanguageServer::Protocol::Interface::Registration
+ # @return [Registration] a new instance of Registration
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#8
+ def initialize(id:, method:, register_options: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#43
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#23
+ def id; end
+
+ # The method / capability to register for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#31
+ def method; end
+
+ # Options necessary for the registration.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#39
+ def register_options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration.rb#49
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#4
+class LanguageServer::Protocol::Interface::RegistrationParams
+ # @return [RegistrationParams] a new instance of RegistrationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#5
+ def initialize(registrations:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#18
+ def attributes; end
+
+ # @return [Registration[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#14
+ def registrations; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/registration_params.rb#24
+ def to_json(*args); end
+end
+
+# Client capabilities specific to regular expressions.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::RegularExpressionsClientCapabilities
+ # @return [RegularExpressionsClientCapabilities] a new instance of RegularExpressionsClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#8
+ def initialize(engine:, version: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#33
+ def attributes; end
+
+ # The engine's name.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#21
+ def engine; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#39
+ def to_json(*args); end
+
+ # The engine's version.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb#29
+ def version; end
+end
+
+# A full diagnostic report with a set of related documents.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::RelatedFullDocumentDiagnosticReport
+ # @return [RelatedFullDocumentDiagnosticReport] a new instance of RelatedFullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, result_id: T.unsafe(nil), related_documents: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#57
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#41
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#23
+ def kind; end
+
+ # Diagnostics of related documents. This information is useful
+ # in programming languages where code in a file A can generate
+ # diagnostics in a file B which A depends on. An example of
+ # such a language is C/C++ where marco definitions in a file
+ # a.cpp and result in errors in a header file b.hpp.
+ #
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#53
+ def related_documents; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#33
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb#63
+ def to_json(*args); end
+end
+
+# An unchanged diagnostic report with a set of related documents.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::RelatedUnchangedDocumentDiagnosticReport
+ # @return [RelatedUnchangedDocumentDiagnosticReport] a new instance of RelatedUnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#8
+ def initialize(kind:, result_id:, related_documents: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#50
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#25
+ def kind; end
+
+ # Diagnostics of related documents. This information is useful
+ # in programming languages where code in a file A can generate
+ # diagnostics in a file B which A depends on. An example of
+ # such a language is C/C++ where marco definitions in a file
+ # a.cpp and result in errors in a header file b.hpp.
+ #
+ # @return [{ [uri: string]: FullDocumentDiagnosticReport | UnchangedDocumentDiagnosticReport; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#46
+ def related_documents; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb#56
+ def to_json(*args); end
+end
+
+# A relative pattern is a helper to construct glob patterns that are matched
+# relatively to a base URI. The common value for a `baseUri` is a workspace
+# folder root, but it can be another absolute URI as well.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#9
+class LanguageServer::Protocol::Interface::RelativePattern
+ # @return [RelativePattern] a new instance of RelativePattern
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#10
+ def initialize(base_uri:, pattern:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#36
+ def attributes; end
+
+ # A workspace folder or a base URI to which this pattern will be matched
+ # against relatively.
+ #
+ # @return [string | WorkspaceFolder]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#24
+ def base_uri; end
+
+ # The actual glob pattern;
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#32
+ def pattern; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/relative_pattern.rb#42
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::RenameClientCapabilities
+ # @return [RenameClientCapabilities] a new instance of RenameClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), prepare_support: T.unsafe(nil), prepare_support_default_behavior: T.unsafe(nil), honors_change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#57
+ def attributes; end
+
+ # Whether rename supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # Whether the client honors the change annotations in
+ # text edits and resource operations returned via the
+ # rename request's workspace edit by for example presenting
+ # the workspace edit in the user interface and asking
+ # for confirmation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#53
+ def honors_change_annotations; end
+
+ # Client supports testing for validity of rename operations
+ # before execution.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#29
+ def prepare_support; end
+
+ # Client supports the default behavior result
+ # (`{ defaultBehavior: boolean }`).
+ #
+ # The value indicates the default behavior used by the
+ # client.
+ #
+ # @return [1]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#41
+ def prepare_support_default_behavior; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_client_capabilities.rb#63
+ def to_json(*args); end
+end
+
+# Rename file operation
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#7
+class LanguageServer::Protocol::Interface::RenameFile
+ # @return [RenameFile] a new instance of RenameFile
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#8
+ def initialize(kind:, old_uri:, new_uri:, options: T.unsafe(nil), annotation_id: T.unsafe(nil)); end
+
+ # An optional annotation identifier describing the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#56
+ def annotation_id; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#60
+ def attributes; end
+
+ # A rename
+ #
+ # @return ["rename"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#24
+ def kind; end
+
+ # The new location.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#40
+ def new_uri; end
+
+ # The old (existing) location.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#32
+ def old_uri; end
+
+ # Rename options.
+ #
+ # @return [RenameFileOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#48
+ def options; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#62
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file.rb#66
+ def to_json(*args); end
+end
+
+# Rename file options
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#7
+class LanguageServer::Protocol::Interface::RenameFileOptions
+ # @return [RenameFileOptions] a new instance of RenameFileOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#8
+ def initialize(overwrite: T.unsafe(nil), ignore_if_exists: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#33
+ def attributes; end
+
+ # Ignores if target exists.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#29
+ def ignore_if_exists; end
+
+ # Overwrite target if existing. Overwrite wins over `ignoreIfExists`
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#21
+ def overwrite; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_file_options.rb#39
+ def to_json(*args); end
+end
+
+# The parameters sent in notifications/requests for user-initiated renames
+# of files.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#8
+class LanguageServer::Protocol::Interface::RenameFilesParams
+ # @return [RenameFilesParams] a new instance of RenameFilesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#9
+ def initialize(files:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#26
+ def attributes; end
+
+ # An array of all files/folders renamed in this operation. When a folder
+ # is renamed, only the folder will be included, and not its children.
+ #
+ # @return [FileRename[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#22
+ def files; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#28
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_files_params.rb#32
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#4
+class LanguageServer::Protocol::Interface::RenameOptions
+ # @return [RenameOptions] a new instance of RenameOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#27
+ def attributes; end
+
+ # Renames should be checked and tested before being executed.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#23
+ def prepare_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#33
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_options.rb#15
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#4
+class LanguageServer::Protocol::Interface::RenameParams
+ # @return [RenameParams] a new instance of RenameParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#5
+ def initialize(text_document:, position:, new_name:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#50
+ def attributes; end
+
+ # The new name of the symbol. If the given name is not valid the
+ # request must return a [ResponseError](#ResponseError) with an
+ # appropriate message set.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#46
+ def new_name; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#4
+class LanguageServer::Protocol::Interface::RenameRegistrationOptions
+ # @return [RenameRegistrationOptions] a new instance of RenameRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), prepare_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#37
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#20
+ def document_selector; end
+
+ # Renames should be checked and tested before being executed.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#33
+ def prepare_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#43
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/rename_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#4
+class LanguageServer::Protocol::Interface::RequestMessage
+ # @return [RequestMessage] a new instance of RequestMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#5
+ def initialize(jsonrpc:, id:, method:, params: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#45
+ def attributes; end
+
+ # The request id.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#25
+ def id; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#17
+ def jsonrpc; end
+
+ # The method to be invoked.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#33
+ def method; end
+
+ # The method's params.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#41
+ def params; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#47
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/request_message.rb#51
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#4
+class LanguageServer::Protocol::Interface::ResponseError
+ # @return [ResponseError] a new instance of ResponseError
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#5
+ def initialize(code:, message:, data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#40
+ def attributes; end
+
+ # A number indicating the error type that occurred.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#19
+ def code; end
+
+ # A primitive or structured value that contains additional
+ # information about the error. Can be omitted.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#36
+ def data; end
+
+ # A string providing a short description of the error.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#27
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_error.rb#46
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#4
+class LanguageServer::Protocol::Interface::ResponseMessage
+ # @return [ResponseMessage] a new instance of ResponseMessage
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#5
+ def initialize(jsonrpc:, id:, result: T.unsafe(nil), error: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#46
+ def attributes; end
+
+ # The error object in case a request fails.
+ #
+ # @return [ResponseError]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#42
+ def error; end
+
+ # The request id.
+ #
+ # @return [string | number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#25
+ def id; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#17
+ def jsonrpc; end
+
+ # The result of a request. This member is REQUIRED on success.
+ # This member MUST NOT exist if there was an error invoking the method.
+ #
+ # @return [string | number | boolean | object]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#34
+ def result; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#48
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/response_message.rb#52
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#4
+class LanguageServer::Protocol::Interface::SaveOptions
+ # @return [SaveOptions] a new instance of SaveOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#5
+ def initialize(include_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#21
+ def attributes; end
+
+ # The client is supposed to include the content on save.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#17
+ def include_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/save_options.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#4
+class LanguageServer::Protocol::Interface::SelectionRange
+ # @return [SelectionRange] a new instance of SelectionRange
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#5
+ def initialize(range:, parent: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#31
+ def attributes; end
+
+ # The parent selection range containing this range. Therefore
+ # `parent.range` must contain `this.range`.
+ #
+ # @return [SelectionRange]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#27
+ def parent; end
+
+ # The [range](#Range) of this selection range.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#18
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeClientCapabilities
+ # @return [SelectionRangeClientCapabilities] a new instance of SelectionRangeClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#24
+ def attributes; end
+
+ # Whether implementation supports dynamic registration for selection range
+ # providers. If this is set to `true` the client supports the new
+ # `SelectionRangeRegistrationOptions` return value for the corresponding
+ # server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeOptions
+ # @return [SelectionRangeOptions] a new instance of SelectionRangeOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeParams
+ # @return [SelectionRangeParams] a new instance of SelectionRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#5
+ def initialize(text_document:, positions:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#29
+ def partial_result_token; end
+
+ # The positions inside the text document.
+ #
+ # @return [Position[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#45
+ def positions; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SelectionRangeRegistrationOptions
+ # @return [SelectionRangeRegistrationOptions] a new instance of SelectionRangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#25
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/selection_range_registration_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokens
+ # @return [SemanticTokens] a new instance of SemanticTokens
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#5
+ def initialize(data:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#33
+ def attributes; end
+
+ # The actual tokens.
+ #
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#29
+ def data; end
+
+ # An optional result id. If provided and clients support delta updating
+ # the client will include the result id in the next semantic token request.
+ # A server can then instead of computing all semantic tokens again simply
+ # send a delta.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#21
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensClientCapabilities
+ # @return [SemanticTokensClientCapabilities] a new instance of SemanticTokensClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#5
+ def initialize(requests:, token_types:, token_modifiers:, formats:, dynamic_registration: T.unsafe(nil), overlapping_token_support: T.unsafe(nil), multiline_token_support: T.unsafe(nil), server_cancel_support: T.unsafe(nil), augments_syntax_tokens: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#113
+ def attributes; end
+
+ # Whether the client uses semantic tokens to augment existing
+ # syntax tokens. If set to `true` client side created syntax
+ # tokens and semantic tokens are both used for colorization. If
+ # set to `false` the client only uses the returned semantic tokens
+ # for colorization.
+ #
+ # If the value is `undefined` then the client behavior is not
+ # specified.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#109
+ def augments_syntax_tokens; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `(TextDocumentRegistrationOptions &
+ # StaticRegistrationOptions)` return value for the corresponding server
+ # capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#28
+ def dynamic_registration; end
+
+ # The formats the clients supports.
+ #
+ # @return ["relative"[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#67
+ def formats; end
+
+ # Whether the client supports tokens that can span multiple lines.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#83
+ def multiline_token_support; end
+
+ # Whether the client supports tokens that can overlap each other.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#75
+ def overlapping_token_support; end
+
+ # Which requests the client supports and might send to the server
+ # depending on the server's capability. Please note that clients might not
+ # show semantic tokens or degrade some of the user experience if a range
+ # or full request is advertised by the client but not provided by the
+ # server. If for example the client capability `requests.full` and
+ # `request.range` are both set to true but the server only provides a
+ # range provider the client might not render a minimap correctly or might
+ # even decide to not show any semantic tokens at all.
+ #
+ # @return [{ range?: boolean | {}; full?: boolean | { delta?: boolean; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#43
+ def requests; end
+
+ # Whether the client allows the server to actively cancel a
+ # semantic token request, e.g. supports returning
+ # ErrorCodes.ServerCancelled. If a server does the client
+ # needs to retrigger the request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#94
+ def server_cancel_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#115
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#119
+ def to_json(*args); end
+
+ # The token modifiers that the client supports.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#59
+ def token_modifiers; end
+
+ # The token types that the client supports.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb#51
+ def token_types; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDelta
+ # @return [SemanticTokensDelta] a new instance of SemanticTokensDelta
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#5
+ def initialize(edits:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#28
+ def attributes; end
+
+ # The semantic token edits to transform a previous result into a new
+ # result.
+ #
+ # @return [SemanticTokensEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#24
+ def edits; end
+
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#15
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta.rb#34
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDeltaParams
+ # @return [SemanticTokensDeltaParams] a new instance of SemanticTokensDeltaParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#5
+ def initialize(text_document:, previous_result_id:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#50
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#29
+ def partial_result_token; end
+
+ # The result id of a previous response. The result Id can either point to
+ # a full response or a delta response depending on what was received last.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#46
+ def previous_result_id; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensDeltaPartialResult
+ # @return [SemanticTokensDeltaPartialResult] a new instance of SemanticTokensDeltaPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#5
+ def initialize(edits:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#18
+ def attributes; end
+
+ # @return [SemanticTokensEdit[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#14
+ def edits; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensEdit
+ # @return [SemanticTokensEdit] a new instance of SemanticTokensEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#5
+ def initialize(start:, delete_count:, data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#39
+ def attributes; end
+
+ # The elements to insert.
+ #
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#35
+ def data; end
+
+ # The count of elements to remove.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#27
+ def delete_count; end
+
+ # The start offset of the edit.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#19
+ def start; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_edit.rb#45
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensLegend
+ # @return [SemanticTokensLegend] a new instance of SemanticTokensLegend
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#5
+ def initialize(token_types:, token_modifiers:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#30
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#36
+ def to_json(*args); end
+
+ # The token modifiers a server uses.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#26
+ def token_modifiers; end
+
+ # The token types a server uses.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_legend.rb#18
+ def token_types; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensOptions
+ # @return [SemanticTokensOptions] a new instance of SemanticTokensOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#5
+ def initialize(legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#46
+ def attributes; end
+
+ # Server supports providing semantic tokens for a full document.
+ #
+ # @return [boolean | { delta?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#42
+ def full; end
+
+ # The legend used by the server
+ #
+ # @return [SemanticTokensLegend]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#25
+ def legend; end
+
+ # Server supports providing semantic tokens for a specific range
+ # of a document.
+ #
+ # @return [boolean | {}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#34
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#48
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#52
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_options.rb#17
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensParams
+ # @return [SemanticTokensParams] a new instance of SemanticTokensParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#5
+ def initialize(text_document:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#40
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#28
+ def partial_result_token; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#36
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#42
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#46
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensPartialResult
+ # @return [SemanticTokensPartialResult] a new instance of SemanticTokensPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#5
+ def initialize(data:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#18
+ def attributes; end
+
+ # @return [number[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#14
+ def data; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_partial_result.rb#24
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensRangeParams
+ # @return [SemanticTokensRangeParams] a new instance of SemanticTokensRangeParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#5
+ def initialize(text_document:, range:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#29
+ def partial_result_token; end
+
+ # The range the semantic tokens are requested for.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#45
+ def range; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#37
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_range_params.rb#20
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensRegistrationOptions
+ # @return [SemanticTokensRegistrationOptions] a new instance of SemanticTokensRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#5
+ def initialize(document_selector:, legend:, work_done_progress: T.unsafe(nil), range: T.unsafe(nil), full: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#66
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#23
+ def document_selector; end
+
+ # Server supports providing semantic tokens for a full document.
+ #
+ # @return [boolean | { delta?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#53
+ def full; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#62
+ def id; end
+
+ # The legend used by the server
+ #
+ # @return [SemanticTokensLegend]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#36
+ def legend; end
+
+ # Server supports providing semantic tokens for a specific range
+ # of a document.
+ #
+ # @return [boolean | {}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#45
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#72
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_registration_options.rb#28
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SemanticTokensWorkspaceClientCapabilities
+ # @return [SemanticTokensWorkspaceClientCapabilities] a new instance of SemanticTokensWorkspaceClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#5
+ def initialize(refresh_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#27
+ def attributes; end
+
+ # Whether the client implementation supports a refresh request sent from
+ # the server to the client.
+ #
+ # Note that this event is global and will force the client to refresh all
+ # semantic tokens currently shown. It should be used with absolute care
+ # and is useful for situation where a server for example detect a project
+ # wide change that requires such a calculation.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#23
+ def refresh_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#29
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb#33
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#4
+class LanguageServer::Protocol::Interface::ServerCapabilities
+ # @return [ServerCapabilities] a new instance of ServerCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#5
+ def initialize(position_encoding: T.unsafe(nil), text_document_sync: T.unsafe(nil), notebook_document_sync: T.unsafe(nil), completion_provider: T.unsafe(nil), hover_provider: T.unsafe(nil), signature_help_provider: T.unsafe(nil), declaration_provider: T.unsafe(nil), definition_provider: T.unsafe(nil), type_definition_provider: T.unsafe(nil), implementation_provider: T.unsafe(nil), references_provider: T.unsafe(nil), document_highlight_provider: T.unsafe(nil), document_symbol_provider: T.unsafe(nil), code_action_provider: T.unsafe(nil), code_lens_provider: T.unsafe(nil), document_link_provider: T.unsafe(nil), color_provider: T.unsafe(nil), document_formatting_provider: T.unsafe(nil), document_range_formatting_provider: T.unsafe(nil), document_on_type_formatting_provider: T.unsafe(nil), rename_provider: T.unsafe(nil), folding_range_provider: T.unsafe(nil), execute_command_provider: T.unsafe(nil), selection_range_provider: T.unsafe(nil), linked_editing_range_provider: T.unsafe(nil), call_hierarchy_provider: T.unsafe(nil), semantic_tokens_provider: T.unsafe(nil), moniker_provider: T.unsafe(nil), type_hierarchy_provider: T.unsafe(nil), inline_value_provider: T.unsafe(nil), inlay_hint_provider: T.unsafe(nil), diagnostic_provider: T.unsafe(nil), workspace_symbol_provider: T.unsafe(nil), workspace: T.unsafe(nil), experimental: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#340
+ def attributes; end
+
+ # The server provides call hierarchy support.
+ #
+ # @return [boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#264
+ def call_hierarchy_provider; end
+
+ # The server provides code actions. The `CodeActionOptions` return type is
+ # only valid if the client signals code action literal support via the
+ # property `textDocument.codeAction.codeActionLiteralSupport`.
+ #
+ # @return [boolean | CodeActionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#166
+ def code_action_provider; end
+
+ # The server provides code lens.
+ #
+ # @return [CodeLensOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#174
+ def code_lens_provider; end
+
+ # The server provides color provider support.
+ #
+ # @return [boolean | DocumentColorOptions | DocumentColorRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#190
+ def color_provider; end
+
+ # The server provides completion support.
+ #
+ # @return [CompletionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#84
+ def completion_provider; end
+
+ # The server provides go to declaration support.
+ #
+ # @return [boolean | DeclarationOptions | DeclarationRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#108
+ def declaration_provider; end
+
+ # The server provides goto definition support.
+ #
+ # @return [boolean | DefinitionOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#116
+ def definition_provider; end
+
+ # The server has support for pull model diagnostics.
+ #
+ # @return [DiagnosticOptions | DiagnosticRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#312
+ def diagnostic_provider; end
+
+ # The server provides document formatting.
+ #
+ # @return [boolean | DocumentFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#198
+ def document_formatting_provider; end
+
+ # The server provides document highlight support.
+ #
+ # @return [boolean | DocumentHighlightOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#148
+ def document_highlight_provider; end
+
+ # The server provides document link support.
+ #
+ # @return [DocumentLinkOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#182
+ def document_link_provider; end
+
+ # The server provides document formatting on typing.
+ #
+ # @return [DocumentOnTypeFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#214
+ def document_on_type_formatting_provider; end
+
+ # The server provides document range formatting.
+ #
+ # @return [boolean | DocumentRangeFormattingOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#206
+ def document_range_formatting_provider; end
+
+ # The server provides document symbol support.
+ #
+ # @return [boolean | DocumentSymbolOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#156
+ def document_symbol_provider; end
+
+ # The server provides execute command support.
+ #
+ # @return [ExecuteCommandOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#240
+ def execute_command_provider; end
+
+ # Experimental server capabilities.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#336
+ def experimental; end
+
+ # The server provides folding provider support.
+ #
+ # @return [boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#232
+ def folding_range_provider; end
+
+ # The server provides hover support.
+ #
+ # @return [boolean | HoverOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#92
+ def hover_provider; end
+
+ # The server provides goto implementation support.
+ #
+ # @return [boolean | ImplementationOptions | ImplementationRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#132
+ def implementation_provider; end
+
+ # The server provides inlay hints.
+ #
+ # @return [boolean | InlayHintOptions | InlayHintRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#304
+ def inlay_hint_provider; end
+
+ # The server provides inline values.
+ #
+ # @return [boolean | InlineValueOptions | InlineValueRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#296
+ def inline_value_provider; end
+
+ # The server provides linked editing range support.
+ #
+ # @return [boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#256
+ def linked_editing_range_provider; end
+
+ # Whether server provides moniker support.
+ #
+ # @return [boolean | MonikerOptions | MonikerRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#280
+ def moniker_provider; end
+
+ # Defines how notebook documents are synced.
+ #
+ # @return [NotebookDocumentSyncOptions | NotebookDocumentSyncRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#76
+ def notebook_document_sync; end
+
+ # The position encoding the server picked from the encodings offered
+ # by the client via the client capability `general.positionEncodings`.
+ #
+ # If the client didn't provide any position encodings the only valid
+ # value that a server can return is 'utf-16'.
+ #
+ # If omitted it defaults to 'utf-16'.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#57
+ def position_encoding; end
+
+ # The server provides find references support.
+ #
+ # @return [boolean | ReferenceOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#140
+ def references_provider; end
+
+ # The server provides rename support. RenameOptions may only be
+ # specified if the client states that it supports
+ # `prepareSupport` in its initial `initialize` request.
+ #
+ # @return [boolean | RenameOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#224
+ def rename_provider; end
+
+ # The server provides selection range support.
+ #
+ # @return [boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#248
+ def selection_range_provider; end
+
+ # The server provides semantic tokens support.
+ #
+ # @return [SemanticTokensOptions | SemanticTokensRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#272
+ def semantic_tokens_provider; end
+
+ # The server provides signature help support.
+ #
+ # @return [SignatureHelpOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#100
+ def signature_help_provider; end
+
+ # Defines how text documents are synced. Is either a detailed structure
+ # defining each notification or for backwards compatibility the
+ # TextDocumentSyncKind number. If omitted it defaults to
+ # `TextDocumentSyncKind.None`.
+ #
+ # @return [TextDocumentSyncOptions | TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#68
+ def text_document_sync; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#342
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#346
+ def to_json(*args); end
+
+ # The server provides goto type definition support.
+ #
+ # @return [boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#124
+ def type_definition_provider; end
+
+ # The server provides type hierarchy support.
+ #
+ # @return [boolean | TypeHierarchyOptions | TypeHierarchyRegistrationOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#288
+ def type_hierarchy_provider; end
+
+ # Workspace specific server capabilities
+ #
+ # @return [{ workspaceFolders?: WorkspaceFoldersServerCapabilities; fileOperations?: { didCreate?: FileOperationRegistrationOptions; ... 4 more ...; willDelete?: FileOperationRegistrationOptions; }; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#328
+ def workspace; end
+
+ # The server provides workspace symbol support.
+ #
+ # @return [boolean | WorkspaceSymbolOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/server_capabilities.rb#320
+ def workspace_symbol_provider; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#4
+class LanguageServer::Protocol::Interface::SetTraceParams
+ # @return [SetTraceParams] a new instance of SetTraceParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#5
+ def initialize(value:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#27
+ def to_json(*args); end
+
+ # The new value that should be assigned to the trace setting.
+ #
+ # @return [TraceValue]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/set_trace_params.rb#17
+ def value; end
+end
+
+# Client capabilities for the show document request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentClientCapabilities
+ # @return [ShowDocumentClientCapabilities] a new instance of ShowDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#8
+ def initialize(support:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#25
+ def attributes; end
+
+ # The client has support for the show document
+ # request.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#21
+ def support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_client_capabilities.rb#31
+ def to_json(*args); end
+end
+
+# Params to show a resource.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentParams
+ # @return [ShowDocumentParams] a new instance of ShowDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#8
+ def initialize(uri:, external: T.unsafe(nil), take_focus: T.unsafe(nil), selection: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#59
+ def attributes; end
+
+ # Indicates to show the resource in an external program.
+ # To show, for example, `https://code.visualstudio.com/`
+ # in the default WEB browser set `external` to `true`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#33
+ def external; end
+
+ # An optional selection range if the document is a text
+ # document. Clients might ignore the property if an
+ # external program is started or the file is not a text
+ # file.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#55
+ def selection; end
+
+ # An optional property to indicate whether the editor
+ # showing the document should take focus or not.
+ # Clients might ignore this property if an external
+ # program is started.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#44
+ def take_focus; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#61
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#65
+ def to_json(*args); end
+
+ # The uri to show.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_params.rb#23
+ def uri; end
+end
+
+# The result of an show document request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#7
+class LanguageServer::Protocol::Interface::ShowDocumentResult
+ # @return [ShowDocumentResult] a new instance of ShowDocumentResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#8
+ def initialize(success:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#24
+ def attributes; end
+
+ # A boolean indicating if the show was successful.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#20
+ def success; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_document_result.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#4
+class LanguageServer::Protocol::Interface::ShowMessageParams
+ # @return [ShowMessageParams] a new instance of ShowMessageParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#5
+ def initialize(type:, message:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#30
+ def attributes; end
+
+ # The actual message.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#26
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#36
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}.
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_params.rb#18
+ def type; end
+end
+
+# Show message request client capabilities
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::ShowMessageRequestClientCapabilities
+ # @return [ShowMessageRequestClientCapabilities] a new instance of ShowMessageRequestClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#8
+ def initialize(message_action_item: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#24
+ def attributes; end
+
+ # Capabilities specific to the `MessageActionItem` type.
+ #
+ # @return [{ additionalPropertiesSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#20
+ def message_action_item; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#26
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_client_capabilities.rb#30
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#4
+class LanguageServer::Protocol::Interface::ShowMessageRequestParams
+ # @return [ShowMessageRequestParams] a new instance of ShowMessageRequestParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#5
+ def initialize(type:, message:, actions: T.unsafe(nil)); end
+
+ # The message action items to present.
+ #
+ # @return [MessageActionItem[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#35
+ def actions; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#39
+ def attributes; end
+
+ # The actual message
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#27
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#45
+ def to_json(*args); end
+
+ # The message type. See {@link MessageType}
+ #
+ # @return [MessageType]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/show_message_request_params.rb#19
+ def type; end
+end
+
+# Signature help represents the signature of something
+# callable. There can be multiple signature but only one
+# active and only one active parameter.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#9
+class LanguageServer::Protocol::Interface::SignatureHelp
+ # @return [SignatureHelp] a new instance of SignatureHelp
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#10
+ def initialize(signatures:, active_signature: T.unsafe(nil), active_parameter: T.unsafe(nil)); end
+
+ # The active parameter of the active signature. If omitted or the value
+ # lies outside the range of `signatures[activeSignature].parameters`
+ # defaults to 0 if the active signature has parameters. If
+ # the active signature has no parameters it is ignored.
+ # In future version of the protocol this property might become
+ # mandatory to better express the active parameter if the
+ # active signature does have any.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#55
+ def active_parameter; end
+
+ # The active signature. If omitted or the value lies outside the
+ # range of `signatures` the value defaults to zero or is ignore if
+ # the `SignatureHelp` as no signatures.
+ #
+ # Whenever possible implementors should make an active decision about
+ # the active signature and shouldn't rely on a default value.
+ #
+ # In future version of the protocol this property might become
+ # mandatory to better express this.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#41
+ def active_signature; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#59
+ def attributes; end
+
+ # One or more signatures. If no signatures are available the signature help
+ # request should return `null`.
+ #
+ # @return [SignatureInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#25
+ def signatures; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#61
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help.rb#65
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpClientCapabilities
+ # @return [SignatureHelpClientCapabilities] a new instance of SignatureHelpClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), signature_information: T.unsafe(nil), context_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#43
+ def attributes; end
+
+ # The client supports to send additional context information for a
+ # `textDocument/signatureHelp` request. A client that opts into
+ # contextSupport will also support the `retriggerCharacters` on
+ # `SignatureHelpOptions`.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#39
+ def context_support; end
+
+ # Whether signature help supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#19
+ def dynamic_registration; end
+
+ # The client supports the following `SignatureInformation`
+ # specific properties.
+ #
+ # @return [{ documentationFormat?: MarkupKind[]; parameterInformation?: { labelOffsetSupport?: boolean; }; activeParameterSupport?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#28
+ def signature_information; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#45
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_client_capabilities.rb#49
+ def to_json(*args); end
+end
+
+# Additional information about the context in which a signature help request
+# was triggered.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#8
+class LanguageServer::Protocol::Interface::SignatureHelpContext
+ # @return [SignatureHelpContext] a new instance of SignatureHelpContext
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#9
+ def initialize(trigger_kind:, is_retrigger:, trigger_character: T.unsafe(nil), active_signature_help: T.unsafe(nil)); end
+
+ # The currently active `SignatureHelp`.
+ #
+ # The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field
+ # updated based on the user navigating through available signatures.
+ #
+ # @return [SignatureHelp]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#58
+ def active_signature_help; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#62
+ def attributes; end
+
+ # `true` if signature help was already showing when it was triggered.
+ #
+ # Retriggers occur when the signature help is already active and can be
+ # caused by actions such as typing a trigger character, a cursor move, or
+ # document content changes.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#47
+ def is_retrigger; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#64
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#68
+ def to_json(*args); end
+
+ # Character that caused signature help to be triggered.
+ #
+ # This is undefined when triggerKind !==
+ # SignatureHelpTriggerKind.TriggerCharacter
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#35
+ def trigger_character; end
+
+ # Action that caused signature help to be triggered.
+ #
+ # @return [SignatureHelpTriggerKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_context.rb#24
+ def trigger_kind; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpOptions
+ # @return [SignatureHelpOptions] a new instance of SignatureHelpOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#41
+ def attributes; end
+
+ # List of characters that re-trigger signature help.
+ #
+ # These trigger characters are only active when signature help is already
+ # showing. All trigger characters are also counted as re-trigger
+ # characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#37
+ def retrigger_characters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#43
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#47
+ def to_json(*args); end
+
+ # The characters that trigger signature help
+ # automatically.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#25
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_options.rb#16
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpParams
+ # @return [SignatureHelpParams] a new instance of SignatureHelpParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), context: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#50
+ def attributes; end
+
+ # The signature help context. This is only available if the client
+ # specifies to send this using the client capability
+ # `textDocument.signatureHelp.contextSupport === true`
+ #
+ # @return [SignatureHelpContext]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#46
+ def context; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#56
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#4
+class LanguageServer::Protocol::Interface::SignatureHelpRegistrationOptions
+ # @return [SignatureHelpRegistrationOptions] a new instance of SignatureHelpRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), trigger_characters: T.unsafe(nil), retrigger_characters: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#51
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#21
+ def document_selector; end
+
+ # List of characters that re-trigger signature help.
+ #
+ # These trigger characters are only active when signature help is already
+ # showing. All trigger characters are also counted as re-trigger
+ # characters.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#47
+ def retrigger_characters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#53
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#57
+ def to_json(*args); end
+
+ # The characters that trigger signature help
+ # automatically.
+ #
+ # @return [string[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#35
+ def trigger_characters; end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_help_registration_options.rb#26
+ def work_done_progress; end
+end
+
+# Represents the signature of something callable. A signature
+# can have a label, like a function-name, a doc-comment, and
+# a set of parameters.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#9
+class LanguageServer::Protocol::Interface::SignatureInformation
+ # @return [SignatureInformation] a new instance of SignatureInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#10
+ def initialize(label:, documentation: T.unsafe(nil), parameters: T.unsafe(nil), active_parameter: T.unsafe(nil)); end
+
+ # The index of the active parameter.
+ #
+ # If provided, this is used in place of `SignatureHelp.activeParameter`.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#53
+ def active_parameter; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#57
+ def attributes; end
+
+ # The human-readable doc-comment of this signature. Will be shown
+ # in the UI but can be omitted.
+ #
+ # @return [string | MarkupContent]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#35
+ def documentation; end
+
+ # The label of this signature. Will be shown in
+ # the UI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#26
+ def label; end
+
+ # The parameters of this signature.
+ #
+ # @return [ParameterInformation[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#43
+ def parameters; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#59
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/signature_information.rb#63
+ def to_json(*args); end
+end
+
+# Static registration options to be returned in the initialize request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#7
+class LanguageServer::Protocol::Interface::StaticRegistrationOptions
+ # @return [StaticRegistrationOptions] a new instance of StaticRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#8
+ def initialize(id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#25
+ def attributes; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#21
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/static_registration_options.rb#31
+ def to_json(*args); end
+end
+
+# Represents information about programming constructs like variables, classes,
+# interfaces etc.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#8
+class LanguageServer::Protocol::Interface::SymbolInformation
+ # @return [SymbolInformation] a new instance of SymbolInformation
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#9
+ def initialize(name:, kind:, location:, tags: T.unsafe(nil), deprecated: T.unsafe(nil), container_name: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#81
+ def attributes; end
+
+ # The name of the symbol containing this symbol. This information is for
+ # user interface purposes (e.g. to render a qualifier in the user interface
+ # if necessary). It can't be used to re-infer a hierarchy for the document
+ # symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#77
+ def container_name; end
+
+ # Indicates if this symbol is deprecated.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#50
+ def deprecated; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#34
+ def kind; end
+
+ # The location of this symbol. The location's range is used by a tool
+ # to reveal the location in the editor. If the symbol is selected in the
+ # tool the range's start information is used to position the cursor. So
+ # the range usually spans more then the actual symbol's name and does
+ # normally include things like visibility modifiers.
+ #
+ # The range doesn't have to denote a node range in the sense of an abstract
+ # syntax tree. It can therefore not be used to re-construct a hierarchy of
+ # the symbols.
+ #
+ # @return [Location]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#66
+ def location; end
+
+ # The name of this symbol.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#26
+ def name; end
+
+ # Tags for this symbol.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#42
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#83
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/symbol_information.rb#87
+ def to_json(*args); end
+end
+
+# Describe options to be used when registering for text document change events.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentChangeRegistrationOptions
+ # @return [TextDocumentChangeRegistrationOptions] a new instance of TextDocumentChangeRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#8
+ def initialize(document_selector:, sync_kind:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#35
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#22
+ def document_selector; end
+
+ # How documents are synced to the server. See TextDocumentSyncKind.Full
+ # and TextDocumentSyncKind.Incremental.
+ #
+ # @return [TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#31
+ def sync_kind; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#37
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_change_registration_options.rb#41
+ def to_json(*args); end
+end
+
+# Text document specific client capabilities.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentClientCapabilities
+ # @return [TextDocumentClientCapabilities] a new instance of TextDocumentClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#8
+ def initialize(synchronization: T.unsafe(nil), completion: T.unsafe(nil), hover: T.unsafe(nil), signature_help: T.unsafe(nil), declaration: T.unsafe(nil), definition: T.unsafe(nil), type_definition: T.unsafe(nil), implementation: T.unsafe(nil), references: T.unsafe(nil), document_highlight: T.unsafe(nil), document_symbol: T.unsafe(nil), code_action: T.unsafe(nil), code_lens: T.unsafe(nil), document_link: T.unsafe(nil), color_provider: T.unsafe(nil), formatting: T.unsafe(nil), range_formatting: T.unsafe(nil), on_type_formatting: T.unsafe(nil), rename: T.unsafe(nil), publish_diagnostics: T.unsafe(nil), folding_range: T.unsafe(nil), selection_range: T.unsafe(nil), linked_editing_range: T.unsafe(nil), call_hierarchy: T.unsafe(nil), semantic_tokens: T.unsafe(nil), moniker: T.unsafe(nil), type_hierarchy: T.unsafe(nil), inline_value: T.unsafe(nil), inlay_hint: T.unsafe(nil), diagnostic: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#285
+ def attributes; end
+
+ # Capabilities specific to the various call hierarchy requests.
+ #
+ # @return [CallHierarchyClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#233
+ def call_hierarchy; end
+
+ # Capabilities specific to the `textDocument/codeAction` request.
+ #
+ # @return [CodeActionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#134
+ def code_action; end
+
+ # Capabilities specific to the `textDocument/codeLens` request.
+ #
+ # @return [CodeLensClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#142
+ def code_lens; end
+
+ # Capabilities specific to the `textDocument/documentColor` and the
+ # `textDocument/colorPresentation` request.
+ #
+ # @return [DocumentColorClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#159
+ def color_provider; end
+
+ # Capabilities specific to the `textDocument/completion` request.
+ #
+ # @return [CompletionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#54
+ def completion; end
+
+ # Capabilities specific to the `textDocument/declaration` request.
+ #
+ # @return [DeclarationClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#78
+ def declaration; end
+
+ # Capabilities specific to the `textDocument/definition` request.
+ #
+ # @return [DefinitionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#86
+ def definition; end
+
+ # Capabilities specific to the diagnostic pull model.
+ #
+ # @return [DiagnosticClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#281
+ def diagnostic; end
+
+ # Capabilities specific to the `textDocument/documentHighlight` request.
+ #
+ # @return [DocumentHighlightClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#118
+ def document_highlight; end
+
+ # Capabilities specific to the `textDocument/documentLink` request.
+ #
+ # @return [DocumentLinkClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#150
+ def document_link; end
+
+ # Capabilities specific to the `textDocument/documentSymbol` request.
+ #
+ # @return [DocumentSymbolClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#126
+ def document_symbol; end
+
+ # Capabilities specific to the `textDocument/foldingRange` request.
+ #
+ # @return [FoldingRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#209
+ def folding_range; end
+
+ # Capabilities specific to the `textDocument/formatting` request.
+ #
+ # @return [DocumentFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#167
+ def formatting; end
+
+ # Capabilities specific to the `textDocument/hover` request.
+ #
+ # @return [HoverClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#62
+ def hover; end
+
+ # Capabilities specific to the `textDocument/implementation` request.
+ #
+ # @return [ImplementationClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#102
+ def implementation; end
+
+ # Capabilities specific to the `textDocument/inlayHint` request.
+ #
+ # @return [InlayHintClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#273
+ def inlay_hint; end
+
+ # Capabilities specific to the `textDocument/inlineValue` request.
+ #
+ # @return [InlineValueClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#265
+ def inline_value; end
+
+ # Capabilities specific to the `textDocument/linkedEditingRange` request.
+ #
+ # @return [LinkedEditingRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#225
+ def linked_editing_range; end
+
+ # Capabilities specific to the `textDocument/moniker` request.
+ #
+ # @return [MonikerClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#249
+ def moniker; end
+
+ # request.
+ # Capabilities specific to the `textDocument/onTypeFormatting` request.
+ #
+ # @return [DocumentOnTypeFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#184
+ def on_type_formatting; end
+
+ # Capabilities specific to the `textDocument/publishDiagnostics`
+ # notification.
+ #
+ # @return [PublishDiagnosticsClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#201
+ def publish_diagnostics; end
+
+ # Capabilities specific to the `textDocument/rangeFormatting` request.
+ #
+ # @return [DocumentRangeFormattingClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#175
+ def range_formatting; end
+
+ # Capabilities specific to the `textDocument/references` request.
+ #
+ # @return [ReferenceClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#110
+ def references; end
+
+ # Capabilities specific to the `textDocument/rename` request.
+ #
+ # @return [RenameClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#192
+ def rename; end
+
+ # Capabilities specific to the `textDocument/selectionRange` request.
+ #
+ # @return [SelectionRangeClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#217
+ def selection_range; end
+
+ # Capabilities specific to the various semantic token requests.
+ #
+ # @return [SemanticTokensClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#241
+ def semantic_tokens; end
+
+ # Capabilities specific to the `textDocument/signatureHelp` request.
+ #
+ # @return [SignatureHelpClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#70
+ def signature_help; end
+
+ # @return [TextDocumentSyncClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#46
+ def synchronization; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#287
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#291
+ def to_json(*args); end
+
+ # Capabilities specific to the `textDocument/typeDefinition` request.
+ #
+ # @return [TypeDefinitionClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#94
+ def type_definition; end
+
+ # Capabilities specific to the various type hierarchy requests.
+ #
+ # @return [TypeHierarchyClientCapabilities]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_client_capabilities.rb#257
+ def type_hierarchy; end
+end
+
+# An event describing a change to a text document. If only a text is provided
+# it is considered to be the full content of the document.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#8
+class LanguageServer::Protocol::Interface::TextDocumentContentChangeEvent
+ # @return [TextDocumentContentChangeEvent] a new instance of TextDocumentContentChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#9
+ def initialize(text:, range: T.unsafe(nil), range_length: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#47
+ def attributes; end
+
+ # The range of the document that changed.
+ #
+ # @return [Range, nil]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#23
+ def range; end
+
+ # The optional length of the range that got replaced.
+ #
+ # @return [number, nil]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#31
+ def range_length; end
+
+ # The new text for the provided range.
+ #
+ # --- OR ---
+ #
+ # The new text of the whole document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#43
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#49
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_content_change_event.rb#53
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentEdit
+ # @return [TextDocumentEdit] a new instance of TextDocumentEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#5
+ def initialize(text_document:, edits:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#30
+ def attributes; end
+
+ # The edits to be applied.
+ #
+ # @return [(TextEdit | AnnotatedTextEdit)[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#26
+ def edits; end
+
+ # The text document to change.
+ #
+ # @return [OptionalVersionedTextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_edit.rb#36
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentIdentifier
+ # @return [TextDocumentIdentifier] a new instance of TextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#5
+ def initialize(uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#27
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_identifier.rb#17
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentItem
+ # @return [TextDocumentItem] a new instance of TextDocumentItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#5
+ def initialize(uri:, language_id:, version:, text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#49
+ def attributes; end
+
+ # The text document's language identifier.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#28
+ def language_id; end
+
+ # The content of the opened text document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#45
+ def text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#55
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#20
+ def uri; end
+
+ # The version number of this document (it will increase after each
+ # change, including undo/redo).
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_item.rb#37
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentPositionParams
+ # @return [TextDocumentPositionParams] a new instance of TextDocumentPositionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#5
+ def initialize(text_document:, position:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#30
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#26
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#18
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#32
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_position_params.rb#36
+ def to_json(*args); end
+end
+
+# General text document registration options.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#7
+class LanguageServer::Protocol::Interface::TextDocumentRegistrationOptions
+ # @return [TextDocumentRegistrationOptions] a new instance of TextDocumentRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#8
+ def initialize(document_selector:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#25
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#21
+ def document_selector; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#27
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_registration_options.rb#31
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSaveRegistrationOptions
+ # @return [TextDocumentSaveRegistrationOptions] a new instance of TextDocumentSaveRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#5
+ def initialize(document_selector:, include_text: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#31
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#19
+ def document_selector; end
+
+ # The client is supposed to include the content on save.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#27
+ def include_text; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_save_registration_options.rb#37
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSyncClientCapabilities
+ # @return [TextDocumentSyncClientCapabilities] a new instance of TextDocumentSyncClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), did_save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#50
+ def attributes; end
+
+ # The client supports did save notifications.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#46
+ def did_save; end
+
+ # Whether text document synchronization supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#52
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#56
+ def to_json(*args); end
+
+ # The client supports sending will save notifications.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#28
+ def will_save; end
+
+ # The client supports sending a will save request and
+ # waits for a response providing text edits which will
+ # be applied to the document before it is saved.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb#38
+ def will_save_wait_until; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#4
+class LanguageServer::Protocol::Interface::TextDocumentSyncOptions
+ # @return [TextDocumentSyncOptions] a new instance of TextDocumentSyncOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#5
+ def initialize(open_close: T.unsafe(nil), change: T.unsafe(nil), will_save: T.unsafe(nil), will_save_wait_until: T.unsafe(nil), save: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#66
+ def attributes; end
+
+ # Change notifications are sent to the server. See
+ # TextDocumentSyncKind.None, TextDocumentSyncKind.Full and
+ # TextDocumentSyncKind.Incremental. If omitted it defaults to
+ # TextDocumentSyncKind.None.
+ #
+ # @return [TextDocumentSyncKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#35
+ def change; end
+
+ # Open and close notifications are sent to the server. If omitted open
+ # close notifications should not be sent.
+ # Open and close notifications are sent to the server. If omitted open
+ # close notification should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#24
+ def open_close; end
+
+ # If present save notifications are sent to the server. If omitted the
+ # notification should not be sent.
+ #
+ # @return [boolean | SaveOptions]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#62
+ def save; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#68
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#72
+ def to_json(*args); end
+
+ # If present will save notifications are sent to the server. If omitted
+ # the notification should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#44
+ def will_save; end
+
+ # If present will save wait until requests are sent to the server. If
+ # omitted the request should not be sent.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_document_sync_options.rb#53
+ def will_save_wait_until; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#4
+class LanguageServer::Protocol::Interface::TextEdit
+ # @return [TextEdit] a new instance of TextEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#5
+ def initialize(range:, new_text:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#32
+ def attributes; end
+
+ # The string to be inserted. For delete operations use an
+ # empty string.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#28
+ def new_text; end
+
+ # The range of the text document to be manipulated. To insert
+ # text into a document create a range where start === end.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#19
+ def range; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/text_edit.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionClientCapabilities
+ # @return [TypeDefinitionClientCapabilities] a new instance of TypeDefinitionClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), link_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#32
+ def attributes; end
+
+ # Whether implementation supports dynamic registration. If this is set to
+ # `true` the client supports the new `TypeDefinitionRegistrationOptions`
+ # return value for the corresponding server capability as well.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client supports additional metadata in the form of definition links.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#28
+ def link_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#34
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_client_capabilities.rb#38
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionOptions
+ # @return [TypeDefinitionOptions] a new instance of TypeDefinitionOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionParams
+ # @return [TypeDefinitionParams] a new instance of TypeDefinitionParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#49
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#45
+ def partial_result_token; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#28
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#20
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#51
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#55
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_params.rb#36
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TypeDefinitionRegistrationOptions
+ # @return [TypeDefinitionRegistrationOptions] a new instance of TypeDefinitionRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_definition_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyItem
+ # @return [TypeHierarchyItem] a new instance of TypeHierarchyItem
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#5
+ def initialize(name:, kind:, uri:, range:, selection_range:, tags: T.unsafe(nil), detail: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#90
+ def attributes; end
+
+ # A data entry field that is preserved between a type hierarchy prepare and
+ # supertypes or subtypes requests. It could also be used to identify the
+ # type hierarchy in the server, helping improve the performance on
+ # resolving supertypes and subtypes.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#86
+ def data; end
+
+ # More detail for this item, e.g. the signature of a function.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#48
+ def detail; end
+
+ # The kind of this item.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#32
+ def kind; end
+
+ # The name of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#24
+ def name; end
+
+ # The range enclosing this symbol not including leading/trailing whitespace
+ # but everything else, e.g. comments and code.
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#65
+ def range; end
+
+ # The range that should be selected and revealed when this symbol is being
+ # picked, e.g. the name of a function. Must be contained by the
+ # [`range`](#TypeHierarchyItem.range).
+ #
+ # @return [Range]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#75
+ def selection_range; end
+
+ # Tags for this item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#40
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#92
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#96
+ def to_json(*args); end
+
+ # The resource identifier of this item.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_item.rb#56
+ def uri; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyOptions
+ # @return [TypeHierarchyOptions] a new instance of TypeHierarchyOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyPrepareParams
+ # @return [TypeHierarchyPrepareParams] a new instance of TypeHierarchyPrepareParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#5
+ def initialize(text_document:, position:, work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#39
+ def attributes; end
+
+ # The position inside the text document.
+ #
+ # @return [Position]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#27
+ def position; end
+
+ # The text document.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#19
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#41
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#45
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb#35
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchyRegistrationOptions
+ # @return [TypeHierarchyRegistrationOptions] a new instance of TypeHierarchyRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#5
+ def initialize(document_selector:, work_done_progress: T.unsafe(nil), id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#38
+ def attributes; end
+
+ # A document selector to identify the scope of the registration. If set to
+ # null the document selector provided on the client side will be used.
+ #
+ # @return [DocumentSelector]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#20
+ def document_selector; end
+
+ # The id used to register the request. The id can be used to deregister
+ # the request again. See also Registration#id.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#34
+ def id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#44
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_registration_options.rb#25
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchySubtypesParams
+ # @return [TypeHierarchySubtypesParams] a new instance of TypeHierarchySubtypesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#37
+ def attributes; end
+
+ # @return [TypeHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb#19
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#4
+class LanguageServer::Protocol::Interface::TypeHierarchySupertypesParams
+ # @return [TypeHierarchySupertypesParams] a new instance of TypeHierarchySupertypesParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#5
+ def initialize(item:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#37
+ def attributes; end
+
+ # @return [TypeHierarchyItem]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#33
+ def item; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#28
+ def partial_result_token; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#39
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#43
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb#19
+ def work_done_token; end
+end
+
+# A diagnostic report indicating that the last returned
+# report is still accurate.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#8
+class LanguageServer::Protocol::Interface::UnchangedDocumentDiagnosticReport
+ # @return [UnchangedDocumentDiagnosticReport] a new instance of UnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#9
+ def initialize(kind:, result_id:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#38
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#25
+ def kind; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#40
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb#44
+ def to_json(*args); end
+end
+
+# General parameters to unregister a capability.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#7
+class LanguageServer::Protocol::Interface::Unregistration
+ # @return [Unregistration] a new instance of Unregistration
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#8
+ def initialize(id:, method:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#34
+ def attributes; end
+
+ # The id used to unregister the request or notification. Usually an id
+ # provided during the register request.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#22
+ def id; end
+
+ # The method / capability to unregister for.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#30
+ def method; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#36
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration.rb#40
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#4
+class LanguageServer::Protocol::Interface::UnregistrationParams
+ # @return [UnregistrationParams] a new instance of UnregistrationParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#5
+ def initialize(unregisterations:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#24
+ def to_json(*args); end
+
+ # @return [Unregistration[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/unregistration_params.rb#14
+ def unregisterations; end
+end
+
+# A versioned notebook document identifier.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#7
+class LanguageServer::Protocol::Interface::VersionedNotebookDocumentIdentifier
+ # @return [VersionedNotebookDocumentIdentifier] a new instance of VersionedNotebookDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#8
+ def initialize(version:, uri:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#39
+ def to_json(*args); end
+
+ # The notebook document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#29
+ def uri; end
+
+ # The version number of this notebook document.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb#21
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#4
+class LanguageServer::Protocol::Interface::VersionedTextDocumentIdentifier
+ # @return [VersionedTextDocumentIdentifier] a new instance of VersionedTextDocumentIdentifier
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#5
+ def initialize(uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#33
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#39
+ def to_json(*args); end
+
+ # The text document's URI.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#18
+ def uri; end
+
+ # The version number of this document.
+ #
+ # The version number of a document will increase after each change,
+ # including undo/redo. The number doesn't need to be consecutive.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/versioned_text_document_identifier.rb#29
+ def version; end
+end
+
+# The parameters send in a will save text document notification.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#7
+class LanguageServer::Protocol::Interface::WillSaveTextDocumentParams
+ # @return [WillSaveTextDocumentParams] a new instance of WillSaveTextDocumentParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#8
+ def initialize(text_document:, reason:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#33
+ def attributes; end
+
+ # The 'TextDocumentSaveReason'.
+ #
+ # @return [TextDocumentSaveReason]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#29
+ def reason; end
+
+ # The document that will be saved.
+ #
+ # @return [TextDocumentIdentifier]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#21
+ def text_document; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/will_save_text_document_params.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressBegin
+ # @return [WorkDoneProgressBegin] a new instance of WorkDoneProgressBegin
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#5
+ def initialize(kind:, title:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#68
+ def attributes; end
+
+ # Controls if a cancel button should show to allow the user to cancel the
+ # long running operation. Clients that don't support cancellation are
+ # allowed to ignore the setting.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#39
+ def cancellable; end
+
+ # @return ["begin"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#18
+ def kind; end
+
+ # Optional, more detailed associated progress message. Contains
+ # complementary information to the `title`.
+ #
+ # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ # If unset, the previous progress message (if any) is still valid.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#51
+ def message; end
+
+ # Optional progress percentage to display (value 100 is considered 100%).
+ # If not provided infinite progress is assumed and clients are allowed
+ # to ignore the `percentage` value in subsequent in report notifications.
+ #
+ # The value should be steadily rising. Clients are free to ignore values
+ # that are not following this rule. The value range is [0, 100]
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#64
+ def percentage; end
+
+ # Mandatory title of the progress operation. Used to briefly inform about
+ # the kind of operation being performed.
+ #
+ # Examples: "Indexing" or "Linking dependencies".
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#29
+ def title; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#70
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_begin.rb#74
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressCancelParams
+ # @return [WorkDoneProgressCancelParams] a new instance of WorkDoneProgressCancelParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#5
+ def initialize(token:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#27
+ def to_json(*args); end
+
+ # The token to be used to report progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_cancel_params.rb#17
+ def token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressCreateParams
+ # @return [WorkDoneProgressCreateParams] a new instance of WorkDoneProgressCreateParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#5
+ def initialize(token:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#27
+ def to_json(*args); end
+
+ # The token to be used to report progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_create_params.rb#17
+ def token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressEnd
+ # @return [WorkDoneProgressEnd] a new instance of WorkDoneProgressEnd
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#5
+ def initialize(kind:, message: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#28
+ def attributes; end
+
+ # @return ["end"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#15
+ def kind; end
+
+ # Optional, a final message indicating to for example indicate the outcome
+ # of the operation.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#24
+ def message; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_end.rb#34
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressOptions
+ # @return [WorkDoneProgressOptions] a new instance of WorkDoneProgressOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#18
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#20
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#24
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_options.rb#14
+ def work_done_progress; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressParams
+ # @return [WorkDoneProgressParams] a new instance of WorkDoneProgressParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#5
+ def initialize(work_done_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#21
+ def attributes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#27
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_params.rb#17
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#4
+class LanguageServer::Protocol::Interface::WorkDoneProgressReport
+ # @return [WorkDoneProgressReport] a new instance of WorkDoneProgressReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#5
+ def initialize(kind:, cancellable: T.unsafe(nil), message: T.unsafe(nil), percentage: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#58
+ def attributes; end
+
+ # Controls enablement state of a cancel button. This property is only valid
+ # if a cancel button got requested in the `WorkDoneProgressBegin` payload.
+ #
+ # Clients that don't support cancellation or don't support control the
+ # button's enablement state are allowed to ignore the setting.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#29
+ def cancellable; end
+
+ # @return ["report"]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#17
+ def kind; end
+
+ # Optional, more detailed associated progress message. Contains
+ # complementary information to the `title`.
+ #
+ # Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ # If unset, the previous progress message (if any) is still valid.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#41
+ def message; end
+
+ # Optional progress percentage to display (value 100 is considered 100%).
+ # If not provided infinite progress is assumed and clients are allowed
+ # to ignore the `percentage` value in subsequent in report notifications.
+ #
+ # The value should be steadily rising. Clients are free to ignore values
+ # that are not following this rule. The value range is [0, 100]
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#54
+ def percentage; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#60
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/work_done_progress_report.rb#64
+ def to_json(*args); end
+end
+
+# Parameters of the workspace diagnostic request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticParams
+ # @return [WorkspaceDiagnosticParams] a new instance of WorkspaceDiagnosticParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#8
+ def initialize(previous_result_ids:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil), identifier: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#53
+ def attributes; end
+
+ # The additional identifier provided during registration.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#40
+ def identifier; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#32
+ def partial_result_token; end
+
+ # The currently known diagnostic reports with their
+ # previous result ids.
+ #
+ # @return [PreviousResultId[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#49
+ def previous_result_ids; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#55
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#59
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_params.rb#23
+ def work_done_token; end
+end
+
+# A workspace diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReport
+ # @return [WorkspaceDiagnosticReport] a new instance of WorkspaceDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#8
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#21
+ def attributes; end
+
+ # @return [WorkspaceDocumentDiagnosticReport[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#17
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report.rb#27
+ def to_json(*args); end
+end
+
+# A partial result for a workspace diagnostic report.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceDiagnosticReportPartialResult
+ # @return [WorkspaceDiagnosticReportPartialResult] a new instance of WorkspaceDiagnosticReportPartialResult
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#8
+ def initialize(items:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#21
+ def attributes; end
+
+ # @return [WorkspaceDocumentDiagnosticReport[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#17
+ def items; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#23
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb#27
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceEdit
+ # @return [WorkspaceEdit] a new instance of WorkspaceEdit
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#5
+ def initialize(changes: T.unsafe(nil), document_changes: T.unsafe(nil), change_annotations: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#56
+ def attributes; end
+
+ # A map of change annotations that can be referenced in
+ # `AnnotatedTextEdit`s or create, rename and delete file / folder
+ # operations.
+ #
+ # Whether clients honor this property depends on the client capability
+ # `workspace.changeAnnotationSupport`.
+ #
+ # @return [{ [id: string]: ChangeAnnotation; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#52
+ def change_annotations; end
+
+ # Holds changes to existing resources.
+ #
+ # @return [{}]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#19
+ def changes; end
+
+ # Depending on the client capability
+ # `workspace.workspaceEdit.resourceOperations` document changes are either
+ # an array of `TextDocumentEdit`s to express changes to n different text
+ # documents where each text document edit addresses a specific version of
+ # a text document. Or it can contain above `TextDocumentEdit`s mixed with
+ # create, rename and delete file / folder operations.
+ #
+ # Whether a client supports versioned document edits is expressed via
+ # `workspace.workspaceEdit.documentChanges` client capability.
+ #
+ # If a client neither supports `documentChanges` nor
+ # `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s
+ # using the `changes` property are supported.
+ #
+ # @return [TextDocumentEdit[] | (TextDocumentEdit | CreateFile | RenameFile | DeleteFile)[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#39
+ def document_changes; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit.rb#62
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceEditClientCapabilities
+ # @return [WorkspaceEditClientCapabilities] a new instance of WorkspaceEditClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#5
+ def initialize(document_changes: T.unsafe(nil), resource_operations: T.unsafe(nil), failure_handling: T.unsafe(nil), normalizes_line_endings: T.unsafe(nil), change_annotation_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#63
+ def attributes; end
+
+ # Whether the client in general supports change annotations on text edits,
+ # create file, rename file and delete file changes.
+ #
+ # @return [{ groupsOnLabel?: boolean; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#59
+ def change_annotation_support; end
+
+ # The client supports versioned document changes in `WorkspaceEdit`s
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#21
+ def document_changes; end
+
+ # The failure handling strategy of a client if applying the workspace edit
+ # fails.
+ #
+ # @return [FailureHandlingKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#39
+ def failure_handling; end
+
+ # Whether the client normalizes line endings to the client specific
+ # setting.
+ # If set to `true` the client will normalize line ending characters
+ # in a workspace edit to the client specific new line character(s).
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#50
+ def normalizes_line_endings; end
+
+ # The resource operations the client supports. Clients should at least
+ # support 'create', 'rename' and 'delete' files and folders.
+ #
+ # @return [ResourceOperationKind[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#30
+ def resource_operations; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#65
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb#69
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceFolder
+ # @return [WorkspaceFolder] a new instance of WorkspaceFolder
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#5
+ def initialize(uri:, name:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#31
+ def attributes; end
+
+ # The name of the workspace folder. Used to refer to this
+ # workspace folder in the user interface.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#27
+ def name; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#33
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#37
+ def to_json(*args); end
+
+ # The associated URI for this workspace folder.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folder.rb#18
+ def uri; end
+end
+
+# The workspace folder change event.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceFoldersChangeEvent
+ # @return [WorkspaceFoldersChangeEvent] a new instance of WorkspaceFoldersChangeEvent
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#8
+ def initialize(added:, removed:); end
+
+ # The array of added workspace folders
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#21
+ def added; end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#33
+ def attributes; end
+
+ # The array of the removed workspace folders
+ #
+ # @return [WorkspaceFolder[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#29
+ def removed; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#35
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_change_event.rb#39
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceFoldersServerCapabilities
+ # @return [WorkspaceFoldersServerCapabilities] a new instance of WorkspaceFoldersServerCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#5
+ def initialize(supported: T.unsafe(nil), change_notifications: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#36
+ def attributes; end
+
+ # Whether the server wants to receive workspace folder
+ # change notifications.
+ #
+ # If a string is provided, the string is treated as an ID
+ # under which the notification is registered on the client
+ # side. The ID can be used to unregister for these events
+ # using the `client/unregisterCapability` request.
+ #
+ # @return [string | boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#32
+ def change_notifications; end
+
+ # The server has support for workspace folders
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#18
+ def supported; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#38
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb#42
+ def to_json(*args); end
+end
+
+# A full document diagnostic report for a workspace diagnostic result.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceFullDocumentDiagnosticReport
+ # @return [WorkspaceFullDocumentDiagnosticReport] a new instance of WorkspaceFullDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#8
+ def initialize(kind:, items:, uri:, version:, result_id: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#63
+ def attributes; end
+
+ # The actual items.
+ #
+ # @return [Diagnostic[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#42
+ def items; end
+
+ # A full document diagnostic report.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#24
+ def kind; end
+
+ # An optional result id. If provided it will
+ # be sent on the next diagnostic request for the
+ # same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#34
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#65
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#69
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#50
+ def uri; end
+
+ # The version number for which the diagnostics are reported.
+ # If the document is not marked as open `null` can be provided.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb#59
+ def version; end
+end
+
+# A special workspace symbol that supports locations without a range
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceSymbol
+ # @return [WorkspaceSymbol] a new instance of WorkspaceSymbol
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#8
+ def initialize(name:, kind:, location:, tags: T.unsafe(nil), container_name: T.unsafe(nil), data: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#77
+ def attributes; end
+
+ # The name of the symbol containing this symbol. This information is for
+ # user interface purposes (e.g. to render a qualifier in the user interface
+ # if necessary). It can't be used to re-infer a hierarchy for the document
+ # symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#52
+ def container_name; end
+
+ # A data entry field that is preserved on a workspace symbol between a
+ # workspace symbol request and a workspace symbol resolve request.
+ #
+ # @return [LSPAny]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#73
+ def data; end
+
+ # The kind of this symbol.
+ #
+ # @return [SymbolKind]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#33
+ def kind; end
+
+ # The location of this symbol. Whether a server is allowed to
+ # return a location without a range depends on the client
+ # capability `workspace.symbol.resolveSupport`.
+ #
+ # See also `SymbolInformation.location`.
+ #
+ # @return [Location | { uri: string; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#64
+ def location; end
+
+ # The name of this symbol.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#25
+ def name; end
+
+ # Tags for this completion item.
+ #
+ # @return [1[]]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#41
+ def tags; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#79
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol.rb#83
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolClientCapabilities
+ # @return [WorkspaceSymbolClientCapabilities] a new instance of WorkspaceSymbolClientCapabilities
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#5
+ def initialize(dynamic_registration: T.unsafe(nil), symbol_kind: T.unsafe(nil), tag_support: T.unsafe(nil), resolve_support: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#52
+ def attributes; end
+
+ # Symbol request supports dynamic registration.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#20
+ def dynamic_registration; end
+
+ # The client support partial workspace symbols. The client will send the
+ # request `workspaceSymbol/resolve` to the server to resolve additional
+ # properties.
+ #
+ # @return [{ properties: string[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#48
+ def resolve_support; end
+
+ # Specific capabilities for the `SymbolKind` in the `workspace/symbol`
+ # request.
+ #
+ # @return [{ valueSet?: SymbolKind[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#29
+ def symbol_kind; end
+
+ # The client supports tags on `SymbolInformation` and `WorkspaceSymbol`.
+ # Clients supporting tags have to handle unknown tags gracefully.
+ #
+ # @return [{ valueSet: 1[]; }]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#38
+ def tag_support; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#54
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb#58
+ def to_json(*args); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolOptions
+ # @return [WorkspaceSymbolOptions] a new instance of WorkspaceSymbolOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#28
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for a workspace symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#24
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_options.rb#15
+ def work_done_progress; end
+end
+
+# The parameters of a Workspace Symbol Request.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceSymbolParams
+ # @return [WorkspaceSymbolParams] a new instance of WorkspaceSymbolParams
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#8
+ def initialize(query:, work_done_token: T.unsafe(nil), partial_result_token: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#44
+ def attributes; end
+
+ # An optional token that a server can use to report partial results (e.g.
+ # streaming) to the client.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#31
+ def partial_result_token; end
+
+ # A query string to filter symbols by. Clients may send an empty
+ # string here to request all symbols.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#40
+ def query; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#46
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#50
+ def to_json(*args); end
+
+ # An optional token that a server can use to report work done progress.
+ #
+ # @return [ProgressToken]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_params.rb#22
+ def work_done_token; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#4
+class LanguageServer::Protocol::Interface::WorkspaceSymbolRegistrationOptions
+ # @return [WorkspaceSymbolRegistrationOptions] a new instance of WorkspaceSymbolRegistrationOptions
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#5
+ def initialize(work_done_progress: T.unsafe(nil), resolve_provider: T.unsafe(nil)); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#28
+ def attributes; end
+
+ # The server provides support to resolve additional
+ # information for a workspace symbol.
+ #
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#24
+ def resolve_provider; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#30
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#34
+ def to_json(*args); end
+
+ # @return [boolean]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_symbol_registration_options.rb#15
+ def work_done_progress; end
+end
+
+# An unchanged document diagnostic report for a workspace diagnostic result.
+#
+# source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#7
+class LanguageServer::Protocol::Interface::WorkspaceUnchangedDocumentDiagnosticReport
+ # @return [WorkspaceUnchangedDocumentDiagnosticReport] a new instance of WorkspaceUnchangedDocumentDiagnosticReport
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#8
+ def initialize(kind:, result_id:, uri:, version:); end
+
+ # Returns the value of attribute attributes.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#56
+ def attributes; end
+
+ # A document diagnostic report indicating
+ # no changes to the last result. A server can
+ # only return `unchanged` if result ids are
+ # provided.
+ #
+ # @return [any]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#26
+ def kind; end
+
+ # A result id which will be sent on the next
+ # diagnostic request for the same document.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#35
+ def result_id; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#58
+ def to_hash; end
+
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#62
+ def to_json(*args); end
+
+ # The URI for which diagnostic information is reported.
+ #
+ # @return [string]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#43
+ def uri; end
+
+ # The version number for which the diagnostics are reported.
+ # If the document is not marked as open `null` can be provided.
+ #
+ # @return [number]
+ #
+ # source://language_server-protocol//lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb#52
+ def version; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#7
+module LanguageServer::Protocol::Transport; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#8
+module LanguageServer::Protocol::Transport::Io; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#9
+class LanguageServer::Protocol::Transport::Io::Reader
+ # @return [Reader] a new instance of Reader
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#10
+ def initialize(io); end
+
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#15
+ def read(&block); end
+
+ private
+
+ # Returns the value of attribute io.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/reader.rb#26
+ def io; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#5
+class LanguageServer::Protocol::Transport::Io::Writer
+ # @return [Writer] a new instance of Writer
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#8
+ def initialize(io); end
+
+ # Returns the value of attribute io.
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#6
+ def io; end
+
+ # source://language_server-protocol//lib/language_server/protocol/transport/io/writer.rb#13
+ def write(response); end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#4
+module LanguageServer::Protocol::Transport::Stdio; end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#5
+class LanguageServer::Protocol::Transport::Stdio::Reader < ::LanguageServer::Protocol::Transport::Io::Reader
+ # @return [Reader] a new instance of Reader
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/stdio/reader.rb#6
+ def initialize; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#5
+class LanguageServer::Protocol::Transport::Stdio::Writer < ::LanguageServer::Protocol::Transport::Io::Writer
+ # @return [Writer] a new instance of Writer
+ #
+ # source://language_server-protocol//lib/language_server/protocol/transport/stdio/writer.rb#6
+ def initialize; end
+end
+
+# source://language_server-protocol//lib/language_server/protocol/version.rb#3
+LanguageServer::Protocol::VERSION = T.let(T.unsafe(nil), String)