ruby-lsp-rspec 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ruby_lsp_rspec/version.rb +1 -1
- metadata +1 -45
- data/misc/example.gif +0 -0
- data/sorbet/config +0 -4
- data/sorbet/rbi/annotations/rainbow.rbi +0 -269
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -584
- data/sorbet/rbi/gems/base64@0.1.1.rbi +0 -172
- data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
- data/sorbet/rbi/gems/erubi@1.12.0.rbi +0 -145
- data/sorbet/rbi/gems/io-console@0.6.0.rbi +0 -8
- data/sorbet/rbi/gems/json@2.6.3.rbi +0 -1533
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -158
- data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -273
- data/sorbet/rbi/gems/parser@3.2.2.3.rbi +0 -7253
- data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
- data/sorbet/rbi/gems/psych@5.1.0.rbi +0 -1760
- data/sorbet/rbi/gems/racc@1.7.1.rbi +0 -161
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -402
- data/sorbet/rbi/gems/rake@13.0.6.rbi +0 -3024
- data/sorbet/rbi/gems/rbi@0.0.17.rbi +0 -2972
- data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +0 -3749
- data/sorbet/rbi/gems/reline@0.3.8.rbi +0 -2260
- data/sorbet/rbi/gems/rexml@3.2.6.rbi +0 -4781
- data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +0 -10805
- data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +0 -8100
- data/sorbet/rbi/gems/rspec-mocks@3.12.5.rbi +0 -5305
- data/sorbet/rbi/gems/rspec-support@3.12.0.rbi +0 -1611
- data/sorbet/rbi/gems/rspec@3.12.0.rbi +0 -82
- data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +0 -6985
- data/sorbet/rbi/gems/rubocop@1.56.2.rbi +0 -56538
- data/sorbet/rbi/gems/ruby-lsp@0.10.1.rbi +0 -2903
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1317
- data/sorbet/rbi/gems/spoom@1.2.3.rbi +0 -3203
- data/sorbet/rbi/gems/stringio@3.0.8.rbi +0 -8
- data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +0 -22855
- data/sorbet/rbi/gems/tapioca@0.11.8.rbi +0 -3349
- data/sorbet/rbi/gems/thor@1.2.2.rbi +0 -3965
- data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +0 -65
- data/sorbet/rbi/gems/unparser@0.6.8.rbi +0 -4525
- data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +0 -428
- data/sorbet/rbi/gems/yard@0.9.34.rbi +0 -18219
- data/sorbet/rbi/gems/yarp@0.11.0.rbi +0 -15141
- data/sorbet/rbi/shims/uri.rbi +0 -14
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -8
@@ -1,2903 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
|
3
|
-
# DO NOT EDIT MANUALLY
|
4
|
-
# This is an autogenerated file for types exported from the `ruby-lsp` gem.
|
5
|
-
# Please instead update this file by running `bin/tapioca gem ruby-lsp`.
|
6
|
-
|
7
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/indexable_path.rb#4
|
8
|
-
module RubyIndexer
|
9
|
-
class << self
|
10
|
-
# source://ruby-lsp/lib/ruby_indexer/ruby_indexer.rb#18
|
11
|
-
sig { returns(::RubyIndexer::Configuration) }
|
12
|
-
def configuration; end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#5
|
17
|
-
class RubyIndexer::Configuration
|
18
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#20
|
19
|
-
sig { void }
|
20
|
-
def initialize; end
|
21
|
-
|
22
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#65
|
23
|
-
sig { returns(T::Array[::RubyIndexer::IndexablePath]) }
|
24
|
-
def indexables; end
|
25
|
-
|
26
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#51
|
27
|
-
sig { void }
|
28
|
-
def load_config; end
|
29
|
-
|
30
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#148
|
31
|
-
sig { returns(::Regexp) }
|
32
|
-
def magic_comment_regex; end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#170
|
37
|
-
sig { params(config: T::Hash[::String, T.untyped]).void }
|
38
|
-
def apply_config(config); end
|
39
|
-
|
40
|
-
# @raise [ArgumentError]
|
41
|
-
#
|
42
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#155
|
43
|
-
sig { params(config: T::Hash[::String, T.untyped]).void }
|
44
|
-
def validate_config!(config); end
|
45
|
-
end
|
46
|
-
|
47
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#8
|
48
|
-
RubyIndexer::Configuration::CONFIGURATION_SCHEMA = T.let(T.unsafe(nil), Hash)
|
49
|
-
|
50
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#5
|
51
|
-
class RubyIndexer::Index
|
52
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#12
|
53
|
-
sig { void }
|
54
|
-
def initialize; end
|
55
|
-
|
56
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#63
|
57
|
-
sig { params(entry: ::RubyIndexer::Index::Entry).void }
|
58
|
-
def <<(entry); end
|
59
|
-
|
60
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#72
|
61
|
-
sig { params(fully_qualified_name: ::String).returns(T.nilable(T::Array[::RubyIndexer::Index::Entry])) }
|
62
|
-
def [](fully_qualified_name); end
|
63
|
-
|
64
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#35
|
65
|
-
sig { params(indexable: ::RubyIndexer::IndexablePath).void }
|
66
|
-
def delete(indexable); end
|
67
|
-
|
68
|
-
# Fuzzy searches index entries based on Jaro-Winkler similarity. If no query is provided, all entries are returned
|
69
|
-
#
|
70
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#108
|
71
|
-
sig { params(query: T.nilable(::String)).returns(T::Array[::RubyIndexer::Index::Entry]) }
|
72
|
-
def fuzzy_search(query); end
|
73
|
-
|
74
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#139
|
75
|
-
sig { params(indexable_paths: T::Array[::RubyIndexer::IndexablePath]).void }
|
76
|
-
def index_all(indexable_paths: T.unsafe(nil)); end
|
77
|
-
|
78
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#144
|
79
|
-
sig { params(indexable_path: ::RubyIndexer::IndexablePath, source: T.nilable(::String)).void }
|
80
|
-
def index_single(indexable_path, source = T.unsafe(nil)); end
|
81
|
-
|
82
|
-
# Searches entries in the index based on an exact prefix, intended for providing autocomplete. All possible matches
|
83
|
-
# to the prefix are returned. The return is an array of arrays, where each entry is the array of entries for a given
|
84
|
-
# name match. For example:
|
85
|
-
# ## Example
|
86
|
-
# ```ruby
|
87
|
-
# # If the index has two entries for `Foo::Bar` and one for `Foo::Baz`, then:
|
88
|
-
# index.prefix_search("Foo::B")
|
89
|
-
# # Will return:
|
90
|
-
# [
|
91
|
-
# [#<Entry::Class name="Foo::Bar">, #<Entry::Class name="Foo::Bar">],
|
92
|
-
# [#<Entry::Class name="Foo::Baz">],
|
93
|
-
# ]
|
94
|
-
# ```
|
95
|
-
#
|
96
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#95
|
97
|
-
sig { params(query: ::String, nesting: T::Array[::String]).returns(T::Array[T::Array[::RubyIndexer::Index::Entry]]) }
|
98
|
-
def prefix_search(query, nesting); end
|
99
|
-
|
100
|
-
# Try to find the entry based on the nesting from the most specific to the least specific. For example, if we have
|
101
|
-
# the nesting as ["Foo", "Bar"] and the name as "Baz", we will try to find it in this order:
|
102
|
-
# 1. Foo::Bar::Baz
|
103
|
-
# 2. Foo::Baz
|
104
|
-
# 3. Baz
|
105
|
-
#
|
106
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#127
|
107
|
-
sig { params(name: ::String, nesting: T::Array[::String]).returns(T.nilable(T::Array[::RubyIndexer::Index::Entry])) }
|
108
|
-
def resolve(name, nesting); end
|
109
|
-
|
110
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#77
|
111
|
-
sig { params(query: ::String).returns(T::Array[::RubyIndexer::IndexablePath]) }
|
112
|
-
def search_require_paths(query); end
|
113
|
-
end
|
114
|
-
|
115
|
-
# The minimum Jaro-Winkler similarity score for an entry to be considered a match for a given fuzzy search query
|
116
|
-
#
|
117
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#9
|
118
|
-
RubyIndexer::Index::ENTRY_SIMILARITY_THRESHOLD = T.let(T.unsafe(nil), Float)
|
119
|
-
|
120
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#155
|
121
|
-
class RubyIndexer::Index::Entry
|
122
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#171
|
123
|
-
sig { params(name: ::String, file_path: ::String, location: ::YARP::Location, comments: T::Array[::String]).void }
|
124
|
-
def initialize(name, file_path, location, comments); end
|
125
|
-
|
126
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#168
|
127
|
-
sig { returns(T::Array[::String]) }
|
128
|
-
def comments; end
|
129
|
-
|
130
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#179
|
131
|
-
sig { returns(::String) }
|
132
|
-
def file_name; end
|
133
|
-
|
134
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#162
|
135
|
-
sig { returns(::String) }
|
136
|
-
def file_path; end
|
137
|
-
|
138
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#165
|
139
|
-
sig { returns(::YARP::Location) }
|
140
|
-
def location; end
|
141
|
-
|
142
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#159
|
143
|
-
sig { returns(::String) }
|
144
|
-
def name; end
|
145
|
-
end
|
146
|
-
|
147
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#193
|
148
|
-
class RubyIndexer::Index::Entry::Class < ::RubyIndexer::Index::Entry::Namespace; end
|
149
|
-
|
150
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#196
|
151
|
-
class RubyIndexer::Index::Entry::Constant < ::RubyIndexer::Index::Entry; end
|
152
|
-
|
153
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#190
|
154
|
-
class RubyIndexer::Index::Entry::Module < ::RubyIndexer::Index::Entry::Namespace; end
|
155
|
-
|
156
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#183
|
157
|
-
class RubyIndexer::Index::Entry::Namespace < ::RubyIndexer::Index::Entry
|
158
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#185
|
159
|
-
sig { returns(::String) }
|
160
|
-
def short_name; end
|
161
|
-
end
|
162
|
-
|
163
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#5
|
164
|
-
class RubyIndexer::IndexVisitor < ::YARP::Visitor
|
165
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#9
|
166
|
-
sig { params(index: ::RubyIndexer::Index, parse_result: ::YARP::ParseResult, file_path: ::String).void }
|
167
|
-
def initialize(index, parse_result, file_path); end
|
168
|
-
|
169
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#25
|
170
|
-
sig { void }
|
171
|
-
def run; end
|
172
|
-
|
173
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#30
|
174
|
-
sig { params(node: T.nilable(::YARP::Node)).void }
|
175
|
-
def visit(node); end
|
176
|
-
|
177
|
-
# Override to avoid using `map` instead of `each`
|
178
|
-
#
|
179
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#47
|
180
|
-
sig { params(nodes: T::Array[T.nilable(::YARP::Node)]).void }
|
181
|
-
def visit_all(nodes); end
|
182
|
-
|
183
|
-
private
|
184
|
-
|
185
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#58
|
186
|
-
sig { params(node: T.any(::YARP::ConstantOrWriteNode, ::YARP::ConstantWriteNode)).void }
|
187
|
-
def add_constant(node); end
|
188
|
-
|
189
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#68
|
190
|
-
sig { params(node: T.any(::YARP::ConstantPathOrWriteNode, ::YARP::ConstantPathWriteNode)).void }
|
191
|
-
def add_constant_with_path(node); end
|
192
|
-
|
193
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#78
|
194
|
-
sig { params(node: T.any(::YARP::ClassNode, ::YARP::ModuleNode), klass: T.class_of(RubyIndexer::Index::Entry)).void }
|
195
|
-
def add_index_entry(node, klass); end
|
196
|
-
|
197
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#93
|
198
|
-
sig { params(node: ::YARP::Node).returns(T::Array[::String]) }
|
199
|
-
def collect_comments(node); end
|
200
|
-
|
201
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visitor.rb#115
|
202
|
-
sig { params(name: ::String).returns(::String) }
|
203
|
-
def fully_qualify_name(name); end
|
204
|
-
end
|
205
|
-
|
206
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/indexable_path.rb#5
|
207
|
-
class RubyIndexer::IndexablePath
|
208
|
-
# An IndexablePath is instantiated with a load_path_entry and a full_path. The load_path_entry is where the file can
|
209
|
-
# be found in the $LOAD_PATH, which we use to determine the require_path. The load_path_entry may be `nil` if the
|
210
|
-
# indexer is configured to go through files that do not belong in the $LOAD_PATH. For example,
|
211
|
-
# `sorbet/tapioca/require.rb` ends up being a part of the paths to be indexed because it's a Ruby file inside the
|
212
|
-
# project, but the `sorbet` folder is not a part of the $LOAD_PATH. That means that both its load_path_entry and
|
213
|
-
# require_path will be `nil`, since it cannot be required by the project
|
214
|
-
#
|
215
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/indexable_path.rb#21
|
216
|
-
sig { params(load_path_entry: T.nilable(::String), full_path: ::String).void }
|
217
|
-
def initialize(load_path_entry, full_path); end
|
218
|
-
|
219
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/indexable_path.rb#12
|
220
|
-
sig { returns(::String) }
|
221
|
-
def full_path; end
|
222
|
-
|
223
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/indexable_path.rb#9
|
224
|
-
sig { returns(T.nilable(::String)) }
|
225
|
-
def require_path; end
|
226
|
-
end
|
227
|
-
|
228
|
-
# A PrefixTree is a data structure that allows searching for partial strings fast. The tree is similar to a nested
|
229
|
-
# hash structure, where the keys are the characters of the inserted strings.
|
230
|
-
#
|
231
|
-
# ## Example
|
232
|
-
# ```ruby
|
233
|
-
# tree = PrefixTree[String].new
|
234
|
-
# # Insert entries using the same key and value
|
235
|
-
# tree.insert("bar", "bar")
|
236
|
-
# tree.insert("baz", "baz")
|
237
|
-
# # Internally, the structure is analogous to this, but using nodes:
|
238
|
-
# # {
|
239
|
-
# # "b" => {
|
240
|
-
# # "a" => {
|
241
|
-
# # "r" => "bar",
|
242
|
-
# # "z" => "baz"
|
243
|
-
# # }
|
244
|
-
# # }
|
245
|
-
# # }
|
246
|
-
# # When we search it, it finds all possible values based on partial (or complete matches):
|
247
|
-
# tree.search("") # => ["bar", "baz"]
|
248
|
-
# tree.search("b") # => ["bar", "baz"]
|
249
|
-
# tree.search("ba") # => ["bar", "baz"]
|
250
|
-
# tree.search("bar") # => ["bar"]
|
251
|
-
# ```
|
252
|
-
#
|
253
|
-
# A PrefixTree is useful for autocomplete, since we always want to find all alternatives while the developer hasn't
|
254
|
-
# finished typing yet. This PrefixTree implementation allows for string keys and any arbitrary value using the generic
|
255
|
-
# `Value` type.
|
256
|
-
#
|
257
|
-
# See https://en.wikipedia.org/wiki/Trie for more information
|
258
|
-
#
|
259
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#35
|
260
|
-
class RubyIndexer::PrefixTree
|
261
|
-
extend T::Generic
|
262
|
-
|
263
|
-
Value = type_member
|
264
|
-
|
265
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#42
|
266
|
-
sig { void }
|
267
|
-
def initialize; end
|
268
|
-
|
269
|
-
# Deletes the entry identified by `key` from the tree. Notice that a partial match will still delete all entries
|
270
|
-
# that match it. For example, if the tree contains `foo` and we ask to delete `fo`, then `foo` will be deleted
|
271
|
-
#
|
272
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#77
|
273
|
-
sig { params(key: ::String).void }
|
274
|
-
def delete(key); end
|
275
|
-
|
276
|
-
# Inserts a `value` using the given `key`
|
277
|
-
#
|
278
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#60
|
279
|
-
sig { params(key: ::String, value: Value).void }
|
280
|
-
def insert(key, value); end
|
281
|
-
|
282
|
-
# Search the PrefixTree based on a given `prefix`. If `foo` is an entry in the tree, then searching for `fo` will
|
283
|
-
# return it as a result. The result is always an array of the type of value attribute to the generic `Value` type.
|
284
|
-
# Notice that if the `Value` is an array, this method will return an array of arrays, where each entry is the array
|
285
|
-
# of values for a given match
|
286
|
-
#
|
287
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#51
|
288
|
-
sig { params(prefix: ::String).returns(T::Array[Value]) }
|
289
|
-
def search(prefix); end
|
290
|
-
|
291
|
-
private
|
292
|
-
|
293
|
-
# Find a node that matches the given `key`
|
294
|
-
#
|
295
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#97
|
296
|
-
sig { params(key: ::String).returns(T.nilable(RubyIndexer::PrefixTree::Node[Value])) }
|
297
|
-
def find_node(key); end
|
298
|
-
end
|
299
|
-
|
300
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#110
|
301
|
-
class RubyIndexer::PrefixTree::Node
|
302
|
-
extend T::Generic
|
303
|
-
|
304
|
-
Value = type_member
|
305
|
-
|
306
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#132
|
307
|
-
sig { params(key: ::String, value: Value, parent: T.nilable(RubyIndexer::PrefixTree::Node[Value])).void }
|
308
|
-
def initialize(key, value, parent = T.unsafe(nil)); end
|
309
|
-
|
310
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#117
|
311
|
-
sig { returns(T::Hash[::String, RubyIndexer::PrefixTree::Node[Value]]) }
|
312
|
-
def children; end
|
313
|
-
|
314
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#141
|
315
|
-
sig { returns(T::Array[Value]) }
|
316
|
-
def collect; end
|
317
|
-
|
318
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#120
|
319
|
-
sig { returns(::String) }
|
320
|
-
def key; end
|
321
|
-
|
322
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#126
|
323
|
-
sig { returns(T::Boolean) }
|
324
|
-
def leaf; end
|
325
|
-
|
326
|
-
# @return [Boolean]
|
327
|
-
#
|
328
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#126
|
329
|
-
def leaf=(_arg0); end
|
330
|
-
|
331
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#129
|
332
|
-
sig { returns(T.nilable(RubyIndexer::PrefixTree::Node[Value])) }
|
333
|
-
def parent; end
|
334
|
-
|
335
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#123
|
336
|
-
sig { returns(Value) }
|
337
|
-
def value; end
|
338
|
-
|
339
|
-
# @return [Value]
|
340
|
-
#
|
341
|
-
# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#123
|
342
|
-
def value=(_arg0); end
|
343
|
-
end
|
344
|
-
|
345
|
-
# source://ruby-lsp/lib/ruby-lsp.rb#4
|
346
|
-
module RubyLsp; end
|
347
|
-
|
348
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#7
|
349
|
-
RubyLsp::Constant = LanguageServer::Protocol::Constant
|
350
|
-
|
351
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#5
|
352
|
-
module RubyLsp::DependencyDetector
|
353
|
-
class << self
|
354
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#10
|
355
|
-
sig { returns(::String) }
|
356
|
-
def detected_formatter; end
|
357
|
-
|
358
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#22
|
359
|
-
sig { returns(::String) }
|
360
|
-
def detected_test_library; end
|
361
|
-
|
362
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#45
|
363
|
-
sig { params(gem_pattern: ::Regexp).returns(T::Boolean) }
|
364
|
-
def direct_dependency?(gem_pattern); end
|
365
|
-
|
366
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#40
|
367
|
-
sig { returns(T::Boolean) }
|
368
|
-
def typechecker?; end
|
369
|
-
end
|
370
|
-
end
|
371
|
-
|
372
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/dependency_detector.rb#53
|
373
|
-
RubyLsp::DependencyDetector::HAS_TYPECHECKER = T.let(T.unsafe(nil), TrueClass)
|
374
|
-
|
375
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#5
|
376
|
-
class RubyLsp::Document
|
377
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#25
|
378
|
-
sig { params(source: ::String, version: ::Integer, uri: ::URI::Generic, encoding: ::String).void }
|
379
|
-
def initialize(source:, version:, uri:, encoding: T.unsafe(nil)); end
|
380
|
-
|
381
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#39
|
382
|
-
sig { params(other: ::RubyLsp::Document).returns(T::Boolean) }
|
383
|
-
def ==(other); end
|
384
|
-
|
385
|
-
# TODO: remove this method once all nonpositional requests have been migrated to the listener pattern
|
386
|
-
#
|
387
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#51
|
388
|
-
sig do
|
389
|
-
type_parameters(:T)
|
390
|
-
.params(
|
391
|
-
request_name: ::String,
|
392
|
-
block: T.proc.params(document: ::RubyLsp::Document).returns(T.type_parameter(:T))
|
393
|
-
).returns(T.type_parameter(:T))
|
394
|
-
end
|
395
|
-
def cache_fetch(request_name, &block); end
|
396
|
-
|
397
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#66
|
398
|
-
sig { params(request_name: ::String).returns(T.untyped) }
|
399
|
-
def cache_get(request_name); end
|
400
|
-
|
401
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#61
|
402
|
-
sig { type_parameters(:T).params(request_name: ::String, value: T.type_parameter(:T)).returns(T.type_parameter(:T)) }
|
403
|
-
def cache_set(request_name, value); end
|
404
|
-
|
405
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#109
|
406
|
-
sig { returns(::RubyLsp::Document::Scanner) }
|
407
|
-
def create_scanner; end
|
408
|
-
|
409
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#132
|
410
|
-
sig do
|
411
|
-
params(
|
412
|
-
node: ::SyntaxTree::Node,
|
413
|
-
char_position: ::Integer,
|
414
|
-
node_types: T::Array[T.class_of(SyntaxTree::Node)]
|
415
|
-
).returns([T.nilable(::SyntaxTree::Node), T.nilable(::SyntaxTree::Node), T::Array[::String]])
|
416
|
-
end
|
417
|
-
def locate(node, char_position, node_types: T.unsafe(nil)); end
|
418
|
-
|
419
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#119
|
420
|
-
sig do
|
421
|
-
params(
|
422
|
-
position: {line: ::Integer, character: ::Integer},
|
423
|
-
node_types: T::Array[T.class_of(SyntaxTree::Node)]
|
424
|
-
).returns([T.nilable(::SyntaxTree::Node), T.nilable(::SyntaxTree::Node), T::Array[::String]])
|
425
|
-
end
|
426
|
-
def locate_node(position, node_types: T.unsafe(nil)); end
|
427
|
-
|
428
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#88
|
429
|
-
sig { void }
|
430
|
-
def parse; end
|
431
|
-
|
432
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#104
|
433
|
-
sig { returns(T::Boolean) }
|
434
|
-
def parsed?; end
|
435
|
-
|
436
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#71
|
437
|
-
sig do
|
438
|
-
params(
|
439
|
-
edits: T::Array[{range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}, text: ::String}],
|
440
|
-
version: ::Integer
|
441
|
-
).void
|
442
|
-
end
|
443
|
-
def push_edits(edits, version:); end
|
444
|
-
|
445
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#16
|
446
|
-
sig { returns(::String) }
|
447
|
-
def source; end
|
448
|
-
|
449
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#99
|
450
|
-
sig { returns(T::Boolean) }
|
451
|
-
def syntax_error?; end
|
452
|
-
|
453
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#13
|
454
|
-
sig { returns(T.nilable(::SyntaxTree::Node)) }
|
455
|
-
def tree; end
|
456
|
-
|
457
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#22
|
458
|
-
sig { returns(::URI::Generic) }
|
459
|
-
def uri; end
|
460
|
-
|
461
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#19
|
462
|
-
sig { returns(::Integer) }
|
463
|
-
def version; end
|
464
|
-
end
|
465
|
-
|
466
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#10
|
467
|
-
RubyLsp::Document::EditShape = T.type_alias { {range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}, text: ::String} }
|
468
|
-
|
469
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#8
|
470
|
-
RubyLsp::Document::PositionShape = T.type_alias { {line: ::Integer, character: ::Integer} }
|
471
|
-
|
472
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#9
|
473
|
-
RubyLsp::Document::RangeShape = T.type_alias { {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}} }
|
474
|
-
|
475
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#182
|
476
|
-
class RubyLsp::Document::Scanner
|
477
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#190
|
478
|
-
sig { params(source: ::String, encoding: ::String).void }
|
479
|
-
def initialize(source, encoding); end
|
480
|
-
|
481
|
-
# Finds the character index inside the source string for a given line and column
|
482
|
-
#
|
483
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#199
|
484
|
-
sig { params(position: {line: ::Integer, character: ::Integer}).returns(::Integer) }
|
485
|
-
def find_char_position(position); end
|
486
|
-
|
487
|
-
# Subtract 1 for each character after 0xFFFF in the current line from the column position, so that we hit the
|
488
|
-
# right character in the UTF-8 representation
|
489
|
-
#
|
490
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#221
|
491
|
-
sig { params(current_position: ::Integer, requested_position: ::Integer).returns(::Integer) }
|
492
|
-
def utf_16_character_position_correction(current_position, requested_position); end
|
493
|
-
end
|
494
|
-
|
495
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#185
|
496
|
-
RubyLsp::Document::Scanner::LINE_BREAK = T.let(T.unsafe(nil), Integer)
|
497
|
-
|
498
|
-
# After character 0xFFFF, UTF-16 considers characters to have length 2 and we have to account for that
|
499
|
-
#
|
500
|
-
# source://ruby-lsp/lib/ruby_lsp/document.rb#187
|
501
|
-
RubyLsp::Document::Scanner::SURROGATE_PAIR_START = T.let(T.unsafe(nil), Integer)
|
502
|
-
|
503
|
-
# EventEmitter is an intermediary between our requests and Syntax Tree visitors. It's used to visit the document's AST
|
504
|
-
# and emit events that the requests can listen to for providing functionality. Usages:
|
505
|
-
#
|
506
|
-
# - For positional requests, locate the target node and use `emit_for_target` to fire events for each listener
|
507
|
-
# - For nonpositional requests, use `visit` to go through the AST, which will fire events for each listener as nodes
|
508
|
-
# are found
|
509
|
-
#
|
510
|
-
# # Example
|
511
|
-
#
|
512
|
-
# ```ruby
|
513
|
-
# target_node = document.locate_node(position)
|
514
|
-
# emitter = EventEmitter.new
|
515
|
-
# listener = Requests::Hover.new(emitter, @message_queue)
|
516
|
-
# emitter.emit_for_target(target_node)
|
517
|
-
# listener.response
|
518
|
-
# ```
|
519
|
-
#
|
520
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#21
|
521
|
-
class RubyLsp::EventEmitter < ::SyntaxTree::Visitor
|
522
|
-
include ::SyntaxTree::WithScope
|
523
|
-
|
524
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#26
|
525
|
-
sig { void }
|
526
|
-
def initialize; end
|
527
|
-
|
528
|
-
# Emit events for a specific node. This is similar to the regular `visit` method, but avoids going deeper into the
|
529
|
-
# tree for performance
|
530
|
-
#
|
531
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#39
|
532
|
-
sig { params(node: T.nilable(::SyntaxTree::Node)).void }
|
533
|
-
def emit_for_target(node); end
|
534
|
-
|
535
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#32
|
536
|
-
sig { params(listener: RubyLsp::Listener[T.untyped], events: ::Symbol).void }
|
537
|
-
def register(listener, *events); end
|
538
|
-
|
539
|
-
# Visit dispatchers are below. Notice that for nodes that create a new scope (e.g.: classes, modules, method defs)
|
540
|
-
# we need both an `on_*` and `after_*` event. This is because some requests must know when we exit the scope
|
541
|
-
#
|
542
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#59
|
543
|
-
sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
|
544
|
-
def visit(node); end
|
545
|
-
|
546
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#178
|
547
|
-
sig { override.params(node: ::SyntaxTree::Binary).void }
|
548
|
-
def visit_binary(node); end
|
549
|
-
|
550
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#166
|
551
|
-
sig { override.params(node: ::SyntaxTree::BlockVar).void }
|
552
|
-
def visit_block_var(node); end
|
553
|
-
|
554
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#92
|
555
|
-
sig { override.params(node: ::SyntaxTree::CallNode).void }
|
556
|
-
def visit_call(node); end
|
557
|
-
|
558
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#65
|
559
|
-
sig { override.params(node: ::SyntaxTree::ClassDeclaration).void }
|
560
|
-
def visit_class(node); end
|
561
|
-
|
562
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#79
|
563
|
-
sig { override.params(node: ::SyntaxTree::Command).void }
|
564
|
-
def visit_command(node); end
|
565
|
-
|
566
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#86
|
567
|
-
sig { override.params(node: ::SyntaxTree::CommandCall).void }
|
568
|
-
def visit_command_call(node); end
|
569
|
-
|
570
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#130
|
571
|
-
sig { override.params(node: ::SyntaxTree::Comment).void }
|
572
|
-
def visit_comment(node); end
|
573
|
-
|
574
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#184
|
575
|
-
sig { override.params(node: ::SyntaxTree::Const).void }
|
576
|
-
def visit_const(node); end
|
577
|
-
|
578
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#105
|
579
|
-
sig { override.params(node: ::SyntaxTree::ConstPathField).void }
|
580
|
-
def visit_const_path_field(node); end
|
581
|
-
|
582
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#117
|
583
|
-
sig { override.params(node: ::SyntaxTree::DefNode).void }
|
584
|
-
def visit_def(node); end
|
585
|
-
|
586
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#154
|
587
|
-
sig { override.params(node: ::SyntaxTree::Field).void }
|
588
|
-
def visit_field(node); end
|
589
|
-
|
590
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#142
|
591
|
-
sig { override.params(node: ::SyntaxTree::Kw).void }
|
592
|
-
def visit_kw(node); end
|
593
|
-
|
594
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#172
|
595
|
-
sig { override.params(node: ::SyntaxTree::LambdaVar).void }
|
596
|
-
def visit_lambda_var(node); end
|
597
|
-
|
598
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#72
|
599
|
-
sig { override.params(node: ::SyntaxTree::ModuleDeclaration).void }
|
600
|
-
def visit_module(node); end
|
601
|
-
|
602
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#148
|
603
|
-
sig { override.params(node: ::SyntaxTree::Params).void }
|
604
|
-
def visit_params(node); end
|
605
|
-
|
606
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#136
|
607
|
-
sig { override.params(node: ::SyntaxTree::Rescue).void }
|
608
|
-
def visit_rescue(node); end
|
609
|
-
|
610
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#111
|
611
|
-
sig { override.params(node: ::SyntaxTree::TopConstField).void }
|
612
|
-
def visit_top_const_field(node); end
|
613
|
-
|
614
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#124
|
615
|
-
sig { override.params(node: ::SyntaxTree::VarField).void }
|
616
|
-
def visit_var_field(node); end
|
617
|
-
|
618
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#160
|
619
|
-
sig { override.params(node: ::SyntaxTree::VarRef).void }
|
620
|
-
def visit_var_ref(node); end
|
621
|
-
|
622
|
-
# source://ruby-lsp/lib/ruby_lsp/event_emitter.rb#99
|
623
|
-
sig { override.params(node: ::SyntaxTree::VCall).void }
|
624
|
-
def visit_vcall(node); end
|
625
|
-
end
|
626
|
-
|
627
|
-
# This class dispatches a request execution to the right request class. No IO should happen anywhere here!
|
628
|
-
#
|
629
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#8
|
630
|
-
class RubyLsp::Executor
|
631
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#12
|
632
|
-
sig { params(store: ::RubyLsp::Store, message_queue: ::Thread::Queue).void }
|
633
|
-
def initialize(store, message_queue); end
|
634
|
-
|
635
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#22
|
636
|
-
sig { params(request: T::Hash[::Symbol, T.untyped]).returns(::RubyLsp::Result) }
|
637
|
-
def execute(request); end
|
638
|
-
|
639
|
-
private
|
640
|
-
|
641
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#527
|
642
|
-
sig { params(id: ::String, title: ::String).void }
|
643
|
-
def begin_progress(id, title); end
|
644
|
-
|
645
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#721
|
646
|
-
sig { void }
|
647
|
-
def check_formatter_is_available; end
|
648
|
-
|
649
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#404
|
650
|
-
sig do
|
651
|
-
params(
|
652
|
-
uri: ::URI::Generic,
|
653
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}},
|
654
|
-
context: T::Hash[::Symbol, T.untyped]
|
655
|
-
).returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::CodeAction]))
|
656
|
-
end
|
657
|
-
def code_action(uri, range, context); end
|
658
|
-
|
659
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#411
|
660
|
-
sig { params(params: T::Hash[::Symbol, T.untyped]).returns(::LanguageServer::Protocol::Interface::CodeAction) }
|
661
|
-
def code_action_resolve(params); end
|
662
|
-
|
663
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#472
|
664
|
-
sig do
|
665
|
-
params(
|
666
|
-
uri: ::URI::Generic,
|
667
|
-
position: {line: ::Integer, character: ::Integer}
|
668
|
-
).returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::CompletionItem]))
|
669
|
-
end
|
670
|
-
def completion(uri, position); end
|
671
|
-
|
672
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#247
|
673
|
-
sig do
|
674
|
-
params(
|
675
|
-
uri: ::URI::Generic,
|
676
|
-
position: {line: ::Integer, character: ::Integer}
|
677
|
-
).returns(T.nilable(T.any(::LanguageServer::Protocol::Interface::Location, T::Array[::LanguageServer::Protocol::Interface::Location])))
|
678
|
-
end
|
679
|
-
def definition(uri, position); end
|
680
|
-
|
681
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#441
|
682
|
-
sig do
|
683
|
-
params(
|
684
|
-
uri: ::URI::Generic
|
685
|
-
).returns(T.nilable(::LanguageServer::Protocol::Interface::FullDocumentDiagnosticReport))
|
686
|
-
end
|
687
|
-
def diagnostic(uri); end
|
688
|
-
|
689
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#184
|
690
|
-
sig { params(changes: T::Array[{uri: ::String, type: ::Integer}]).returns(::Object) }
|
691
|
-
def did_change_watched_files(changes); end
|
692
|
-
|
693
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#372
|
694
|
-
sig do
|
695
|
-
params(
|
696
|
-
uri: ::URI::Generic,
|
697
|
-
position: {line: ::Integer, character: ::Integer}
|
698
|
-
).returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::DocumentHighlight]))
|
699
|
-
end
|
700
|
-
def document_highlight(uri, position); end
|
701
|
-
|
702
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#545
|
703
|
-
sig { params(id: ::String).void }
|
704
|
-
def end_progress(id); end
|
705
|
-
|
706
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#265
|
707
|
-
sig { params(uri: ::URI::Generic).returns(T::Array[::LanguageServer::Protocol::Interface::FoldingRange]) }
|
708
|
-
def folding_range(uri); end
|
709
|
-
|
710
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#348
|
711
|
-
sig { params(uri: ::URI::Generic).returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::TextEdit])) }
|
712
|
-
def formatting(uri); end
|
713
|
-
|
714
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#277
|
715
|
-
sig do
|
716
|
-
params(
|
717
|
-
uri: ::URI::Generic,
|
718
|
-
position: {line: ::Integer, character: ::Integer}
|
719
|
-
).returns(T.nilable(::LanguageServer::Protocol::Interface::Hover))
|
720
|
-
end
|
721
|
-
def hover(uri, position); end
|
722
|
-
|
723
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#558
|
724
|
-
sig do
|
725
|
-
params(
|
726
|
-
options: T::Hash[::Symbol, T.untyped]
|
727
|
-
).returns(::LanguageServer::Protocol::Interface::InitializeResult)
|
728
|
-
end
|
729
|
-
def initialize_request(options); end
|
730
|
-
|
731
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#384
|
732
|
-
sig do
|
733
|
-
params(
|
734
|
-
uri: ::URI::Generic,
|
735
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}
|
736
|
-
).returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::InlayHint]))
|
737
|
-
end
|
738
|
-
def inlay_hint(uri, range); end
|
739
|
-
|
740
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#362
|
741
|
-
sig do
|
742
|
-
params(
|
743
|
-
uri: ::URI::Generic,
|
744
|
-
position: {line: ::Integer, character: ::Integer},
|
745
|
-
character: ::String
|
746
|
-
).returns(T::Array[::LanguageServer::Protocol::Interface::TextEdit])
|
747
|
-
end
|
748
|
-
def on_type_formatting(uri, position, character); end
|
749
|
-
|
750
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#209
|
751
|
-
sig { void }
|
752
|
-
def perform_initial_indexing; end
|
753
|
-
|
754
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#38
|
755
|
-
sig { params(request: T::Hash[::Symbol, T.untyped]).returns(T.untyped) }
|
756
|
-
def run(request); end
|
757
|
-
|
758
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#328
|
759
|
-
sig do
|
760
|
-
params(
|
761
|
-
uri: ::URI::Generic,
|
762
|
-
positions: T::Array[{line: ::Integer, character: ::Integer}]
|
763
|
-
).returns(T.nilable(T::Array[T.nilable(::RubyLsp::Requests::Support::SelectionRange)]))
|
764
|
-
end
|
765
|
-
def selection_range(uri, positions); end
|
766
|
-
|
767
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#450
|
768
|
-
sig do
|
769
|
-
params(
|
770
|
-
uri: ::URI::Generic,
|
771
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}
|
772
|
-
).returns(::LanguageServer::Protocol::Interface::SemanticTokens)
|
773
|
-
end
|
774
|
-
def semantic_tokens_range(uri, range); end
|
775
|
-
|
776
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#237
|
777
|
-
sig do
|
778
|
-
params(
|
779
|
-
uri: ::URI::Generic,
|
780
|
-
range: T.nilable({start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}})
|
781
|
-
).returns({ast: ::String})
|
782
|
-
end
|
783
|
-
def show_syntax_tree(uri, range); end
|
784
|
-
|
785
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#305
|
786
|
-
sig do
|
787
|
-
params(
|
788
|
-
uri: ::URI::Generic,
|
789
|
-
content_changes: T::Array[{range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}, text: ::String}],
|
790
|
-
version: ::Integer
|
791
|
-
).returns(::Object)
|
792
|
-
end
|
793
|
-
def text_document_did_change(uri, content_changes, version); end
|
794
|
-
|
795
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#317
|
796
|
-
sig { params(uri: ::URI::Generic).returns(::Object) }
|
797
|
-
def text_document_did_close(uri); end
|
798
|
-
|
799
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#311
|
800
|
-
sig { params(uri: ::URI::Generic, text: ::String, version: ::Integer).returns(::Object) }
|
801
|
-
def text_document_did_open(uri, text, version); end
|
802
|
-
|
803
|
-
# source://ruby-lsp/lib/ruby_lsp/executor.rb#232
|
804
|
-
sig { params(query: T.nilable(::String)).returns(T::Array[::LanguageServer::Protocol::Interface::WorkspaceSymbol]) }
|
805
|
-
def workspace_symbol(query); end
|
806
|
-
end
|
807
|
-
|
808
|
-
# ExtensibleListener is an abstract class to be used by requests that accept extensions.
|
809
|
-
#
|
810
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
811
|
-
#
|
812
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#35
|
813
|
-
class RubyLsp::ExtensibleListener < ::RubyLsp::Listener
|
814
|
-
extend T::Generic
|
815
|
-
|
816
|
-
abstract!
|
817
|
-
|
818
|
-
ResponseType = type_member
|
819
|
-
|
820
|
-
# When inheriting from ExtensibleListener, the `super` of constructor must be called **after** the subclass's own
|
821
|
-
# ivars have been initialized. This is because the constructor of ExtensibleListener calls
|
822
|
-
# `initialize_external_listener` which may depend on the subclass's ivars.
|
823
|
-
#
|
824
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#47
|
825
|
-
sig { params(emitter: ::RubyLsp::EventEmitter, message_queue: ::Thread::Queue).void }
|
826
|
-
def initialize(emitter, message_queue); end
|
827
|
-
|
828
|
-
# @abstract
|
829
|
-
#
|
830
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#74
|
831
|
-
sig { abstract.params(extension: ::RubyLsp::Extension).returns(T.nilable(RubyLsp::Listener[ResponseType])) }
|
832
|
-
def initialize_external_listener(extension); end
|
833
|
-
|
834
|
-
# Merge responses from all external listeners into the base listener's response. We do this to return a single
|
835
|
-
# response to the editor including the results of all extensions
|
836
|
-
#
|
837
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#61
|
838
|
-
sig { void }
|
839
|
-
def merge_external_listeners_responses!; end
|
840
|
-
|
841
|
-
# Does nothing by default. Requests that accept extensions should override this method to define how to merge
|
842
|
-
# responses coming from external listeners
|
843
|
-
#
|
844
|
-
# @abstract
|
845
|
-
#
|
846
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#79
|
847
|
-
sig { abstract.params(other: RubyLsp::Listener[T.untyped]).returns(T.self_type) }
|
848
|
-
def merge_response!(other); end
|
849
|
-
|
850
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#66
|
851
|
-
sig { returns(ResponseType) }
|
852
|
-
def response; end
|
853
|
-
end
|
854
|
-
|
855
|
-
# To register an extension, inherit from this class and implement both `name` and `activate`
|
856
|
-
#
|
857
|
-
# # Example
|
858
|
-
#
|
859
|
-
# ```ruby
|
860
|
-
# module MyGem
|
861
|
-
# class MyExtension < Extension
|
862
|
-
# def activate
|
863
|
-
# # Perform any relevant initialization
|
864
|
-
# end
|
865
|
-
#
|
866
|
-
# def name
|
867
|
-
# "My extension name"
|
868
|
-
# end
|
869
|
-
# end
|
870
|
-
# end
|
871
|
-
# ```
|
872
|
-
#
|
873
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
874
|
-
#
|
875
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#22
|
876
|
-
class RubyLsp::Extension
|
877
|
-
abstract!
|
878
|
-
|
879
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#67
|
880
|
-
sig { void }
|
881
|
-
def initialize; end
|
882
|
-
|
883
|
-
# Each extension should implement `MyExtension#activate` and use to perform any sort of initialization, such as
|
884
|
-
# reading information into memory or even spawning a separate process
|
885
|
-
#
|
886
|
-
# @abstract
|
887
|
-
#
|
888
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#98
|
889
|
-
sig { abstract.void }
|
890
|
-
def activate; end
|
891
|
-
|
892
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#72
|
893
|
-
sig { params(error: ::StandardError).returns(T.self_type) }
|
894
|
-
def add_error(error); end
|
895
|
-
|
896
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#91
|
897
|
-
sig { returns(::String) }
|
898
|
-
def backtraces; end
|
899
|
-
|
900
|
-
# Creates a new CodeLens listener. This method is invoked on every CodeLens request
|
901
|
-
#
|
902
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#117
|
903
|
-
sig do
|
904
|
-
overridable
|
905
|
-
.params(
|
906
|
-
uri: ::URI::Generic,
|
907
|
-
emitter: ::RubyLsp::EventEmitter,
|
908
|
-
message_queue: ::Thread::Queue
|
909
|
-
).returns(T.nilable(RubyLsp::Listener[T::Array[::LanguageServer::Protocol::Interface::CodeLens]]))
|
910
|
-
end
|
911
|
-
def create_code_lens_listener(uri, emitter, message_queue); end
|
912
|
-
|
913
|
-
# Creates a new Definition listener. This method is invoked on every Definition request
|
914
|
-
#
|
915
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#147
|
916
|
-
sig do
|
917
|
-
overridable
|
918
|
-
.params(
|
919
|
-
uri: ::URI::Generic,
|
920
|
-
nesting: T::Array[::String],
|
921
|
-
index: ::RubyIndexer::Index,
|
922
|
-
emitter: ::RubyLsp::EventEmitter,
|
923
|
-
message_queue: ::Thread::Queue
|
924
|
-
).returns(T.nilable(RubyLsp::Listener[T.nilable(T.any(::LanguageServer::Protocol::Interface::Location, T::Array[::LanguageServer::Protocol::Interface::Location]))]))
|
925
|
-
end
|
926
|
-
def create_definition_listener(uri, nesting, index, emitter, message_queue); end
|
927
|
-
|
928
|
-
# Creates a new DocumentSymbol listener. This method is invoked on every DocumentSymbol request
|
929
|
-
#
|
930
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#135
|
931
|
-
sig do
|
932
|
-
overridable
|
933
|
-
.params(
|
934
|
-
emitter: ::RubyLsp::EventEmitter,
|
935
|
-
message_queue: ::Thread::Queue
|
936
|
-
).returns(T.nilable(RubyLsp::Listener[T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]]))
|
937
|
-
end
|
938
|
-
def create_document_symbol_listener(emitter, message_queue); end
|
939
|
-
|
940
|
-
# Creates a new Hover listener. This method is invoked on every Hover request
|
941
|
-
#
|
942
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#126
|
943
|
-
sig do
|
944
|
-
overridable
|
945
|
-
.params(
|
946
|
-
emitter: ::RubyLsp::EventEmitter,
|
947
|
-
message_queue: ::Thread::Queue
|
948
|
-
).returns(T.nilable(RubyLsp::Listener[T.nilable(::LanguageServer::Protocol::Interface::Hover)]))
|
949
|
-
end
|
950
|
-
def create_hover_listener(emitter, message_queue); end
|
951
|
-
|
952
|
-
# Each extension should implement `MyExtension#deactivate` and use to perform any clean up, like shutting down a
|
953
|
-
# child process
|
954
|
-
#
|
955
|
-
# @abstract
|
956
|
-
#
|
957
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#103
|
958
|
-
sig { abstract.void }
|
959
|
-
def deactivate; end
|
960
|
-
|
961
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#78
|
962
|
-
sig { returns(T::Boolean) }
|
963
|
-
def error?; end
|
964
|
-
|
965
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#83
|
966
|
-
sig { returns(::String) }
|
967
|
-
def formatted_errors; end
|
968
|
-
|
969
|
-
# Extensions should override the `name` method to return the extension name
|
970
|
-
#
|
971
|
-
# @abstract
|
972
|
-
#
|
973
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#107
|
974
|
-
sig { abstract.returns(::String) }
|
975
|
-
def name; end
|
976
|
-
|
977
|
-
class << self
|
978
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#39
|
979
|
-
sig { returns(T::Array[::RubyLsp::Extension]) }
|
980
|
-
def extensions; end
|
981
|
-
|
982
|
-
# Automatically track and instantiate extension classes
|
983
|
-
#
|
984
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#33
|
985
|
-
sig { params(child_class: T.class_of(RubyLsp::Extension)).void }
|
986
|
-
def inherited(child_class); end
|
987
|
-
|
988
|
-
# Discovers and loads all extensions. Returns the list of activated extensions
|
989
|
-
#
|
990
|
-
# source://ruby-lsp/lib/ruby_lsp/extension.rb#45
|
991
|
-
sig { returns(T::Array[::RubyLsp::Extension]) }
|
992
|
-
def load_extensions; end
|
993
|
-
end
|
994
|
-
end
|
995
|
-
|
996
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#6
|
997
|
-
RubyLsp::Interface = LanguageServer::Protocol::Interface
|
998
|
-
|
999
|
-
# A request that will sit in the queue until it's executed
|
1000
|
-
#
|
1001
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#62
|
1002
|
-
class RubyLsp::Job
|
1003
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#72
|
1004
|
-
sig { params(request: T::Hash[::Symbol, T.untyped], cancelled: T::Boolean).void }
|
1005
|
-
def initialize(request:, cancelled:); end
|
1006
|
-
|
1007
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#78
|
1008
|
-
sig { void }
|
1009
|
-
def cancel; end
|
1010
|
-
|
1011
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#69
|
1012
|
-
sig { returns(T::Boolean) }
|
1013
|
-
def cancelled; end
|
1014
|
-
|
1015
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#66
|
1016
|
-
sig { returns(T::Hash[::Symbol, T.untyped]) }
|
1017
|
-
def request; end
|
1018
|
-
end
|
1019
|
-
|
1020
|
-
# Listener is an abstract class to be used by requests for listening to events emitted when visiting an AST using the
|
1021
|
-
# EventEmitter.
|
1022
|
-
#
|
1023
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
1024
|
-
#
|
1025
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#7
|
1026
|
-
class RubyLsp::Listener
|
1027
|
-
extend T::Generic
|
1028
|
-
include ::RubyLsp::Requests::Support::Common
|
1029
|
-
|
1030
|
-
abstract!
|
1031
|
-
|
1032
|
-
ResponseType = type_member
|
1033
|
-
|
1034
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#18
|
1035
|
-
sig { params(emitter: ::RubyLsp::EventEmitter, message_queue: ::Thread::Queue).void }
|
1036
|
-
def initialize(emitter, message_queue); end
|
1037
|
-
|
1038
|
-
# Override this method with an attr_reader that returns the response of your listener. The listener should
|
1039
|
-
# accumulate results in a @response variable and then provide the reader so that it is accessible
|
1040
|
-
#
|
1041
|
-
# @abstract
|
1042
|
-
#
|
1043
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#31
|
1044
|
-
sig { abstract.returns(ResponseType) }
|
1045
|
-
def _response; end
|
1046
|
-
|
1047
|
-
# source://ruby-lsp/lib/ruby_lsp/listener.rb#24
|
1048
|
-
sig { returns(ResponseType) }
|
1049
|
-
def response; end
|
1050
|
-
end
|
1051
|
-
|
1052
|
-
# A notification to be sent to the client
|
1053
|
-
#
|
1054
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
1055
|
-
#
|
1056
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#12
|
1057
|
-
class RubyLsp::Message
|
1058
|
-
abstract!
|
1059
|
-
|
1060
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#25
|
1061
|
-
sig { params(message: ::String, params: ::Object).void }
|
1062
|
-
def initialize(message:, params:); end
|
1063
|
-
|
1064
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#19
|
1065
|
-
sig { returns(::String) }
|
1066
|
-
def message; end
|
1067
|
-
|
1068
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#22
|
1069
|
-
sig { returns(::Object) }
|
1070
|
-
def params; end
|
1071
|
-
end
|
1072
|
-
|
1073
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#31
|
1074
|
-
class RubyLsp::Notification < ::RubyLsp::Message; end
|
1075
|
-
|
1076
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#32
|
1077
|
-
class RubyLsp::Request < ::RubyLsp::Message; end
|
1078
|
-
|
1079
|
-
# Supported features
|
1080
|
-
#
|
1081
|
-
# - [DocumentSymbol](rdoc-ref:RubyLsp::Requests::DocumentSymbol)
|
1082
|
-
# - [DocumentLink](rdoc-ref:RubyLsp::Requests::DocumentLink)
|
1083
|
-
# - [Hover](rdoc-ref:RubyLsp::Requests::Hover)
|
1084
|
-
# - [FoldingRange](rdoc-ref:RubyLsp::Requests::FoldingRanges)
|
1085
|
-
# - [SelectionRange](rdoc-ref:RubyLsp::Requests::SelectionRanges)
|
1086
|
-
# - [SemanticHighlighting](rdoc-ref:RubyLsp::Requests::SemanticHighlighting)
|
1087
|
-
# - [Formatting](rdoc-ref:RubyLsp::Requests::Formatting)
|
1088
|
-
# - [OnTypeFormatting](rdoc-ref:RubyLsp::Requests::OnTypeFormatting)
|
1089
|
-
# - [Diagnostic](rdoc-ref:RubyLsp::Requests::Diagnostics)
|
1090
|
-
# - [CodeAction](rdoc-ref:RubyLsp::Requests::CodeActions)
|
1091
|
-
# - [CodeActionResolve](rdoc-ref:RubyLsp::Requests::CodeActionResolve)
|
1092
|
-
# - [DocumentHighlight](rdoc-ref:RubyLsp::Requests::DocumentHighlight)
|
1093
|
-
# - [InlayHint](rdoc-ref:RubyLsp::Requests::InlayHints)
|
1094
|
-
# - [Completion](rdoc-ref:RubyLsp::Requests::Completion)
|
1095
|
-
# - [CodeLens](rdoc-ref:RubyLsp::Requests::CodeLens)
|
1096
|
-
# - [Definition](rdoc-ref:RubyLsp::Requests::Definition)
|
1097
|
-
# - [ShowSyntaxTree](rdoc-ref:RubyLsp::Requests::ShowSyntaxTree)
|
1098
|
-
# - [WorkspaceSymbol](rdoc-ref:RubyLsp::Requests::WorkspaceSymbol)
|
1099
|
-
#
|
1100
|
-
# source://ruby-lsp/lib/ruby_lsp/requests.rb#26
|
1101
|
-
module RubyLsp::Requests; end
|
1102
|
-
|
1103
|
-
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
1104
|
-
#
|
1105
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/base_request.rb#7
|
1106
|
-
class RubyLsp::Requests::BaseRequest < ::SyntaxTree::Visitor
|
1107
|
-
include ::RubyLsp::Requests::Support::Common
|
1108
|
-
|
1109
|
-
abstract!
|
1110
|
-
|
1111
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/base_request.rb#15
|
1112
|
-
sig { params(document: ::RubyLsp::Document).void }
|
1113
|
-
def initialize(document); end
|
1114
|
-
|
1115
|
-
# @abstract
|
1116
|
-
#
|
1117
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/base_request.rb#21
|
1118
|
-
sig { abstract.returns(::Object) }
|
1119
|
-
def run; end
|
1120
|
-
|
1121
|
-
# Syntax Tree implements `visit_all` using `map` instead of `each` for users who want to use the pattern
|
1122
|
-
# `result = visitor.visit(tree)`. However, we don't use that pattern and should avoid producing a new array for
|
1123
|
-
# every single node visited
|
1124
|
-
#
|
1125
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/base_request.rb#27
|
1126
|
-
sig { params(nodes: T::Array[T.nilable(::SyntaxTree::Node)]).void }
|
1127
|
-
def visit_all(nodes); end
|
1128
|
-
end
|
1129
|
-
|
1130
|
-
# 
|
1131
|
-
#
|
1132
|
-
# The [code action resolve](https://microsoft.github.io/language-server-protocol/specification#codeAction_resolve)
|
1133
|
-
# request is used to to resolve the edit field for a given code action, if it is not already provided in the
|
1134
|
-
# textDocument/codeAction response. We can use it for scenarios that require more computation such as refactoring.
|
1135
|
-
#
|
1136
|
-
# # Example: Extract to variable
|
1137
|
-
#
|
1138
|
-
# ```ruby
|
1139
|
-
# # Before:
|
1140
|
-
# 1 + 1 # Select the text and use Refactor: Extract Variable
|
1141
|
-
#
|
1142
|
-
# # After:
|
1143
|
-
# new_variable = 1 + 1
|
1144
|
-
# new_variable
|
1145
|
-
#
|
1146
|
-
# ```
|
1147
|
-
#
|
1148
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#24
|
1149
|
-
class RubyLsp::Requests::CodeActionResolve < ::RubyLsp::Requests::BaseRequest
|
1150
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#38
|
1151
|
-
sig { params(document: ::RubyLsp::Document, code_action: T::Hash[::Symbol, T.untyped]).void }
|
1152
|
-
def initialize(document, code_action); end
|
1153
|
-
|
1154
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#45
|
1155
|
-
sig do
|
1156
|
-
override
|
1157
|
-
.returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error))
|
1158
|
-
end
|
1159
|
-
def run; end
|
1160
|
-
|
1161
|
-
private
|
1162
|
-
|
1163
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#137
|
1164
|
-
sig do
|
1165
|
-
params(
|
1166
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}},
|
1167
|
-
new_text: ::String
|
1168
|
-
).returns(::LanguageServer::Protocol::Interface::TextEdit)
|
1169
|
-
end
|
1170
|
-
def create_text_edit(range, new_text); end
|
1171
|
-
end
|
1172
|
-
|
1173
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#28
|
1174
|
-
class RubyLsp::Requests::CodeActionResolve::CodeActionError < ::StandardError; end
|
1175
|
-
|
1176
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#30
|
1177
|
-
class RubyLsp::Requests::CodeActionResolve::Error < ::T::Enum
|
1178
|
-
enums do
|
1179
|
-
EmptySelection = new
|
1180
|
-
InvalidTargetRange = new
|
1181
|
-
end
|
1182
|
-
end
|
1183
|
-
|
1184
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#26
|
1185
|
-
RubyLsp::Requests::CodeActionResolve::NEW_VARIABLE_NAME = T.let(T.unsafe(nil), String)
|
1186
|
-
|
1187
|
-
# 
|
1188
|
-
#
|
1189
|
-
# The [code actions](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeAction)
|
1190
|
-
# request informs the editor of RuboCop quick fixes that can be applied. These are accessible by hovering over a
|
1191
|
-
# specific diagnostic.
|
1192
|
-
#
|
1193
|
-
# # Example
|
1194
|
-
#
|
1195
|
-
# ```ruby
|
1196
|
-
# def say_hello
|
1197
|
-
# puts "Hello" # --> code action: quick fix indentation
|
1198
|
-
# end
|
1199
|
-
# ```
|
1200
|
-
#
|
1201
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#19
|
1202
|
-
class RubyLsp::Requests::CodeActions < ::RubyLsp::Requests::BaseRequest
|
1203
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#29
|
1204
|
-
sig do
|
1205
|
-
params(
|
1206
|
-
document: ::RubyLsp::Document,
|
1207
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}},
|
1208
|
-
context: T::Hash[::Symbol, T.untyped]
|
1209
|
-
).void
|
1210
|
-
end
|
1211
|
-
def initialize(document, range, context); end
|
1212
|
-
|
1213
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#38
|
1214
|
-
sig { override.returns(T.nilable(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::CodeAction]))) }
|
1215
|
-
def run; end
|
1216
|
-
|
1217
|
-
private
|
1218
|
-
|
1219
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#59
|
1220
|
-
sig do
|
1221
|
-
params(
|
1222
|
-
range: T.nilable({start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}})
|
1223
|
-
).returns(T::Boolean)
|
1224
|
-
end
|
1225
|
-
def cover?(range); end
|
1226
|
-
|
1227
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#67
|
1228
|
-
sig do
|
1229
|
-
params(
|
1230
|
-
range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}},
|
1231
|
-
uri: ::URI::Generic
|
1232
|
-
).returns(::LanguageServer::Protocol::Interface::CodeAction)
|
1233
|
-
end
|
1234
|
-
def refactor_code_action(range, uri); end
|
1235
|
-
end
|
1236
|
-
|
1237
|
-
# 
|
1238
|
-
#
|
1239
|
-
# The
|
1240
|
-
# [code lens](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeLens)
|
1241
|
-
# request informs the editor of runnable commands such as tests
|
1242
|
-
#
|
1243
|
-
# # Example
|
1244
|
-
#
|
1245
|
-
# ```ruby
|
1246
|
-
# # Run
|
1247
|
-
# class Test < Minitest::Test
|
1248
|
-
# end
|
1249
|
-
# ```
|
1250
|
-
#
|
1251
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#21
|
1252
|
-
class RubyLsp::Requests::CodeLens < ::RubyLsp::ExtensibleListener
|
1253
|
-
extend T::Generic
|
1254
|
-
|
1255
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::CodeLens] } }
|
1256
|
-
|
1257
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#35
|
1258
|
-
sig do
|
1259
|
-
params(
|
1260
|
-
uri: ::URI::Generic,
|
1261
|
-
emitter: ::RubyLsp::EventEmitter,
|
1262
|
-
message_queue: ::Thread::Queue,
|
1263
|
-
test_library: ::String
|
1264
|
-
).void
|
1265
|
-
end
|
1266
|
-
def initialize(uri, emitter, message_queue, test_library); end
|
1267
|
-
|
1268
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#32
|
1269
|
-
sig { override.returns(ResponseType) }
|
1270
|
-
def _response; end
|
1271
|
-
|
1272
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#134
|
1273
|
-
sig { params(node: ::SyntaxTree::CallNode).void }
|
1274
|
-
def after_call(node); end
|
1275
|
-
|
1276
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#76
|
1277
|
-
sig { params(node: ::SyntaxTree::ClassDeclaration).void }
|
1278
|
-
def after_class(node); end
|
1279
|
-
|
1280
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#115
|
1281
|
-
sig { params(node: ::SyntaxTree::Command).void }
|
1282
|
-
def after_command(node); end
|
1283
|
-
|
1284
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#150
|
1285
|
-
sig { override.params(extension: ::RubyLsp::Extension).returns(T.nilable(RubyLsp::Listener[ResponseType])) }
|
1286
|
-
def initialize_external_listener(extension); end
|
1287
|
-
|
1288
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#155
|
1289
|
-
sig { override.params(other: RubyLsp::Listener[ResponseType]).returns(T.self_type) }
|
1290
|
-
def merge_response!(other); end
|
1291
|
-
|
1292
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#121
|
1293
|
-
sig { params(node: ::SyntaxTree::CallNode).void }
|
1294
|
-
def on_call(node); end
|
1295
|
-
|
1296
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#60
|
1297
|
-
sig { params(node: ::SyntaxTree::ClassDeclaration).void }
|
1298
|
-
def on_class(node); end
|
1299
|
-
|
1300
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#101
|
1301
|
-
sig { params(node: ::SyntaxTree::Command).void }
|
1302
|
-
def on_command(node); end
|
1303
|
-
|
1304
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#82
|
1305
|
-
sig { params(node: ::SyntaxTree::DefNode).void }
|
1306
|
-
def on_def(node); end
|
1307
|
-
|
1308
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#140
|
1309
|
-
sig { params(node: ::SyntaxTree::VCall).void }
|
1310
|
-
def on_vcall(node); end
|
1311
|
-
|
1312
|
-
private
|
1313
|
-
|
1314
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#243
|
1315
|
-
sig { params(node: ::SyntaxTree::Command, remote: ::String).void }
|
1316
|
-
def add_open_gem_remote_code_lens(node, remote); end
|
1317
|
-
|
1318
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#163
|
1319
|
-
sig { params(node: ::SyntaxTree::Node, name: ::String, command: ::String, kind: ::Symbol).void }
|
1320
|
-
def add_test_code_lens(node, name:, command:, kind:); end
|
1321
|
-
|
1322
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#221
|
1323
|
-
sig { params(class_name: ::String, method_name: T.nilable(::String)).returns(::String) }
|
1324
|
-
def generate_test_command(class_name:, method_name: T.unsafe(nil)); end
|
1325
|
-
|
1326
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#205
|
1327
|
-
sig { params(node: ::SyntaxTree::Command).returns(T.nilable(::String)) }
|
1328
|
-
def resolve_gem_remote(node); end
|
1329
|
-
end
|
1330
|
-
|
1331
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#28
|
1332
|
-
RubyLsp::Requests::CodeLens::ACCESS_MODIFIERS = T.let(T.unsafe(nil), Array)
|
1333
|
-
|
1334
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#27
|
1335
|
-
RubyLsp::Requests::CodeLens::BASE_COMMAND = T.let(T.unsafe(nil), String)
|
1336
|
-
|
1337
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#29
|
1338
|
-
RubyLsp::Requests::CodeLens::SUPPORTED_TEST_LIBRARIES = T.let(T.unsafe(nil), Array)
|
1339
|
-
|
1340
|
-
# 
|
1341
|
-
#
|
1342
|
-
# The [completion](https://microsoft.github.io/language-server-protocol/specification#textDocument_completion)
|
1343
|
-
# suggests possible completions according to what the developer is typing. Currently, completion is support for
|
1344
|
-
# - require paths
|
1345
|
-
# - classes, modules and constant names
|
1346
|
-
#
|
1347
|
-
# # Example
|
1348
|
-
#
|
1349
|
-
# ```ruby
|
1350
|
-
# require "ruby_lsp/requests" # --> completion: suggests `base_request`, `code_actions`, ...
|
1351
|
-
#
|
1352
|
-
# RubyLsp::Requests:: # --> completion: suggests `Completion`, `Hover`, ...
|
1353
|
-
# ```
|
1354
|
-
#
|
1355
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#20
|
1356
|
-
class RubyLsp::Requests::Completion < ::RubyLsp::Listener
|
1357
|
-
extend T::Generic
|
1358
|
-
|
1359
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::CompletionItem] } }
|
1360
|
-
|
1361
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#37
|
1362
|
-
sig do
|
1363
|
-
params(
|
1364
|
-
index: ::RubyIndexer::Index,
|
1365
|
-
nesting: T::Array[::String],
|
1366
|
-
emitter: ::RubyLsp::EventEmitter,
|
1367
|
-
message_queue: ::Thread::Queue
|
1368
|
-
).void
|
1369
|
-
end
|
1370
|
-
def initialize(index, nesting, emitter, message_queue); end
|
1371
|
-
|
1372
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#27
|
1373
|
-
sig { override.returns(ResponseType) }
|
1374
|
-
def _response; end
|
1375
|
-
|
1376
|
-
# Handle completion on regular constant references (e.g. `Bar`)
|
1377
|
-
#
|
1378
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#55
|
1379
|
-
sig { params(node: ::SyntaxTree::Const).void }
|
1380
|
-
def on_const(node); end
|
1381
|
-
|
1382
|
-
# Handle completion on namespaced constant references (e.g. `Foo::Bar`)
|
1383
|
-
#
|
1384
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#67
|
1385
|
-
sig { params(node: ::SyntaxTree::ConstPathRef).void }
|
1386
|
-
def on_const_path_ref(node); end
|
1387
|
-
|
1388
|
-
# Handle completion on top level constant references (e.g. `::Bar`)
|
1389
|
-
#
|
1390
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#79
|
1391
|
-
sig { params(node: ::SyntaxTree::TopConstRef).void }
|
1392
|
-
def on_top_const_ref(node); end
|
1393
|
-
|
1394
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#47
|
1395
|
-
sig { params(node: ::SyntaxTree::TStringContent).void }
|
1396
|
-
def on_tstring_content(node); end
|
1397
|
-
|
1398
|
-
private
|
1399
|
-
|
1400
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#90
|
1401
|
-
sig do
|
1402
|
-
params(
|
1403
|
-
label: ::String,
|
1404
|
-
node: ::SyntaxTree::TStringContent
|
1405
|
-
).returns(::LanguageServer::Protocol::Interface::CompletionItem)
|
1406
|
-
end
|
1407
|
-
def build_completion(label, node); end
|
1408
|
-
|
1409
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#109
|
1410
|
-
sig do
|
1411
|
-
params(
|
1412
|
-
name: ::String,
|
1413
|
-
node: ::SyntaxTree::Node,
|
1414
|
-
entries: T::Array[::RubyIndexer::Index::Entry],
|
1415
|
-
top_level: T::Boolean
|
1416
|
-
).returns(::LanguageServer::Protocol::Interface::CompletionItem)
|
1417
|
-
end
|
1418
|
-
def build_entry_completion(name, node, entries, top_level); end
|
1419
|
-
|
1420
|
-
# Check if the `entry_name` has potential conflicts in `candidates`, so that we use a top level reference instead
|
1421
|
-
# of a short name
|
1422
|
-
#
|
1423
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#163
|
1424
|
-
sig { params(entry_name: ::String, candidates: T::Array[T::Array[::RubyIndexer::Index::Entry]]).returns(T::Boolean) }
|
1425
|
-
def top_level?(entry_name, candidates); end
|
1426
|
-
end
|
1427
|
-
|
1428
|
-
# 
|
1429
|
-
#
|
1430
|
-
# The [definition
|
1431
|
-
# request](https://microsoft.github.io/language-server-protocol/specification#textDocument_definition) jumps to the
|
1432
|
-
# definition of the symbol under the cursor.
|
1433
|
-
#
|
1434
|
-
# Currently, only jumping to classes, modules and required files is supported.
|
1435
|
-
#
|
1436
|
-
# # Example
|
1437
|
-
#
|
1438
|
-
# ```ruby
|
1439
|
-
# require "some_gem/file" # <- Request go to definition on this string will take you to the file
|
1440
|
-
# Product.new # <- Request go to definition on this class name will take you to its declaration.
|
1441
|
-
# ```
|
1442
|
-
#
|
1443
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#20
|
1444
|
-
class RubyLsp::Requests::Definition < ::RubyLsp::ExtensibleListener
|
1445
|
-
extend T::Generic
|
1446
|
-
|
1447
|
-
ResponseType = type_member { { fixed: T.nilable(T.any(::LanguageServer::Protocol::Interface::Location, T::Array[::LanguageServer::Protocol::Interface::Location])) } }
|
1448
|
-
|
1449
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#38
|
1450
|
-
sig do
|
1451
|
-
params(
|
1452
|
-
uri: ::URI::Generic,
|
1453
|
-
nesting: T::Array[::String],
|
1454
|
-
index: ::RubyIndexer::Index,
|
1455
|
-
emitter: ::RubyLsp::EventEmitter,
|
1456
|
-
message_queue: ::Thread::Queue
|
1457
|
-
).void
|
1458
|
-
end
|
1459
|
-
def initialize(uri, nesting, index, emitter, message_queue); end
|
1460
|
-
|
1461
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#27
|
1462
|
-
sig { override.returns(ResponseType) }
|
1463
|
-
def _response; end
|
1464
|
-
|
1465
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#50
|
1466
|
-
sig { override.params(ext: ::RubyLsp::Extension).returns(T.nilable(RubyLsp::Listener[ResponseType])) }
|
1467
|
-
def initialize_external_listener(ext); end
|
1468
|
-
|
1469
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#55
|
1470
|
-
sig { override.params(other: RubyLsp::Listener[ResponseType]).returns(T.self_type) }
|
1471
|
-
def merge_response!(other); end
|
1472
|
-
|
1473
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#82
|
1474
|
-
sig { params(node: ::SyntaxTree::Command).void }
|
1475
|
-
def on_command(node); end
|
1476
|
-
|
1477
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#77
|
1478
|
-
sig { params(node: ::SyntaxTree::Const).void }
|
1479
|
-
def on_const(node); end
|
1480
|
-
|
1481
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#71
|
1482
|
-
sig { params(node: ::SyntaxTree::ConstPathRef).void }
|
1483
|
-
def on_const_path_ref(node); end
|
1484
|
-
|
1485
|
-
private
|
1486
|
-
|
1487
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#128
|
1488
|
-
sig { params(value: ::String).void }
|
1489
|
-
def find_in_index(value); end
|
1490
|
-
end
|
1491
|
-
|
1492
|
-
# 
|
1493
|
-
#
|
1494
|
-
# The
|
1495
|
-
# [diagnostics](https://microsoft.github.io/language-server-protocol/specification#textDocument_publishDiagnostics)
|
1496
|
-
# request informs the editor of RuboCop offenses for a given file.
|
1497
|
-
#
|
1498
|
-
# # Example
|
1499
|
-
#
|
1500
|
-
# ```ruby
|
1501
|
-
# def say_hello
|
1502
|
-
# puts "Hello" # --> diagnostics: incorrect indentation
|
1503
|
-
# end
|
1504
|
-
# ```
|
1505
|
-
#
|
1506
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#21
|
1507
|
-
class RubyLsp::Requests::Diagnostics < ::RubyLsp::Requests::BaseRequest
|
1508
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#25
|
1509
|
-
sig { params(document: ::RubyLsp::Document).void }
|
1510
|
-
def initialize(document); end
|
1511
|
-
|
1512
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#32
|
1513
|
-
sig { override.returns(T.nilable(T.all(::Object, T::Array[::RubyLsp::Requests::Support::RuboCopDiagnostic]))) }
|
1514
|
-
def run; end
|
1515
|
-
end
|
1516
|
-
|
1517
|
-
# 
|
1518
|
-
#
|
1519
|
-
# The [document highlight](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight)
|
1520
|
-
# informs the editor all relevant elements of the currently pointed item for highlighting. For example, when
|
1521
|
-
# the cursor is on the `F` of the constant `FOO`, the editor should identify other occurrences of `FOO`
|
1522
|
-
# and highlight them.
|
1523
|
-
#
|
1524
|
-
# For writable elements like constants or variables, their read/write occurrences should be highlighted differently.
|
1525
|
-
# This is achieved by sending different "kind" attributes to the editor (2 for read and 3 for write).
|
1526
|
-
#
|
1527
|
-
# # Example
|
1528
|
-
#
|
1529
|
-
# ```ruby
|
1530
|
-
# FOO = 1 # should be highlighted as "write"
|
1531
|
-
#
|
1532
|
-
# def foo
|
1533
|
-
# FOO # should be highlighted as "read"
|
1534
|
-
# end
|
1535
|
-
# ```
|
1536
|
-
#
|
1537
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#25
|
1538
|
-
class RubyLsp::Requests::DocumentHighlight < ::RubyLsp::Listener
|
1539
|
-
extend T::Generic
|
1540
|
-
|
1541
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::DocumentHighlight] } }
|
1542
|
-
|
1543
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#41
|
1544
|
-
sig do
|
1545
|
-
params(
|
1546
|
-
target: T.nilable(::SyntaxTree::Node),
|
1547
|
-
parent: T.nilable(::SyntaxTree::Node),
|
1548
|
-
emitter: ::RubyLsp::EventEmitter,
|
1549
|
-
message_queue: ::Thread::Queue
|
1550
|
-
).void
|
1551
|
-
end
|
1552
|
-
def initialize(target, parent, emitter, message_queue); end
|
1553
|
-
|
1554
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#31
|
1555
|
-
sig { override.returns(ResponseType) }
|
1556
|
-
def _response; end
|
1557
|
-
|
1558
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#63
|
1559
|
-
sig { params(node: T.nilable(::SyntaxTree::Node)).void }
|
1560
|
-
def on_node(node); end
|
1561
|
-
|
1562
|
-
private
|
1563
|
-
|
1564
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#84
|
1565
|
-
sig { params(match: ::RubyLsp::Requests::Support::HighlightTarget::HighlightMatch).void }
|
1566
|
-
def add_highlight(match); end
|
1567
|
-
end
|
1568
|
-
|
1569
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#72
|
1570
|
-
RubyLsp::Requests::DocumentHighlight::DIRECT_HIGHLIGHTS = T.let(T.unsafe(nil), Array)
|
1571
|
-
|
1572
|
-
# 
|
1573
|
-
#
|
1574
|
-
# The [document link](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentLink)
|
1575
|
-
# makes `# source://PATH_TO_FILE#line` comments in a Ruby/RBI file clickable if the file exists.
|
1576
|
-
# When the user clicks the link, it'll open that location.
|
1577
|
-
#
|
1578
|
-
# # Example
|
1579
|
-
#
|
1580
|
-
# ```ruby
|
1581
|
-
# # source://syntax_tree/3.2.1/lib/syntax_tree.rb#51 <- it will be clickable and will take the user to that location
|
1582
|
-
# def format(source, maxwidth = T.unsafe(nil))
|
1583
|
-
# end
|
1584
|
-
# ```
|
1585
|
-
#
|
1586
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#21
|
1587
|
-
class RubyLsp::Requests::DocumentLink < ::RubyLsp::Listener
|
1588
|
-
extend T::Generic
|
1589
|
-
|
1590
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::DocumentLink] } }
|
1591
|
-
|
1592
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#79
|
1593
|
-
sig { params(uri: ::URI::Generic, emitter: ::RubyLsp::EventEmitter, message_queue: ::Thread::Queue).void }
|
1594
|
-
def initialize(uri, emitter, message_queue); end
|
1595
|
-
|
1596
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#76
|
1597
|
-
sig { override.returns(ResponseType) }
|
1598
|
-
def _response; end
|
1599
|
-
|
1600
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#93
|
1601
|
-
sig { params(node: ::SyntaxTree::Comment).void }
|
1602
|
-
def on_comment(node); end
|
1603
|
-
|
1604
|
-
private
|
1605
|
-
|
1606
|
-
# Try to figure out the gem version for a source:// link. The order of precedence is:
|
1607
|
-
# 1. The version in the URI
|
1608
|
-
# 2. The version in the RBI file name
|
1609
|
-
# 3. The version from the gemspec
|
1610
|
-
#
|
1611
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#118
|
1612
|
-
sig { params(uri: ::URI::Source).returns(T.nilable(::String)) }
|
1613
|
-
def resolve_version(uri); end
|
1614
|
-
|
1615
|
-
class << self
|
1616
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#38
|
1617
|
-
sig { returns(T::Hash[::String, T::Hash[::String, T::Hash[::String, ::String]]]) }
|
1618
|
-
def gem_paths; end
|
1619
|
-
end
|
1620
|
-
end
|
1621
|
-
|
1622
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#27
|
1623
|
-
RubyLsp::Requests::DocumentLink::GEM_TO_VERSION_MAP = T.let(T.unsafe(nil), Hash)
|
1624
|
-
|
1625
|
-
# 
|
1626
|
-
#
|
1627
|
-
# The [document
|
1628
|
-
# symbol](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentSymbol) request
|
1629
|
-
# informs the editor of all the important symbols, such as classes, variables, and methods, defined in a file. With
|
1630
|
-
# this information, the editor can populate breadcrumbs, file outline and allow for fuzzy symbol searches.
|
1631
|
-
#
|
1632
|
-
# In VS Code, fuzzy symbol search can be accessed by opening the command palette and inserting an `@` symbol.
|
1633
|
-
#
|
1634
|
-
# # Example
|
1635
|
-
#
|
1636
|
-
# ```ruby
|
1637
|
-
# class Person # --> document symbol: class
|
1638
|
-
# attr_reader :age # --> document symbol: field
|
1639
|
-
#
|
1640
|
-
# def initialize
|
1641
|
-
# @age = 0 # --> document symbol: variable
|
1642
|
-
# end
|
1643
|
-
#
|
1644
|
-
# def age # --> document symbol: method
|
1645
|
-
# end
|
1646
|
-
# end
|
1647
|
-
# ```
|
1648
|
-
#
|
1649
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#29
|
1650
|
-
class RubyLsp::Requests::DocumentSymbol < ::RubyLsp::ExtensibleListener
|
1651
|
-
extend T::Generic
|
1652
|
-
|
1653
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol] } }
|
1654
|
-
|
1655
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#53
|
1656
|
-
sig { params(emitter: ::RubyLsp::EventEmitter, message_queue: ::Thread::Queue).void }
|
1657
|
-
def initialize(emitter, message_queue); end
|
1658
|
-
|
1659
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#50
|
1660
|
-
sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]) }
|
1661
|
-
def _response; end
|
1662
|
-
|
1663
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#101
|
1664
|
-
sig { params(node: ::SyntaxTree::ClassDeclaration).void }
|
1665
|
-
def after_class(node); end
|
1666
|
-
|
1667
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#154
|
1668
|
-
sig { params(node: ::SyntaxTree::DefNode).void }
|
1669
|
-
def after_def(node); end
|
1670
|
-
|
1671
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#169
|
1672
|
-
sig { params(node: ::SyntaxTree::ModuleDeclaration).void }
|
1673
|
-
def after_module(node); end
|
1674
|
-
|
1675
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#79
|
1676
|
-
sig { override.params(extension: ::RubyLsp::Extension).returns(T.nilable(RubyLsp::Listener[ResponseType])) }
|
1677
|
-
def initialize_external_listener(extension); end
|
1678
|
-
|
1679
|
-
# Merges responses from other listeners
|
1680
|
-
#
|
1681
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#85
|
1682
|
-
sig { override.params(other: RubyLsp::Listener[ResponseType]).returns(T.self_type) }
|
1683
|
-
def merge_response!(other); end
|
1684
|
-
|
1685
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#91
|
1686
|
-
sig { params(node: ::SyntaxTree::ClassDeclaration).void }
|
1687
|
-
def on_class(node); end
|
1688
|
-
|
1689
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#106
|
1690
|
-
sig { params(node: ::SyntaxTree::Command).void }
|
1691
|
-
def on_command(node); end
|
1692
|
-
|
1693
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#122
|
1694
|
-
sig { params(node: ::SyntaxTree::ConstPathField).void }
|
1695
|
-
def on_const_path_field(node); end
|
1696
|
-
|
1697
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#132
|
1698
|
-
sig { params(node: ::SyntaxTree::DefNode).void }
|
1699
|
-
def on_def(node); end
|
1700
|
-
|
1701
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#159
|
1702
|
-
sig { params(node: ::SyntaxTree::ModuleDeclaration).void }
|
1703
|
-
def on_module(node); end
|
1704
|
-
|
1705
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#174
|
1706
|
-
sig { params(node: ::SyntaxTree::TopConstField).void }
|
1707
|
-
def on_top_const_field(node); end
|
1708
|
-
|
1709
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#184
|
1710
|
-
sig { params(node: ::SyntaxTree::VarField).void }
|
1711
|
-
def on_var_field(node); end
|
1712
|
-
|
1713
|
-
private
|
1714
|
-
|
1715
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#213
|
1716
|
-
sig do
|
1717
|
-
params(
|
1718
|
-
name: ::String,
|
1719
|
-
kind: ::Integer,
|
1720
|
-
range_node: ::SyntaxTree::Node,
|
1721
|
-
selection_range_node: ::SyntaxTree::Node
|
1722
|
-
).returns(::LanguageServer::Protocol::Interface::DocumentSymbol)
|
1723
|
-
end
|
1724
|
-
def create_document_symbol(name:, kind:, range_node:, selection_range_node:); end
|
1725
|
-
end
|
1726
|
-
|
1727
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#35
|
1728
|
-
RubyLsp::Requests::DocumentSymbol::ATTR_ACCESSORS = T.let(T.unsafe(nil), Array)
|
1729
|
-
|
1730
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#37
|
1731
|
-
class RubyLsp::Requests::DocumentSymbol::SymbolHierarchyRoot
|
1732
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#44
|
1733
|
-
sig { void }
|
1734
|
-
def initialize; end
|
1735
|
-
|
1736
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#41
|
1737
|
-
sig { returns(T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]) }
|
1738
|
-
def children; end
|
1739
|
-
end
|
1740
|
-
|
1741
|
-
# 
|
1742
|
-
#
|
1743
|
-
# The [folding ranges](https://microsoft.github.io/language-server-protocol/specification#textDocument_foldingRange)
|
1744
|
-
# request informs the editor of the ranges where and how code can be folded.
|
1745
|
-
#
|
1746
|
-
# # Example
|
1747
|
-
#
|
1748
|
-
# ```ruby
|
1749
|
-
# def say_hello # <-- folding range start
|
1750
|
-
# puts "Hello"
|
1751
|
-
# end # <-- folding range end
|
1752
|
-
# ```
|
1753
|
-
#
|
1754
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#18
|
1755
|
-
class RubyLsp::Requests::FoldingRanges < ::RubyLsp::Requests::BaseRequest
|
1756
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#64
|
1757
|
-
sig { params(document: ::RubyLsp::Document).void }
|
1758
|
-
def initialize(document); end
|
1759
|
-
|
1760
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#72
|
1761
|
-
sig { override.returns(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::FoldingRange])) }
|
1762
|
-
def run; end
|
1763
|
-
|
1764
|
-
private
|
1765
|
-
|
1766
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#223
|
1767
|
-
sig { params(node: T.any(::SyntaxTree::CallNode, ::SyntaxTree::CommandCall)).void }
|
1768
|
-
def add_call_range(node); end
|
1769
|
-
|
1770
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#257
|
1771
|
-
sig { params(node: ::SyntaxTree::DefNode).void }
|
1772
|
-
def add_def_range(node); end
|
1773
|
-
|
1774
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#296
|
1775
|
-
sig { params(start_line: ::Integer, end_line: ::Integer).void }
|
1776
|
-
def add_lines_range(start_line, end_line); end
|
1777
|
-
|
1778
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#281
|
1779
|
-
sig { params(node: ::SyntaxTree::Node, statements: ::SyntaxTree::Statements).void }
|
1780
|
-
def add_statements_range(node, statements); end
|
1781
|
-
|
1782
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#288
|
1783
|
-
sig { params(node: ::SyntaxTree::StringConcat).void }
|
1784
|
-
def add_string_concat(node); end
|
1785
|
-
|
1786
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#215
|
1787
|
-
sig { void }
|
1788
|
-
def emit_partial_range; end
|
1789
|
-
|
1790
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#181
|
1791
|
-
sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
|
1792
|
-
def handle_partial_range(node); end
|
1793
|
-
|
1794
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#203
|
1795
|
-
sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T.nilable(::String)) }
|
1796
|
-
def partial_range_kind(node); end
|
1797
|
-
|
1798
|
-
# This is to prevent duplicate ranges
|
1799
|
-
#
|
1800
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#120
|
1801
|
-
sig { params(node: T.any(::SyntaxTree::Command, ::SyntaxTree::CommandCall)).returns(T::Boolean) }
|
1802
|
-
def same_lines_for_command_and_block?(node); end
|
1803
|
-
|
1804
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#84
|
1805
|
-
sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
|
1806
|
-
def visit(node); end
|
1807
|
-
end
|
1808
|
-
|
1809
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#42
|
1810
|
-
RubyLsp::Requests::FoldingRanges::NODES_WITH_STATEMENTS = T.let(T.unsafe(nil), Array)
|
1811
|
-
|
1812
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#129
|
1813
|
-
class RubyLsp::Requests::FoldingRanges::PartialRange
|
1814
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#148
|
1815
|
-
sig { params(start_line: ::Integer, end_line: ::Integer, kind: ::String).void }
|
1816
|
-
def initialize(start_line, end_line, kind); end
|
1817
|
-
|
1818
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#136
|
1819
|
-
sig { returns(::Integer) }
|
1820
|
-
def end_line; end
|
1821
|
-
|
1822
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#155
|
1823
|
-
sig { params(node: ::SyntaxTree::Node).returns(::RubyLsp::Requests::FoldingRanges::PartialRange) }
|
1824
|
-
def extend_to(node); end
|
1825
|
-
|
1826
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#133
|
1827
|
-
sig { returns(::String) }
|
1828
|
-
def kind; end
|
1829
|
-
|
1830
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#175
|
1831
|
-
sig { returns(T::Boolean) }
|
1832
|
-
def multiline?; end
|
1833
|
-
|
1834
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#161
|
1835
|
-
sig { params(node: ::SyntaxTree::Node).returns(T::Boolean) }
|
1836
|
-
def new_section?(node); end
|
1837
|
-
|
1838
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#166
|
1839
|
-
sig { returns(::LanguageServer::Protocol::Interface::FoldingRange) }
|
1840
|
-
def to_range; end
|
1841
|
-
|
1842
|
-
class << self
|
1843
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#142
|
1844
|
-
sig { params(node: ::SyntaxTree::Node, kind: ::String).returns(::RubyLsp::Requests::FoldingRanges::PartialRange) }
|
1845
|
-
def from(node, kind); end
|
1846
|
-
end
|
1847
|
-
end
|
1848
|
-
|
1849
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#21
|
1850
|
-
RubyLsp::Requests::FoldingRanges::SIMPLE_FOLDABLES = T.let(T.unsafe(nil), Array)
|
1851
|
-
|
1852
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#53
|
1853
|
-
RubyLsp::Requests::FoldingRanges::StatementNode = T.type_alias { T.any(::SyntaxTree::Elsif, ::SyntaxTree::IfNode, ::SyntaxTree::In, ::SyntaxTree::Rescue, ::SyntaxTree::When) }
|
1854
|
-
|
1855
|
-
# 
|
1856
|
-
#
|
1857
|
-
# The [formatting](https://microsoft.github.io/language-server-protocol/specification#textDocument_formatting)
|
1858
|
-
# request uses RuboCop to fix auto-correctable offenses in the document. This requires enabling format on save and
|
1859
|
-
# registering the ruby-lsp as the Ruby formatter.
|
1860
|
-
#
|
1861
|
-
# The `rubyLsp.formatter` setting specifies which formatter to use.
|
1862
|
-
# If set to `auto` then it behaves as follows:
|
1863
|
-
# * It will use RuboCop if it is part of the bundle.
|
1864
|
-
# * If RuboCop is not available, and `syntax_tree` is a direct dependency, it will use that.
|
1865
|
-
# * Otherwise, no formatting will be applied.
|
1866
|
-
#
|
1867
|
-
# # Example
|
1868
|
-
#
|
1869
|
-
# ```ruby
|
1870
|
-
# def say_hello
|
1871
|
-
# puts "Hello" # --> formatting: fixes the indentation on save
|
1872
|
-
# end
|
1873
|
-
# ```
|
1874
|
-
#
|
1875
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#28
|
1876
|
-
class RubyLsp::Requests::Formatting < ::RubyLsp::Requests::BaseRequest
|
1877
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#58
|
1878
|
-
sig { params(document: ::RubyLsp::Document, formatter: ::String).void }
|
1879
|
-
def initialize(document, formatter: T.unsafe(nil)); end
|
1880
|
-
|
1881
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#66
|
1882
|
-
sig { override.returns(T.nilable(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::TextEdit]))) }
|
1883
|
-
def run; end
|
1884
|
-
|
1885
|
-
private
|
1886
|
-
|
1887
|
-
# @raise [InvalidFormatter]
|
1888
|
-
#
|
1889
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#95
|
1890
|
-
sig { returns(T.nilable(::String)) }
|
1891
|
-
def formatted_file; end
|
1892
|
-
|
1893
|
-
class << self
|
1894
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#43
|
1895
|
-
sig { returns(T::Hash[::String, ::RubyLsp::Requests::Support::FormatterRunner]) }
|
1896
|
-
def formatters; end
|
1897
|
-
|
1898
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#46
|
1899
|
-
sig { params(identifier: ::String, instance: ::RubyLsp::Requests::Support::FormatterRunner).void }
|
1900
|
-
def register_formatter(identifier, instance); end
|
1901
|
-
end
|
1902
|
-
end
|
1903
|
-
|
1904
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#29
|
1905
|
-
class RubyLsp::Requests::Formatting::Error < ::StandardError; end
|
1906
|
-
|
1907
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#30
|
1908
|
-
class RubyLsp::Requests::Formatting::InvalidFormatter < ::StandardError; end
|
1909
|
-
|
1910
|
-
# 
|
1911
|
-
#
|
1912
|
-
# The [hover request](https://microsoft.github.io/language-server-protocol/specification#textDocument_hover)
|
1913
|
-
# displays the documentation for the symbol currently under the cursor.
|
1914
|
-
#
|
1915
|
-
# # Example
|
1916
|
-
#
|
1917
|
-
# ```ruby
|
1918
|
-
# String # -> Hovering over the class reference will show all declaration locations and the documentation
|
1919
|
-
# ```
|
1920
|
-
#
|
1921
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#16
|
1922
|
-
class RubyLsp::Requests::Hover < ::RubyLsp::ExtensibleListener
|
1923
|
-
extend T::Generic
|
1924
|
-
|
1925
|
-
ResponseType = type_member { { fixed: T.nilable(::LanguageServer::Protocol::Interface::Hover) } }
|
1926
|
-
|
1927
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#43
|
1928
|
-
sig do
|
1929
|
-
params(
|
1930
|
-
index: ::RubyIndexer::Index,
|
1931
|
-
nesting: T::Array[::String],
|
1932
|
-
emitter: ::RubyLsp::EventEmitter,
|
1933
|
-
message_queue: ::Thread::Queue
|
1934
|
-
).void
|
1935
|
-
end
|
1936
|
-
def initialize(index, nesting, emitter, message_queue); end
|
1937
|
-
|
1938
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#33
|
1939
|
-
sig { override.returns(ResponseType) }
|
1940
|
-
def _response; end
|
1941
|
-
|
1942
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#53
|
1943
|
-
sig { override.params(extension: ::RubyLsp::Extension).returns(T.nilable(RubyLsp::Listener[ResponseType])) }
|
1944
|
-
def initialize_external_listener(extension); end
|
1945
|
-
|
1946
|
-
# Merges responses from other hover listeners
|
1947
|
-
#
|
1948
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#59
|
1949
|
-
sig { override.params(other: RubyLsp::Listener[ResponseType]).returns(T.self_type) }
|
1950
|
-
def merge_response!(other); end
|
1951
|
-
|
1952
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#81
|
1953
|
-
sig { params(node: ::SyntaxTree::Const).void }
|
1954
|
-
def on_const(node); end
|
1955
|
-
|
1956
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#73
|
1957
|
-
sig { params(node: ::SyntaxTree::ConstPathRef).void }
|
1958
|
-
def on_const_path_ref(node); end
|
1959
|
-
|
1960
|
-
private
|
1961
|
-
|
1962
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#90
|
1963
|
-
sig { params(name: ::String, node: ::SyntaxTree::Node).void }
|
1964
|
-
def generate_hover(name, node); end
|
1965
|
-
end
|
1966
|
-
|
1967
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#22
|
1968
|
-
RubyLsp::Requests::Hover::ALLOWED_TARGETS = T.let(T.unsafe(nil), Array)
|
1969
|
-
|
1970
|
-
# 
|
1971
|
-
#
|
1972
|
-
# [Inlay hints](https://microsoft.github.io/language-server-protocol/specification#textDocument_inlayHint)
|
1973
|
-
# are labels added directly in the code that explicitly show the user something that might
|
1974
|
-
# otherwise just be implied.
|
1975
|
-
#
|
1976
|
-
# # Example
|
1977
|
-
#
|
1978
|
-
# ```ruby
|
1979
|
-
# begin
|
1980
|
-
# puts "do something that might raise"
|
1981
|
-
# rescue # Label "StandardError" goes here as a bare rescue implies rescuing StandardError
|
1982
|
-
# puts "handle some rescue"
|
1983
|
-
# end
|
1984
|
-
# ```
|
1985
|
-
#
|
1986
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#21
|
1987
|
-
class RubyLsp::Requests::InlayHints < ::RubyLsp::Listener
|
1988
|
-
extend T::Generic
|
1989
|
-
|
1990
|
-
ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::InlayHint] } }
|
1991
|
-
|
1992
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#33
|
1993
|
-
sig { params(range: T::Range[::Integer], emitter: ::RubyLsp::EventEmitter, message_queue: ::Thread::Queue).void }
|
1994
|
-
def initialize(range, emitter, message_queue); end
|
1995
|
-
|
1996
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#30
|
1997
|
-
sig { override.returns(ResponseType) }
|
1998
|
-
def _response; end
|
1999
|
-
|
2000
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#43
|
2001
|
-
sig { params(node: ::SyntaxTree::Rescue).void }
|
2002
|
-
def on_rescue(node); end
|
2003
|
-
end
|
2004
|
-
|
2005
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#27
|
2006
|
-
RubyLsp::Requests::InlayHints::RESCUE_STRING_LENGTH = T.let(T.unsafe(nil), Integer)
|
2007
|
-
|
2008
|
-
# 
|
2009
|
-
#
|
2010
|
-
# The [on type formatting](https://microsoft.github.io/language-server-protocol/specification#textDocument_onTypeFormatting)
|
2011
|
-
# request formats code as the user is typing. For example, automatically adding `end` to class definitions.
|
2012
|
-
#
|
2013
|
-
# # Example
|
2014
|
-
#
|
2015
|
-
# ```ruby
|
2016
|
-
# class Foo # <-- upon adding a line break, on type formatting is triggered
|
2017
|
-
# # <-- cursor ends up here
|
2018
|
-
# end # <-- end is automatically added
|
2019
|
-
# ```
|
2020
|
-
#
|
2021
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#18
|
2022
|
-
class RubyLsp::Requests::OnTypeFormatting < ::RubyLsp::Requests::BaseRequest
|
2023
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#30
|
2024
|
-
sig do
|
2025
|
-
params(
|
2026
|
-
document: ::RubyLsp::Document,
|
2027
|
-
position: {line: ::Integer, character: ::Integer},
|
2028
|
-
trigger_character: ::String
|
2029
|
-
).void
|
2030
|
-
end
|
2031
|
-
def initialize(document, position, trigger_character); end
|
2032
|
-
|
2033
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#44
|
2034
|
-
sig { override.returns(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::TextEdit])) }
|
2035
|
-
def run; end
|
2036
|
-
|
2037
|
-
private
|
2038
|
-
|
2039
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#131
|
2040
|
-
sig { params(text: ::String, position: {line: ::Integer, character: ::Integer}).void }
|
2041
|
-
def add_edit_with_text(text, position = T.unsafe(nil)); end
|
2042
|
-
|
2043
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#163
|
2044
|
-
sig { params(line: ::String).returns(::Integer) }
|
2045
|
-
def find_indentation(line); end
|
2046
|
-
|
2047
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#125
|
2048
|
-
sig { params(spaces: ::String).void }
|
2049
|
-
def handle_comment_line(spaces); end
|
2050
|
-
|
2051
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#95
|
2052
|
-
sig { void }
|
2053
|
-
def handle_curly_brace; end
|
2054
|
-
|
2055
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#64
|
2056
|
-
sig { void }
|
2057
|
-
def handle_pipe; end
|
2058
|
-
|
2059
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#103
|
2060
|
-
sig { void }
|
2061
|
-
def handle_statement_end; end
|
2062
|
-
|
2063
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#144
|
2064
|
-
sig { params(line: ::Integer, character: ::Integer).void }
|
2065
|
-
def move_cursor_to(line, character); end
|
2066
|
-
end
|
2067
|
-
|
2068
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#21
|
2069
|
-
RubyLsp::Requests::OnTypeFormatting::END_REGEXES = T.let(T.unsafe(nil), Array)
|
2070
|
-
|
2071
|
-
# 
|
2072
|
-
#
|
2073
|
-
# The [selection ranges](https://microsoft.github.io/language-server-protocol/specification#textDocument_selectionRange)
|
2074
|
-
# request informs the editor of ranges that the user may want to select based on the location(s)
|
2075
|
-
# of their cursor(s).
|
2076
|
-
#
|
2077
|
-
# Trigger this request with: Ctrl + Shift + -> or Ctrl + Shift + <-
|
2078
|
-
#
|
2079
|
-
# Note that if using VSCode Neovim, you will need to be in Insert mode for this to work correctly.
|
2080
|
-
#
|
2081
|
-
# # Example
|
2082
|
-
#
|
2083
|
-
# ```ruby
|
2084
|
-
# def foo # --> The next selection range encompasses the entire method definition.
|
2085
|
-
# puts "Hello, world!" # --> Cursor is on this line
|
2086
|
-
# end
|
2087
|
-
# ```
|
2088
|
-
#
|
2089
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#23
|
2090
|
-
class RubyLsp::Requests::SelectionRanges < ::RubyLsp::Requests::BaseRequest
|
2091
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#66
|
2092
|
-
sig { params(document: ::RubyLsp::Document).void }
|
2093
|
-
def initialize(document); end
|
2094
|
-
|
2095
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#74
|
2096
|
-
sig { override.returns(T.all(::Object, T::Array[::RubyLsp::Requests::Support::SelectionRange])) }
|
2097
|
-
def run; end
|
2098
|
-
|
2099
|
-
private
|
2100
|
-
|
2101
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#101
|
2102
|
-
sig do
|
2103
|
-
params(
|
2104
|
-
location: ::SyntaxTree::Location,
|
2105
|
-
parent: T.nilable(::RubyLsp::Requests::Support::SelectionRange)
|
2106
|
-
).returns(::RubyLsp::Requests::Support::SelectionRange)
|
2107
|
-
end
|
2108
|
-
def create_selection_range(location, parent = T.unsafe(nil)); end
|
2109
|
-
|
2110
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#82
|
2111
|
-
sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
|
2112
|
-
def visit(node); end
|
2113
|
-
end
|
2114
|
-
|
2115
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#26
|
2116
|
-
RubyLsp::Requests::SelectionRanges::NODES_THAT_CAN_BE_PARENTS = T.let(T.unsafe(nil), Array)
|
2117
|
-
|
2118
|
-
# 
|
2119
|
-
#
|
2120
|
-
# The [semantic
|
2121
|
-
# highlighting](https://microsoft.github.io/language-server-protocol/specification#textDocument_semanticTokens)
|
2122
|
-
# request informs the editor of the correct token types to provide consistent and accurate highlighting for themes.
|
2123
|
-
#
|
2124
|
-
# # Example
|
2125
|
-
#
|
2126
|
-
# ```ruby
|
2127
|
-
# def foo
|
2128
|
-
# var = 1 # --> semantic highlighting: local variable
|
2129
|
-
# some_invocation # --> semantic highlighting: method invocation
|
2130
|
-
# var # --> semantic highlighting: local variable
|
2131
|
-
# end
|
2132
|
-
# ```
|
2133
|
-
#
|
2134
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#21
|
2135
|
-
class RubyLsp::Requests::SemanticHighlighting < ::RubyLsp::Listener
|
2136
|
-
extend T::Generic
|
2137
|
-
|
2138
|
-
ResponseType = type_member { { fixed: T::Array[::RubyLsp::Requests::SemanticHighlighting::SemanticToken] } }
|
2139
|
-
|
2140
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#117
|
2141
|
-
sig do
|
2142
|
-
params(
|
2143
|
-
emitter: ::RubyLsp::EventEmitter,
|
2144
|
-
message_queue: ::Thread::Queue,
|
2145
|
-
range: T.nilable(T::Range[::Integer])
|
2146
|
-
).void
|
2147
|
-
end
|
2148
|
-
def initialize(emitter, message_queue, range: T.unsafe(nil)); end
|
2149
|
-
|
2150
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#108
|
2151
|
-
sig { override.returns(ResponseType) }
|
2152
|
-
def _response; end
|
2153
|
-
|
2154
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#327
|
2155
|
-
sig { params(location: ::SyntaxTree::Location, type: ::Symbol, modifiers: T::Array[::Symbol]).void }
|
2156
|
-
def add_token(location, type, modifiers = T.unsafe(nil)); end
|
2157
|
-
|
2158
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#286
|
2159
|
-
sig { params(node: ::SyntaxTree::Binary).void }
|
2160
|
-
def after_binary(node); end
|
2161
|
-
|
2162
|
-
# All block locals are variables. E.g.: [].each do |x; block_local|
|
2163
|
-
#
|
2164
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#254
|
2165
|
-
sig { params(node: ::SyntaxTree::BlockVar).void }
|
2166
|
-
def on_block_var(node); end
|
2167
|
-
|
2168
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#146
|
2169
|
-
sig { params(node: ::SyntaxTree::CallNode).void }
|
2170
|
-
def on_call(node); end
|
2171
|
-
|
2172
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#310
|
2173
|
-
sig { params(node: ::SyntaxTree::ClassDeclaration).void }
|
2174
|
-
def on_class(node); end
|
2175
|
-
|
2176
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#157
|
2177
|
-
sig { params(node: ::SyntaxTree::Command).void }
|
2178
|
-
def on_command(node); end
|
2179
|
-
|
2180
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#164
|
2181
|
-
sig { params(node: ::SyntaxTree::CommandCall).void }
|
2182
|
-
def on_command_call(node); end
|
2183
|
-
|
2184
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#172
|
2185
|
-
sig { params(node: ::SyntaxTree::Const).void }
|
2186
|
-
def on_const(node); end
|
2187
|
-
|
2188
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#183
|
2189
|
-
sig { params(node: ::SyntaxTree::DefNode).void }
|
2190
|
-
def on_def(node); end
|
2191
|
-
|
2192
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#220
|
2193
|
-
sig { params(node: ::SyntaxTree::Field).void }
|
2194
|
-
def on_field(node); end
|
2195
|
-
|
2196
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#190
|
2197
|
-
sig { params(node: ::SyntaxTree::Kw).void }
|
2198
|
-
def on_kw(node); end
|
2199
|
-
|
2200
|
-
# All lambda locals are variables. E.g.: ->(x; lambda_local) {}
|
2201
|
-
#
|
2202
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#260
|
2203
|
-
sig { params(node: ::SyntaxTree::LambdaVar).void }
|
2204
|
-
def on_lambda_var(node); end
|
2205
|
-
|
2206
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#320
|
2207
|
-
sig { params(node: ::SyntaxTree::ModuleDeclaration).void }
|
2208
|
-
def on_module(node); end
|
2209
|
-
|
2210
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#200
|
2211
|
-
sig { params(node: ::SyntaxTree::Params).void }
|
2212
|
-
def on_params(node); end
|
2213
|
-
|
2214
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#227
|
2215
|
-
sig { params(node: ::SyntaxTree::VarField).void }
|
2216
|
-
def on_var_field(node); end
|
2217
|
-
|
2218
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#240
|
2219
|
-
sig { params(node: ::SyntaxTree::VarRef).void }
|
2220
|
-
def on_var_ref(node); end
|
2221
|
-
|
2222
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#265
|
2223
|
-
sig { params(node: ::SyntaxTree::VCall).void }
|
2224
|
-
def on_vcall(node); end
|
2225
|
-
|
2226
|
-
private
|
2227
|
-
|
2228
|
-
# Exclude the ":" symbol at the end of a location
|
2229
|
-
# We use it on keyword parameters to be consistent
|
2230
|
-
# with the rest of the parameters
|
2231
|
-
#
|
2232
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#346
|
2233
|
-
sig { params(location: T.untyped).returns(::SyntaxTree::Location) }
|
2234
|
-
def location_without_colon(location); end
|
2235
|
-
|
2236
|
-
# Textmate provides highlighting for a subset
|
2237
|
-
# of these special Ruby-specific methods.
|
2238
|
-
# We want to utilize that highlighting, so we
|
2239
|
-
# avoid making a semantic token for it.
|
2240
|
-
#
|
2241
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#362
|
2242
|
-
sig { params(method_name: ::String).returns(T::Boolean) }
|
2243
|
-
def special_method?(method_name); end
|
2244
|
-
|
2245
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#367
|
2246
|
-
sig { params(value: ::SyntaxTree::Ident).returns(::Symbol) }
|
2247
|
-
def type_for_local(value); end
|
2248
|
-
end
|
2249
|
-
|
2250
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#72
|
2251
|
-
RubyLsp::Requests::SemanticHighlighting::SPECIAL_RUBY_METHODS = T.let(T.unsafe(nil), Array)
|
2252
|
-
|
2253
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#83
|
2254
|
-
class RubyLsp::Requests::SemanticHighlighting::SemanticToken
|
2255
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#99
|
2256
|
-
sig do
|
2257
|
-
params(
|
2258
|
-
location: ::SyntaxTree::Location,
|
2259
|
-
length: ::Integer,
|
2260
|
-
type: ::Integer,
|
2261
|
-
modifier: T::Array[::Integer]
|
2262
|
-
).void
|
2263
|
-
end
|
2264
|
-
def initialize(location:, length:, type:, modifier:); end
|
2265
|
-
|
2266
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#90
|
2267
|
-
sig { returns(::Integer) }
|
2268
|
-
def length; end
|
2269
|
-
|
2270
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#87
|
2271
|
-
sig { returns(::SyntaxTree::Location) }
|
2272
|
-
def location; end
|
2273
|
-
|
2274
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#96
|
2275
|
-
sig { returns(T::Array[::Integer]) }
|
2276
|
-
def modifier; end
|
2277
|
-
|
2278
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#93
|
2279
|
-
sig { returns(::Integer) }
|
2280
|
-
def type; end
|
2281
|
-
end
|
2282
|
-
|
2283
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#56
|
2284
|
-
RubyLsp::Requests::SemanticHighlighting::TOKEN_MODIFIERS = T.let(T.unsafe(nil), Hash)
|
2285
|
-
|
2286
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#27
|
2287
|
-
RubyLsp::Requests::SemanticHighlighting::TOKEN_TYPES = T.let(T.unsafe(nil), Hash)
|
2288
|
-
|
2289
|
-
# 
|
2290
|
-
#
|
2291
|
-
# Show syntax tree is a custom [LSP
|
2292
|
-
# request](https://microsoft.github.io/language-server-protocol/specification#requestMessage) that displays the AST
|
2293
|
-
# for the current document or for the current selection in a new tab.
|
2294
|
-
#
|
2295
|
-
# # Example
|
2296
|
-
#
|
2297
|
-
# ```ruby
|
2298
|
-
# # Executing the Ruby LSP: Show syntax tree command will display the AST for the document
|
2299
|
-
# 1 + 1
|
2300
|
-
# # (program (statements ((binary (int "1") + (int "1")))))
|
2301
|
-
# ```
|
2302
|
-
#
|
2303
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#20
|
2304
|
-
class RubyLsp::Requests::ShowSyntaxTree < ::RubyLsp::Requests::BaseRequest
|
2305
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#24
|
2306
|
-
sig do
|
2307
|
-
params(
|
2308
|
-
document: ::RubyLsp::Document,
|
2309
|
-
range: T.nilable({start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}})
|
2310
|
-
).void
|
2311
|
-
end
|
2312
|
-
def initialize(document, range); end
|
2313
|
-
|
2314
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#31
|
2315
|
-
sig { override.returns(::String) }
|
2316
|
-
def run; end
|
2317
|
-
|
2318
|
-
private
|
2319
|
-
|
2320
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#43
|
2321
|
-
sig { returns(::String) }
|
2322
|
-
def ast_for_range; end
|
2323
|
-
end
|
2324
|
-
|
2325
|
-
# source://ruby-lsp/lib/ruby_lsp/requests.rb#48
|
2326
|
-
module RubyLsp::Requests::Support; end
|
2327
|
-
|
2328
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#7
|
2329
|
-
class RubyLsp::Requests::Support::Annotation
|
2330
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#15
|
2331
|
-
sig { params(arity: T.any(::Integer, T::Range[::Integer]), receiver: T::Boolean).void }
|
2332
|
-
def initialize(arity:, receiver: T.unsafe(nil)); end
|
2333
|
-
|
2334
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#21
|
2335
|
-
sig { returns(T.any(::Integer, T::Range[::Integer])) }
|
2336
|
-
def arity; end
|
2337
|
-
|
2338
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#24
|
2339
|
-
sig { returns(T::Boolean) }
|
2340
|
-
def receiver; end
|
2341
|
-
|
2342
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#27
|
2343
|
-
sig { params(arity: T.any(::Integer, T::Range[::Integer])).returns(T::Boolean) }
|
2344
|
-
def supports_arity?(arity); end
|
2345
|
-
|
2346
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#38
|
2347
|
-
sig { params(receiver: T.nilable(::String)).returns(T::Boolean) }
|
2348
|
-
def supports_receiver?(receiver); end
|
2349
|
-
end
|
2350
|
-
|
2351
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#7
|
2352
|
-
module RubyLsp::Requests::Support::Common
|
2353
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#64
|
2354
|
-
sig do
|
2355
|
-
params(
|
2356
|
-
node: ::SyntaxTree::Node,
|
2357
|
-
title: ::String,
|
2358
|
-
command_name: ::String,
|
2359
|
-
arguments: T.nilable(T::Array[T.untyped]),
|
2360
|
-
data: T.nilable(T::Hash[T.untyped, T.untyped])
|
2361
|
-
).returns(::LanguageServer::Protocol::Interface::CodeLens)
|
2362
|
-
end
|
2363
|
-
def create_code_lens(node, title:, command_name:, arguments:, data:); end
|
2364
|
-
|
2365
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#28
|
2366
|
-
sig do
|
2367
|
-
params(
|
2368
|
-
node: T.any(::SyntaxTree::ConstPathRef, ::SyntaxTree::ConstRef, ::SyntaxTree::TopConstRef)
|
2369
|
-
).returns(::String)
|
2370
|
-
end
|
2371
|
-
def full_constant_name(node); end
|
2372
|
-
|
2373
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#79
|
2374
|
-
sig do
|
2375
|
-
params(
|
2376
|
-
title: ::String,
|
2377
|
-
entries: T::Array[::RubyIndexer::Index::Entry]
|
2378
|
-
).returns(::LanguageServer::Protocol::Interface::MarkupContent)
|
2379
|
-
end
|
2380
|
-
def markdown_from_index_entries(title, entries); end
|
2381
|
-
|
2382
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#13
|
2383
|
-
sig { params(node: ::SyntaxTree::Node).returns(::LanguageServer::Protocol::Interface::Range) }
|
2384
|
-
def range_from_syntax_tree_node(node); end
|
2385
|
-
|
2386
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#47
|
2387
|
-
sig { params(node: T.nilable(::SyntaxTree::Node), range: T.nilable(T::Range[::Integer])).returns(T::Boolean) }
|
2388
|
-
def visible?(node, range); end
|
2389
|
-
end
|
2390
|
-
|
2391
|
-
# @abstract Subclasses must implement the `abstract` methods below.
|
2392
|
-
#
|
2393
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/formatter_runner.rb#7
|
2394
|
-
module RubyLsp::Requests::Support::FormatterRunner
|
2395
|
-
interface!
|
2396
|
-
|
2397
|
-
# @abstract
|
2398
|
-
#
|
2399
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/formatter_runner.rb#14
|
2400
|
-
sig { abstract.params(uri: ::URI::Generic, document: ::RubyLsp::Document).returns(T.nilable(::String)) }
|
2401
|
-
def run(uri, document); end
|
2402
|
-
end
|
2403
|
-
|
2404
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#7
|
2405
|
-
class RubyLsp::Requests::Support::HighlightTarget
|
2406
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#30
|
2407
|
-
sig { params(node: ::SyntaxTree::Node).void }
|
2408
|
-
def initialize(node); end
|
2409
|
-
|
2410
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#36
|
2411
|
-
sig do
|
2412
|
-
params(
|
2413
|
-
other: ::SyntaxTree::Node
|
2414
|
-
).returns(T.nilable(::RubyLsp::Requests::Support::HighlightTarget::HighlightMatch))
|
2415
|
-
end
|
2416
|
-
def highlight_type(other); end
|
2417
|
-
|
2418
|
-
private
|
2419
|
-
|
2420
|
-
# Match the target type (where the cursor is positioned) with the `other` type (the node we're currently
|
2421
|
-
# visiting)
|
2422
|
-
#
|
2423
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#45
|
2424
|
-
sig do
|
2425
|
-
params(
|
2426
|
-
other: ::SyntaxTree::Node
|
2427
|
-
).returns(T.nilable(::RubyLsp::Requests::Support::HighlightTarget::HighlightMatch))
|
2428
|
-
end
|
2429
|
-
def matched_highlight(other); end
|
2430
|
-
|
2431
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#77
|
2432
|
-
sig { params(node: ::SyntaxTree::Node).returns(T.nilable(::String)) }
|
2433
|
-
def value(node); end
|
2434
|
-
end
|
2435
|
-
|
2436
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#13
|
2437
|
-
class RubyLsp::Requests::Support::HighlightTarget::HighlightMatch
|
2438
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#23
|
2439
|
-
sig { params(type: ::Integer, node: ::SyntaxTree::Node).void }
|
2440
|
-
def initialize(type:, node:); end
|
2441
|
-
|
2442
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#20
|
2443
|
-
sig { returns(::SyntaxTree::Node) }
|
2444
|
-
def node; end
|
2445
|
-
|
2446
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#17
|
2447
|
-
sig { returns(::Integer) }
|
2448
|
-
def type; end
|
2449
|
-
end
|
2450
|
-
|
2451
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#10
|
2452
|
-
RubyLsp::Requests::Support::HighlightTarget::READ = T.let(T.unsafe(nil), Integer)
|
2453
|
-
|
2454
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/highlight_target.rb#11
|
2455
|
-
RubyLsp::Requests::Support::HighlightTarget::WRITE = T.let(T.unsafe(nil), Integer)
|
2456
|
-
|
2457
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#19
|
2458
|
-
class RubyLsp::Requests::Support::InternalRuboCopError < ::StandardError
|
2459
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#29
|
2460
|
-
sig { params(rubocop_error: ::RuboCop::ErrorWithAnalyzedFileLocation).void }
|
2461
|
-
def initialize(rubocop_error); end
|
2462
|
-
end
|
2463
|
-
|
2464
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#22
|
2465
|
-
RubyLsp::Requests::Support::InternalRuboCopError::MESSAGE = T.let(T.unsafe(nil), String)
|
2466
|
-
|
2467
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#7
|
2468
|
-
class RubyLsp::Requests::Support::RuboCopDiagnostic
|
2469
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#23
|
2470
|
-
sig { params(offense: ::RuboCop::Cop::Offense, uri: ::URI::Generic).void }
|
2471
|
-
def initialize(offense, uri); end
|
2472
|
-
|
2473
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#29
|
2474
|
-
sig { returns(::LanguageServer::Protocol::Interface::CodeAction) }
|
2475
|
-
def to_lsp_code_action; end
|
2476
|
-
|
2477
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#49
|
2478
|
-
sig { returns(::LanguageServer::Protocol::Interface::Diagnostic) }
|
2479
|
-
def to_lsp_diagnostic; end
|
2480
|
-
|
2481
|
-
private
|
2482
|
-
|
2483
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#83
|
2484
|
-
sig { returns(T::Array[::LanguageServer::Protocol::Interface::TextEdit]) }
|
2485
|
-
def offense_replacements; end
|
2486
|
-
end
|
2487
|
-
|
2488
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#10
|
2489
|
-
RubyLsp::Requests::Support::RuboCopDiagnostic::RUBOCOP_TO_LSP_SEVERITY = T.let(T.unsafe(nil), Hash)
|
2490
|
-
|
2491
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostics_runner.rb#12
|
2492
|
-
class RubyLsp::Requests::Support::RuboCopDiagnosticsRunner
|
2493
|
-
include ::Singleton
|
2494
|
-
extend ::Singleton::SingletonClassMethods
|
2495
|
-
|
2496
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostics_runner.rb#17
|
2497
|
-
sig { void }
|
2498
|
-
def initialize; end
|
2499
|
-
|
2500
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostics_runner.rb#22
|
2501
|
-
sig do
|
2502
|
-
params(
|
2503
|
-
uri: ::URI::Generic,
|
2504
|
-
document: ::RubyLsp::Document
|
2505
|
-
).returns(T::Array[::RubyLsp::Requests::Support::RuboCopDiagnostic])
|
2506
|
-
end
|
2507
|
-
def run(uri, document); end
|
2508
|
-
|
2509
|
-
class << self
|
2510
|
-
private
|
2511
|
-
|
2512
|
-
def allocate; end
|
2513
|
-
def new(*_arg0); end
|
2514
|
-
end
|
2515
|
-
end
|
2516
|
-
|
2517
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatting_runner.rb#12
|
2518
|
-
class RubyLsp::Requests::Support::RuboCopFormattingRunner
|
2519
|
-
include ::Singleton
|
2520
|
-
include ::RubyLsp::Requests::Support::FormatterRunner
|
2521
|
-
extend ::Singleton::SingletonClassMethods
|
2522
|
-
|
2523
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatting_runner.rb#18
|
2524
|
-
sig { void }
|
2525
|
-
def initialize; end
|
2526
|
-
|
2527
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatting_runner.rb#24
|
2528
|
-
sig { override.params(uri: ::URI::Generic, document: ::RubyLsp::Document).returns(::String) }
|
2529
|
-
def run(uri, document); end
|
2530
|
-
|
2531
|
-
class << self
|
2532
|
-
private
|
2533
|
-
|
2534
|
-
def allocate; end
|
2535
|
-
def new(*_arg0); end
|
2536
|
-
end
|
2537
|
-
end
|
2538
|
-
|
2539
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#36
|
2540
|
-
class RubyLsp::Requests::Support::RuboCopRunner < ::RuboCop::Runner
|
2541
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#63
|
2542
|
-
sig { params(args: ::String).void }
|
2543
|
-
def initialize(*args); end
|
2544
|
-
|
2545
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#95
|
2546
|
-
sig { returns(::String) }
|
2547
|
-
def formatted_source; end
|
2548
|
-
|
2549
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#42
|
2550
|
-
sig { returns(T::Array[::RuboCop::Cop::Offense]) }
|
2551
|
-
def offenses; end
|
2552
|
-
|
2553
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#77
|
2554
|
-
sig { params(path: ::String, contents: ::String).void }
|
2555
|
-
def run(path, contents); end
|
2556
|
-
|
2557
|
-
private
|
2558
|
-
|
2559
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#102
|
2560
|
-
sig { params(_file: ::String, offenses: T::Array[::RuboCop::Cop::Offense]).void }
|
2561
|
-
def file_finished(_file, offenses); end
|
2562
|
-
end
|
2563
|
-
|
2564
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#39
|
2565
|
-
class RubyLsp::Requests::Support::RuboCopRunner::ConfigurationError < ::StandardError; end
|
2566
|
-
|
2567
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#44
|
2568
|
-
RubyLsp::Requests::Support::RuboCopRunner::DEFAULT_ARGS = T.let(T.unsafe(nil), Array)
|
2569
|
-
|
2570
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#7
|
2571
|
-
class RubyLsp::Requests::Support::SelectionRange < ::LanguageServer::Protocol::Interface::SelectionRange
|
2572
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#11
|
2573
|
-
sig { params(position: {line: ::Integer, character: ::Integer}).returns(T::Boolean) }
|
2574
|
-
def cover?(position); end
|
2575
|
-
end
|
2576
|
-
|
2577
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/semantic_token_encoder.rb#7
|
2578
|
-
class RubyLsp::Requests::Support::SemanticTokenEncoder
|
2579
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/semantic_token_encoder.rb#11
|
2580
|
-
sig { void }
|
2581
|
-
def initialize; end
|
2582
|
-
|
2583
|
-
# For more information on how each number is calculated, read:
|
2584
|
-
# https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens
|
2585
|
-
#
|
2586
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/semantic_token_encoder.rb#43
|
2587
|
-
sig { params(token: ::RubyLsp::Requests::SemanticHighlighting::SemanticToken).returns(T::Array[::Integer]) }
|
2588
|
-
def compute_delta(token); end
|
2589
|
-
|
2590
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/semantic_token_encoder.rb#21
|
2591
|
-
sig do
|
2592
|
-
params(
|
2593
|
-
tokens: T::Array[::RubyLsp::Requests::SemanticHighlighting::SemanticToken]
|
2594
|
-
).returns(::LanguageServer::Protocol::Interface::SemanticTokens)
|
2595
|
-
end
|
2596
|
-
def encode(tokens); end
|
2597
|
-
|
2598
|
-
# Encode an array of modifiers to positions onto a bit flag
|
2599
|
-
# For example, [:default_library] will be encoded as
|
2600
|
-
# 0b1000000000, as :default_library is the 10th bit according
|
2601
|
-
# to the token modifiers index map.
|
2602
|
-
#
|
2603
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/semantic_token_encoder.rb#62
|
2604
|
-
sig { params(modifiers: T::Array[::Integer]).returns(::Integer) }
|
2605
|
-
def encode_modifiers(modifiers); end
|
2606
|
-
end
|
2607
|
-
|
2608
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#7
|
2609
|
-
class RubyLsp::Requests::Support::Sorbet
|
2610
|
-
class << self
|
2611
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#48
|
2612
|
-
sig { params(node: T.any(::SyntaxTree::CallNode, ::SyntaxTree::VCall)).returns(T::Boolean) }
|
2613
|
-
def annotation?(node); end
|
2614
|
-
|
2615
|
-
private
|
2616
|
-
|
2617
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#61
|
2618
|
-
sig do
|
2619
|
-
params(
|
2620
|
-
node: T.any(::SyntaxTree::CallNode, ::SyntaxTree::VCall)
|
2621
|
-
).returns(T.nilable(::RubyLsp::Requests::Support::Annotation))
|
2622
|
-
end
|
2623
|
-
def annotation(node); end
|
2624
|
-
|
2625
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#90
|
2626
|
-
sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T.nilable(::String)) }
|
2627
|
-
def node_name(node); end
|
2628
|
-
|
2629
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#76
|
2630
|
-
sig { params(receiver: T.any(::SyntaxTree::CallNode, ::SyntaxTree::VCall)).returns(T.nilable(::String)) }
|
2631
|
-
def receiver_name(receiver); end
|
2632
|
-
end
|
2633
|
-
end
|
2634
|
-
|
2635
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/syntax_tree_formatting_runner.rb#11
|
2636
|
-
class RubyLsp::Requests::Support::SyntaxTreeFormattingRunner
|
2637
|
-
include ::Singleton
|
2638
|
-
include ::RubyLsp::Requests::Support::FormatterRunner
|
2639
|
-
extend ::Singleton::SingletonClassMethods
|
2640
|
-
|
2641
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/syntax_tree_formatting_runner.rb#17
|
2642
|
-
sig { void }
|
2643
|
-
def initialize; end
|
2644
|
-
|
2645
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/syntax_tree_formatting_runner.rb#30
|
2646
|
-
sig { override.params(uri: ::URI::Generic, document: ::RubyLsp::Document).returns(T.nilable(::String)) }
|
2647
|
-
def run(uri, document); end
|
2648
|
-
|
2649
|
-
class << self
|
2650
|
-
private
|
2651
|
-
|
2652
|
-
def allocate; end
|
2653
|
-
def new(*_arg0); end
|
2654
|
-
end
|
2655
|
-
end
|
2656
|
-
|
2657
|
-
# 
|
2658
|
-
#
|
2659
|
-
# The [workspace symbol](https://microsoft.github.io/language-server-protocol/specification#workspace_symbol)
|
2660
|
-
# request allows fuzzy searching declarations in the entire project. On VS Code, use CTRL/CMD + T to search for
|
2661
|
-
# symbols.
|
2662
|
-
#
|
2663
|
-
# # Example
|
2664
|
-
#
|
2665
|
-
# ```ruby
|
2666
|
-
# # Searching for `Floo` will fuzzy match and return all declarations according to the query, including this `Foo`
|
2667
|
-
# class
|
2668
|
-
# class Foo
|
2669
|
-
# end
|
2670
|
-
# ```
|
2671
|
-
#
|
2672
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#21
|
2673
|
-
class RubyLsp::Requests::WorkspaceSymbol
|
2674
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#25
|
2675
|
-
sig { params(query: T.nilable(::String), index: ::RubyIndexer::Index).void }
|
2676
|
-
def initialize(query, index); end
|
2677
|
-
|
2678
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#31
|
2679
|
-
sig { returns(T::Array[::LanguageServer::Protocol::Interface::WorkspaceSymbol]) }
|
2680
|
-
def run; end
|
2681
|
-
|
2682
|
-
private
|
2683
|
-
|
2684
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#74
|
2685
|
-
sig { params(entry: ::RubyIndexer::Index::Entry).returns(T.nilable(::Integer)) }
|
2686
|
-
def kind_for_entry(entry); end
|
2687
|
-
end
|
2688
|
-
|
2689
|
-
# The final result of running a request before its IO is finalized
|
2690
|
-
#
|
2691
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#35
|
2692
|
-
class RubyLsp::Result
|
2693
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#54
|
2694
|
-
sig { params(response: T.untyped, error: T.nilable(::Exception), request_time: T.nilable(::Float)).void }
|
2695
|
-
def initialize(response:, error: T.unsafe(nil), request_time: T.unsafe(nil)); end
|
2696
|
-
|
2697
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#42
|
2698
|
-
sig { returns(T.nilable(::Exception)) }
|
2699
|
-
def error; end
|
2700
|
-
|
2701
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#45
|
2702
|
-
sig { returns(T.nilable(::Float)) }
|
2703
|
-
def request_time; end
|
2704
|
-
|
2705
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#39
|
2706
|
-
sig { returns(T.untyped) }
|
2707
|
-
def response; end
|
2708
|
-
end
|
2709
|
-
|
2710
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#11
|
2711
|
-
class RubyLsp::Server
|
2712
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#15
|
2713
|
-
sig { void }
|
2714
|
-
def initialize; end
|
2715
|
-
|
2716
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#60
|
2717
|
-
sig { void }
|
2718
|
-
def start; end
|
2719
|
-
|
2720
|
-
private
|
2721
|
-
|
2722
|
-
# Finalize a Queue::Result. All IO operations should happen here to avoid any issues with cancelling requests
|
2723
|
-
#
|
2724
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#145
|
2725
|
-
sig { params(result: ::RubyLsp::Result, request: T::Hash[::Symbol, T.untyped]).void }
|
2726
|
-
def finalize_request(result, request); end
|
2727
|
-
|
2728
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#120
|
2729
|
-
sig { returns(::Thread) }
|
2730
|
-
def new_worker; end
|
2731
|
-
|
2732
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#177
|
2733
|
-
sig do
|
2734
|
-
params(
|
2735
|
-
request: T::Hash[::Symbol, T.untyped],
|
2736
|
-
request_time: ::Float,
|
2737
|
-
error: T.nilable(::Exception)
|
2738
|
-
).returns(T::Hash[::Symbol, T.any(::Float, ::String)])
|
2739
|
-
end
|
2740
|
-
def telemetry_params(request, request_time, error); end
|
2741
|
-
end
|
2742
|
-
|
2743
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#7
|
2744
|
-
class RubyLsp::Store
|
2745
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#23
|
2746
|
-
sig { void }
|
2747
|
-
def initialize; end
|
2748
|
-
|
2749
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#75
|
2750
|
-
sig do
|
2751
|
-
type_parameters(:T)
|
2752
|
-
.params(
|
2753
|
-
uri: ::URI::Generic,
|
2754
|
-
request_name: ::String,
|
2755
|
-
block: T.proc.params(document: ::RubyLsp::Document).returns(T.type_parameter(:T))
|
2756
|
-
).returns(T.type_parameter(:T))
|
2757
|
-
end
|
2758
|
-
def cache_fetch(uri, request_name, &block); end
|
2759
|
-
|
2760
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#53
|
2761
|
-
sig { void }
|
2762
|
-
def clear; end
|
2763
|
-
|
2764
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#63
|
2765
|
-
sig { params(uri: ::URI::Generic).void }
|
2766
|
-
def delete(uri); end
|
2767
|
-
|
2768
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#58
|
2769
|
-
sig { returns(T::Boolean) }
|
2770
|
-
def empty?; end
|
2771
|
-
|
2772
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#11
|
2773
|
-
sig { returns(::String) }
|
2774
|
-
def encoding; end
|
2775
|
-
|
2776
|
-
# @return [String]
|
2777
|
-
#
|
2778
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#11
|
2779
|
-
def encoding=(_arg0); end
|
2780
|
-
|
2781
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#20
|
2782
|
-
sig { returns(T::Boolean) }
|
2783
|
-
def experimental_features; end
|
2784
|
-
|
2785
|
-
# @return [Boolean]
|
2786
|
-
#
|
2787
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#20
|
2788
|
-
def experimental_features=(_arg0); end
|
2789
|
-
|
2790
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#14
|
2791
|
-
sig { returns(::String) }
|
2792
|
-
def formatter; end
|
2793
|
-
|
2794
|
-
# @return [String]
|
2795
|
-
#
|
2796
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#14
|
2797
|
-
def formatter=(_arg0); end
|
2798
|
-
|
2799
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#32
|
2800
|
-
sig { params(uri: ::URI::Generic).returns(::RubyLsp::Document) }
|
2801
|
-
def get(uri); end
|
2802
|
-
|
2803
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#48
|
2804
|
-
sig do
|
2805
|
-
params(
|
2806
|
-
uri: ::URI::Generic,
|
2807
|
-
edits: T::Array[{range: {start: {line: ::Integer, character: ::Integer}, end: {line: ::Integer, character: ::Integer}}, text: ::String}],
|
2808
|
-
version: ::Integer
|
2809
|
-
).void
|
2810
|
-
end
|
2811
|
-
def push_edits(uri:, edits:, version:); end
|
2812
|
-
|
2813
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#42
|
2814
|
-
sig { params(uri: ::URI::Generic, source: ::String, version: ::Integer).void }
|
2815
|
-
def set(uri:, source:, version:); end
|
2816
|
-
|
2817
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#17
|
2818
|
-
sig { returns(T::Boolean) }
|
2819
|
-
def supports_progress; end
|
2820
|
-
|
2821
|
-
# @return [Boolean]
|
2822
|
-
#
|
2823
|
-
# source://ruby-lsp/lib/ruby_lsp/store.rb#17
|
2824
|
-
def supports_progress=(_arg0); end
|
2825
|
-
end
|
2826
|
-
|
2827
|
-
# source://ruby-lsp/lib/ruby_lsp/server.rb#8
|
2828
|
-
RubyLsp::Transport = LanguageServer::Protocol::Transport
|
2829
|
-
|
2830
|
-
# source://ruby-lsp/lib/ruby-lsp.rb#5
|
2831
|
-
RubyLsp::VERSION = T.let(T.unsafe(nil), String)
|
2832
|
-
|
2833
|
-
# Used to indicate that a request shouldn't return a response
|
2834
|
-
#
|
2835
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#6
|
2836
|
-
RubyLsp::VOID = T.let(T.unsafe(nil), Object)
|
2837
|
-
|
2838
|
-
# This freeze is not redundant since the interpolated string is mutable
|
2839
|
-
#
|
2840
|
-
# source://ruby-lsp/lib/ruby_lsp/utils.rb#9
|
2841
|
-
RubyLsp::WORKSPACE_URI = T.let(T.unsafe(nil), URI::Generic)
|
2842
|
-
|
2843
|
-
# source://ruby-lsp/lib/core_ext/uri.rb#4
|
2844
|
-
module URI
|
2845
|
-
include ::URI::RFC2396_REGEXP
|
2846
|
-
end
|
2847
|
-
|
2848
|
-
# source://ruby-lsp/lib/core_ext/uri.rb#5
|
2849
|
-
class URI::Generic
|
2850
|
-
include ::URI::RFC2396_REGEXP
|
2851
|
-
include ::URI
|
2852
|
-
|
2853
|
-
class << self
|
2854
|
-
# source://ruby-lsp/lib/core_ext/uri.rb#10
|
2855
|
-
sig { params(path: ::String, fragment: T.nilable(::String), scheme: ::String).returns(::URI::Generic) }
|
2856
|
-
def from_path(path:, fragment: T.unsafe(nil), scheme: T.unsafe(nil)); end
|
2857
|
-
end
|
2858
|
-
end
|
2859
|
-
|
2860
|
-
# Must be kept in sync with the one in Tapioca
|
2861
|
-
#
|
2862
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#8
|
2863
|
-
class URI::Source < ::URI::File
|
2864
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#62
|
2865
|
-
sig { params(v: T.nilable(::String)).returns(T::Boolean) }
|
2866
|
-
def check_host(v); end
|
2867
|
-
|
2868
|
-
# source://uri/0.12.1uri/generic.rb#243
|
2869
|
-
def gem_name; end
|
2870
|
-
|
2871
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#26
|
2872
|
-
sig { returns(T.nilable(::String)) }
|
2873
|
-
def gem_version; end
|
2874
|
-
|
2875
|
-
# source://uri/0.12.1uri/generic.rb#283
|
2876
|
-
def line_number; end
|
2877
|
-
|
2878
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#52
|
2879
|
-
sig { params(v: T.nilable(::String)).void }
|
2880
|
-
def set_path(v); end
|
2881
|
-
|
2882
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#74
|
2883
|
-
sig { returns(::String) }
|
2884
|
-
def to_s; end
|
2885
|
-
|
2886
|
-
class << self
|
2887
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#39
|
2888
|
-
sig do
|
2889
|
-
params(
|
2890
|
-
gem_name: ::String,
|
2891
|
-
gem_version: T.nilable(::String),
|
2892
|
-
path: ::String,
|
2893
|
-
line_number: T.nilable(::String)
|
2894
|
-
).returns(::URI::Source)
|
2895
|
-
end
|
2896
|
-
def build(gem_name:, gem_version:, path:, line_number:); end
|
2897
|
-
end
|
2898
|
-
end
|
2899
|
-
|
2900
|
-
# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#11
|
2901
|
-
URI::Source::COMPONENT = T.let(T.unsafe(nil), Array)
|
2902
|
-
|
2903
|
-
class URI::WSS < ::URI::WS; end
|