rubydex 0.1.0.beta12-aarch64-linux
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 +7 -0
- data/LICENSE.txt +23 -0
- data/README.md +125 -0
- data/THIRD_PARTY_LICENSES.html +4562 -0
- data/exe/rdx +47 -0
- data/ext/rubydex/declaration.c +453 -0
- data/ext/rubydex/declaration.h +23 -0
- data/ext/rubydex/definition.c +284 -0
- data/ext/rubydex/definition.h +28 -0
- data/ext/rubydex/diagnostic.c +6 -0
- data/ext/rubydex/diagnostic.h +11 -0
- data/ext/rubydex/document.c +97 -0
- data/ext/rubydex/document.h +10 -0
- data/ext/rubydex/extconf.rb +138 -0
- data/ext/rubydex/graph.c +681 -0
- data/ext/rubydex/graph.h +10 -0
- data/ext/rubydex/handle.h +44 -0
- data/ext/rubydex/location.c +22 -0
- data/ext/rubydex/location.h +15 -0
- data/ext/rubydex/reference.c +123 -0
- data/ext/rubydex/reference.h +15 -0
- data/ext/rubydex/rubydex.c +22 -0
- data/ext/rubydex/utils.c +108 -0
- data/ext/rubydex/utils.h +34 -0
- data/lib/rubydex/3.2/rubydex.so +0 -0
- data/lib/rubydex/3.3/rubydex.so +0 -0
- data/lib/rubydex/3.4/rubydex.so +0 -0
- data/lib/rubydex/4.0/rubydex.so +0 -0
- data/lib/rubydex/comment.rb +17 -0
- data/lib/rubydex/diagnostic.rb +21 -0
- data/lib/rubydex/failures.rb +15 -0
- data/lib/rubydex/graph.rb +98 -0
- data/lib/rubydex/keyword.rb +17 -0
- data/lib/rubydex/keyword_parameter.rb +13 -0
- data/lib/rubydex/librubydex_sys.so +0 -0
- data/lib/rubydex/location.rb +90 -0
- data/lib/rubydex/mixin.rb +22 -0
- data/lib/rubydex/version.rb +5 -0
- data/lib/rubydex.rb +23 -0
- data/rbi/rubydex.rbi +422 -0
- data/rust/Cargo.lock +1851 -0
- data/rust/Cargo.toml +29 -0
- data/rust/about.hbs +78 -0
- data/rust/about.toml +10 -0
- data/rust/rubydex/Cargo.toml +42 -0
- data/rust/rubydex/src/compile_assertions.rs +13 -0
- data/rust/rubydex/src/diagnostic.rs +110 -0
- data/rust/rubydex/src/errors.rs +28 -0
- data/rust/rubydex/src/indexing/local_graph.rs +224 -0
- data/rust/rubydex/src/indexing/rbs_indexer.rs +1551 -0
- data/rust/rubydex/src/indexing/ruby_indexer.rs +2329 -0
- data/rust/rubydex/src/indexing/ruby_indexer_tests.rs +4962 -0
- data/rust/rubydex/src/indexing.rs +210 -0
- data/rust/rubydex/src/integrity.rs +279 -0
- data/rust/rubydex/src/job_queue.rs +205 -0
- data/rust/rubydex/src/lib.rs +17 -0
- data/rust/rubydex/src/listing.rs +371 -0
- data/rust/rubydex/src/main.rs +160 -0
- data/rust/rubydex/src/model/built_in.rs +83 -0
- data/rust/rubydex/src/model/comment.rs +24 -0
- data/rust/rubydex/src/model/declaration.rs +671 -0
- data/rust/rubydex/src/model/definitions.rs +1682 -0
- data/rust/rubydex/src/model/document.rs +222 -0
- data/rust/rubydex/src/model/encoding.rs +22 -0
- data/rust/rubydex/src/model/graph.rs +3754 -0
- data/rust/rubydex/src/model/id.rs +110 -0
- data/rust/rubydex/src/model/identity_maps.rs +58 -0
- data/rust/rubydex/src/model/ids.rs +60 -0
- data/rust/rubydex/src/model/keywords.rs +256 -0
- data/rust/rubydex/src/model/name.rs +298 -0
- data/rust/rubydex/src/model/references.rs +111 -0
- data/rust/rubydex/src/model/string_ref.rs +50 -0
- data/rust/rubydex/src/model/visibility.rs +41 -0
- data/rust/rubydex/src/model.rs +15 -0
- data/rust/rubydex/src/offset.rs +147 -0
- data/rust/rubydex/src/position.rs +6 -0
- data/rust/rubydex/src/query.rs +1841 -0
- data/rust/rubydex/src/resolution.rs +6517 -0
- data/rust/rubydex/src/stats/memory.rs +71 -0
- data/rust/rubydex/src/stats/orphan_report.rs +264 -0
- data/rust/rubydex/src/stats/timer.rs +127 -0
- data/rust/rubydex/src/stats.rs +11 -0
- data/rust/rubydex/src/test_utils/context.rs +226 -0
- data/rust/rubydex/src/test_utils/graph_test.rs +730 -0
- data/rust/rubydex/src/test_utils/local_graph_test.rs +602 -0
- data/rust/rubydex/src/test_utils.rs +52 -0
- data/rust/rubydex/src/visualization/dot.rs +192 -0
- data/rust/rubydex/src/visualization.rs +6 -0
- data/rust/rubydex/tests/cli.rs +185 -0
- data/rust/rubydex-mcp/Cargo.toml +28 -0
- data/rust/rubydex-mcp/src/main.rs +48 -0
- data/rust/rubydex-mcp/src/server.rs +1145 -0
- data/rust/rubydex-mcp/src/tools.rs +49 -0
- data/rust/rubydex-mcp/tests/mcp.rs +302 -0
- data/rust/rubydex-sys/Cargo.toml +20 -0
- data/rust/rubydex-sys/build.rs +14 -0
- data/rust/rubydex-sys/cbindgen.toml +12 -0
- data/rust/rubydex-sys/src/declaration_api.rs +485 -0
- data/rust/rubydex-sys/src/definition_api.rs +443 -0
- data/rust/rubydex-sys/src/diagnostic_api.rs +99 -0
- data/rust/rubydex-sys/src/document_api.rs +85 -0
- data/rust/rubydex-sys/src/graph_api.rs +948 -0
- data/rust/rubydex-sys/src/lib.rs +79 -0
- data/rust/rubydex-sys/src/location_api.rs +79 -0
- data/rust/rubydex-sys/src/name_api.rs +135 -0
- data/rust/rubydex-sys/src/reference_api.rs +267 -0
- data/rust/rubydex-sys/src/utils.rs +70 -0
- data/rust/rustfmt.toml +2 -0
- metadata +159 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Rubydex
|
|
4
|
+
class Mixin
|
|
5
|
+
#: ConstantReference
|
|
6
|
+
attr_reader :constant_reference
|
|
7
|
+
|
|
8
|
+
#: (ConstantReference) -> void
|
|
9
|
+
def initialize(constant_reference)
|
|
10
|
+
@constant_reference = constant_reference
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Represents `include SomeModule`
|
|
15
|
+
class Include < Mixin; end
|
|
16
|
+
|
|
17
|
+
# Represents `prepend SomeModule`
|
|
18
|
+
class Prepend < Mixin; end
|
|
19
|
+
|
|
20
|
+
# Represents `extend SomeModule`
|
|
21
|
+
class Extend < Mixin; end
|
|
22
|
+
end
|
data/lib/rubydex.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "bundler"
|
|
4
|
+
require "uri"
|
|
5
|
+
require "rubydex/version"
|
|
6
|
+
require "rubydex/mixin"
|
|
7
|
+
|
|
8
|
+
begin
|
|
9
|
+
# Load the precompiled version of the library
|
|
10
|
+
ruby_version = /(\d+\.\d+)/.match(RUBY_VERSION)
|
|
11
|
+
require "rubydex/#{ruby_version}/rubydex"
|
|
12
|
+
rescue LoadError
|
|
13
|
+
# It's important to leave for users that can not or don't want to use the gem with precompiled binaries.
|
|
14
|
+
require "rubydex/rubydex"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
require "rubydex/failures"
|
|
18
|
+
require "rubydex/location"
|
|
19
|
+
require "rubydex/comment"
|
|
20
|
+
require "rubydex/diagnostic"
|
|
21
|
+
require "rubydex/keyword"
|
|
22
|
+
require "rubydex/keyword_parameter"
|
|
23
|
+
require "rubydex/graph"
|
data/rbi/rubydex.rbi
ADDED
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# typed: strict
|
|
3
|
+
|
|
4
|
+
module Rubydex; end
|
|
5
|
+
|
|
6
|
+
class Rubydex::Comment
|
|
7
|
+
sig { params(string: String, location: Rubydex::Location).void }
|
|
8
|
+
def initialize(string:, location:); end
|
|
9
|
+
|
|
10
|
+
sig { returns(Rubydex::Location) }
|
|
11
|
+
def location; end
|
|
12
|
+
|
|
13
|
+
sig { returns(String) }
|
|
14
|
+
def string; end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class Rubydex::ConstantReference < Rubydex::Reference
|
|
18
|
+
sig { returns(Rubydex::Location) }
|
|
19
|
+
def location; end
|
|
20
|
+
|
|
21
|
+
class << self
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def new(*args); end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class Rubydex::UnresolvedConstantReference < Rubydex::ConstantReference
|
|
29
|
+
sig { returns(String) }
|
|
30
|
+
def name; end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class Rubydex::ResolvedConstantReference < Rubydex::ConstantReference
|
|
34
|
+
sig { returns(Rubydex::Declaration) }
|
|
35
|
+
def declaration; end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class Rubydex::Declaration
|
|
39
|
+
sig { returns(T::Enumerable[Rubydex::Definition]) }
|
|
40
|
+
def definitions; end
|
|
41
|
+
|
|
42
|
+
sig { returns(String) }
|
|
43
|
+
def name; end
|
|
44
|
+
|
|
45
|
+
sig { returns(Rubydex::Declaration) }
|
|
46
|
+
def owner; end
|
|
47
|
+
|
|
48
|
+
sig { returns(String) }
|
|
49
|
+
def unqualified_name; end
|
|
50
|
+
|
|
51
|
+
class << self
|
|
52
|
+
private
|
|
53
|
+
|
|
54
|
+
def new(*args); end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
class Rubydex::GlobalVariable < Rubydex::Declaration
|
|
59
|
+
sig { returns(T::Array[T.untyped]) }
|
|
60
|
+
def references; end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
class Rubydex::InstanceVariable < Rubydex::Declaration
|
|
64
|
+
sig { returns(T::Array[T.untyped]) }
|
|
65
|
+
def references; end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
class Rubydex::Constant < Rubydex::Declaration
|
|
69
|
+
sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
|
|
70
|
+
def references; end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
class Rubydex::ConstantAlias < Rubydex::Declaration
|
|
74
|
+
sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
|
|
75
|
+
def references; end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
class Rubydex::ClassVariable < Rubydex::Declaration
|
|
79
|
+
sig { returns(T::Array[T.untyped]) }
|
|
80
|
+
def references; end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
class Rubydex::Method < Rubydex::Declaration
|
|
84
|
+
sig { returns(T::Enumerable[Rubydex::MethodReference]) }
|
|
85
|
+
def references; end
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
class Rubydex::Namespace < Rubydex::Declaration
|
|
89
|
+
sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
|
|
90
|
+
def references; end
|
|
91
|
+
|
|
92
|
+
sig { returns(T::Enumerable[Rubydex::Namespace]) }
|
|
93
|
+
def ancestors; end
|
|
94
|
+
|
|
95
|
+
sig { returns(T::Enumerable[Rubydex::Namespace]) }
|
|
96
|
+
def descendants; end
|
|
97
|
+
|
|
98
|
+
sig { returns(T::Enumerable[Rubydex::Declaration]) }
|
|
99
|
+
def members; end
|
|
100
|
+
|
|
101
|
+
sig { params(name: String).returns(T.nilable(Rubydex::Declaration)) }
|
|
102
|
+
def member(name); end
|
|
103
|
+
|
|
104
|
+
sig { params(name: String, only_inherited: T::Boolean).returns(T.nilable(Rubydex::Declaration)) }
|
|
105
|
+
def find_member(name, only_inherited: false); end
|
|
106
|
+
|
|
107
|
+
sig { returns(T.nilable(Rubydex::SingletonClass)) }
|
|
108
|
+
def singleton_class; end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
class Rubydex::Class < Rubydex::Namespace; end
|
|
112
|
+
class Rubydex::Module < Rubydex::Namespace; end
|
|
113
|
+
class Rubydex::SingletonClass < Rubydex::Namespace; end
|
|
114
|
+
|
|
115
|
+
class Rubydex::Definition
|
|
116
|
+
sig { returns(T::Array[Rubydex::Comment]) }
|
|
117
|
+
def comments; end
|
|
118
|
+
|
|
119
|
+
sig { returns(T::Boolean) }
|
|
120
|
+
def deprecated?; end
|
|
121
|
+
|
|
122
|
+
sig { returns(Rubydex::Location) }
|
|
123
|
+
def location; end
|
|
124
|
+
|
|
125
|
+
sig { returns(String) }
|
|
126
|
+
def name; end
|
|
127
|
+
|
|
128
|
+
sig { returns(T.nilable(Rubydex::Location)) }
|
|
129
|
+
def name_location; end
|
|
130
|
+
|
|
131
|
+
class << self
|
|
132
|
+
private
|
|
133
|
+
|
|
134
|
+
def new(*args); end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
class Rubydex::AttrAccessorDefinition < Rubydex::Definition; end
|
|
139
|
+
class Rubydex::AttrReaderDefinition < Rubydex::Definition; end
|
|
140
|
+
class Rubydex::AttrWriterDefinition < Rubydex::Definition; end
|
|
141
|
+
class Rubydex::ClassVariableDefinition < Rubydex::Definition; end
|
|
142
|
+
class Rubydex::ConstantAliasDefinition < Rubydex::Definition; end
|
|
143
|
+
class Rubydex::ConstantDefinition < Rubydex::Definition; end
|
|
144
|
+
class Rubydex::GlobalVariableAliasDefinition < Rubydex::Definition; end
|
|
145
|
+
class Rubydex::GlobalVariableDefinition < Rubydex::Definition; end
|
|
146
|
+
class Rubydex::InstanceVariableDefinition < Rubydex::Definition; end
|
|
147
|
+
class Rubydex::MethodAliasDefinition < Rubydex::Definition; end
|
|
148
|
+
class Rubydex::MethodDefinition < Rubydex::Definition; end
|
|
149
|
+
class Rubydex::ModuleDefinition < Rubydex::Definition
|
|
150
|
+
sig { returns(T::Array[Rubydex::Mixin]) }
|
|
151
|
+
def mixins; end
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
class Rubydex::SingletonClassDefinition < Rubydex::Definition
|
|
155
|
+
sig { returns(T::Array[Rubydex::Mixin]) }
|
|
156
|
+
def mixins; end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
class Rubydex::ClassDefinition < Rubydex::Definition
|
|
160
|
+
sig { returns(T.nilable(Rubydex::ConstantReference)) }
|
|
161
|
+
def superclass; end
|
|
162
|
+
|
|
163
|
+
sig { returns(T::Array[Rubydex::Mixin]) }
|
|
164
|
+
def mixins; end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
class Rubydex::Mixin
|
|
168
|
+
sig { returns(Rubydex::ConstantReference) }
|
|
169
|
+
attr_reader :constant_reference
|
|
170
|
+
|
|
171
|
+
sig { params(constant_reference: Rubydex::ConstantReference).void }
|
|
172
|
+
def initialize(constant_reference); end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
class Rubydex::Include < Rubydex::Mixin; end
|
|
176
|
+
class Rubydex::Prepend < Rubydex::Mixin; end
|
|
177
|
+
class Rubydex::Extend < Rubydex::Mixin; end
|
|
178
|
+
|
|
179
|
+
class Rubydex::Diagnostic
|
|
180
|
+
sig { params(rule: Symbol, message: String, location: Rubydex::Location).void }
|
|
181
|
+
def initialize(rule:, message:, location:); end
|
|
182
|
+
|
|
183
|
+
sig { returns(Rubydex::Location) }
|
|
184
|
+
def location; end
|
|
185
|
+
|
|
186
|
+
sig { returns(String) }
|
|
187
|
+
def message; end
|
|
188
|
+
|
|
189
|
+
sig { returns(Symbol) }
|
|
190
|
+
def rule; end
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
class Rubydex::Keyword
|
|
194
|
+
sig { params(name: String, documentation: String).void }
|
|
195
|
+
def initialize(name, documentation); end
|
|
196
|
+
|
|
197
|
+
sig { returns(String) }
|
|
198
|
+
def name; end
|
|
199
|
+
|
|
200
|
+
sig { returns(String) }
|
|
201
|
+
def documentation; end
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
class Rubydex::KeywordParameter
|
|
205
|
+
sig { params(name: String).void }
|
|
206
|
+
def initialize(name); end
|
|
207
|
+
|
|
208
|
+
sig { returns(String) }
|
|
209
|
+
def name; end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
class Rubydex::Document
|
|
213
|
+
sig { returns(T::Enumerable[Rubydex::Definition]) }
|
|
214
|
+
def definitions; end
|
|
215
|
+
|
|
216
|
+
sig { returns(String) }
|
|
217
|
+
def uri; end
|
|
218
|
+
|
|
219
|
+
class << self
|
|
220
|
+
private
|
|
221
|
+
|
|
222
|
+
def new(*args); end
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
class Rubydex::Error < StandardError; end
|
|
227
|
+
|
|
228
|
+
class Rubydex::Failure
|
|
229
|
+
sig { params(message: String).void }
|
|
230
|
+
def initialize(message); end
|
|
231
|
+
|
|
232
|
+
sig { returns(String) }
|
|
233
|
+
def message; end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
class Rubydex::IntegrityFailure < Rubydex::Failure; end
|
|
237
|
+
|
|
238
|
+
class Rubydex::Graph
|
|
239
|
+
IGNORED_DIRECTORIES = T.let(T.unsafe(nil), T::Array[String])
|
|
240
|
+
|
|
241
|
+
sig { params(workspace_path: T.nilable(String)).void }
|
|
242
|
+
def initialize(workspace_path: nil); end
|
|
243
|
+
|
|
244
|
+
sig { params(fully_qualified_name: String).returns(T.nilable(Rubydex::Declaration)) }
|
|
245
|
+
def [](fully_qualified_name); end
|
|
246
|
+
|
|
247
|
+
sig { returns(T::Enumerable[Rubydex::ConstantReference]) }
|
|
248
|
+
def constant_references; end
|
|
249
|
+
|
|
250
|
+
sig { returns(T::Enumerable[Rubydex::Declaration]) }
|
|
251
|
+
def declarations; end
|
|
252
|
+
|
|
253
|
+
sig { params(uri: String).returns(T.nilable(Rubydex::Document)) }
|
|
254
|
+
def delete_document(uri); end
|
|
255
|
+
|
|
256
|
+
sig { returns(T::Array[Rubydex::Diagnostic]) }
|
|
257
|
+
def diagnostics; end
|
|
258
|
+
|
|
259
|
+
sig { returns(T::Enumerable[Rubydex::Document]) }
|
|
260
|
+
def documents; end
|
|
261
|
+
|
|
262
|
+
sig { params(file_paths: T::Array[String]).returns(T::Array[String]) }
|
|
263
|
+
def index_all(file_paths); end
|
|
264
|
+
|
|
265
|
+
sig { params(uri: String, source: String, language_id: String).void }
|
|
266
|
+
def index_source(uri, source, language_id); end
|
|
267
|
+
|
|
268
|
+
# Index all files and dependencies of the workspace that exists in `@workspace_path`
|
|
269
|
+
sig { returns(T::Array[String]) }
|
|
270
|
+
def index_workspace; end
|
|
271
|
+
|
|
272
|
+
sig { returns(T::Enumerable[Rubydex::MethodReference]) }
|
|
273
|
+
def method_references; end
|
|
274
|
+
|
|
275
|
+
sig { params(load_paths: T::Array[String]).returns(T::Array[String]) }
|
|
276
|
+
def require_paths(load_paths); end
|
|
277
|
+
|
|
278
|
+
sig { returns(T.self_type) }
|
|
279
|
+
def resolve; end
|
|
280
|
+
|
|
281
|
+
sig { params(name: String, nesting: T::Array[String]).returns(T.nilable(Rubydex::Declaration)) }
|
|
282
|
+
def resolve_constant(name, nesting); end
|
|
283
|
+
|
|
284
|
+
sig { params(require_path: String, load_paths: T::Array[String]).returns(T.nilable(Rubydex::Document)) }
|
|
285
|
+
def resolve_require_path(require_path, load_paths); end
|
|
286
|
+
|
|
287
|
+
sig { params(query: String).returns(T::Enumerable[Rubydex::Declaration]) }
|
|
288
|
+
def search(query); end
|
|
289
|
+
|
|
290
|
+
sig { params(query: String).returns(T::Enumerable[Rubydex::Declaration]) }
|
|
291
|
+
def fuzzy_search(query); end
|
|
292
|
+
|
|
293
|
+
sig { params(encoding: String).void }
|
|
294
|
+
def encoding=(encoding); end
|
|
295
|
+
|
|
296
|
+
sig { returns(String) }
|
|
297
|
+
def workspace_path; end
|
|
298
|
+
|
|
299
|
+
sig { params(workspace_path: String).returns(String) }
|
|
300
|
+
def workspace_path=(workspace_path); end
|
|
301
|
+
|
|
302
|
+
sig { returns(T::Array[String]) }
|
|
303
|
+
def workspace_paths; end
|
|
304
|
+
|
|
305
|
+
sig { returns(T::Array[Rubydex::Failure]) }
|
|
306
|
+
def check_integrity; end
|
|
307
|
+
|
|
308
|
+
# Returns completion candidates for an expression context. This includes all keywords, constants, methods, instance
|
|
309
|
+
# variables, class variables and global variables reachable from the current lexical scope and self type.
|
|
310
|
+
#
|
|
311
|
+
# The nesting array represents the lexical scope stack, where the last element is the self type. An empty array
|
|
312
|
+
# defaults to `Object` as the self type (top-level context).
|
|
313
|
+
sig { params(nesting: T::Array[String]).returns(T::Array[T.any(Rubydex::Declaration, Rubydex::Keyword)]) }
|
|
314
|
+
def complete_expression(nesting); end
|
|
315
|
+
|
|
316
|
+
# Returns completion candidates after a namespace access operator (e.g., `Foo::`). This includes all constants and
|
|
317
|
+
# singleton methods for the namespace and its ancestors.
|
|
318
|
+
sig { params(name: String).returns(T::Array[Rubydex::Declaration]) }
|
|
319
|
+
def complete_namespace_access(name); end
|
|
320
|
+
|
|
321
|
+
# Returns completion candidates after a method call operator (e.g., `foo.`). This includes all methods that exist on
|
|
322
|
+
# the type of the receiver and its ancestors.
|
|
323
|
+
sig { params(name: String).returns(T::Array[Rubydex::Method]) }
|
|
324
|
+
def complete_method_call(name); end
|
|
325
|
+
|
|
326
|
+
# Returns completion candidates inside a method call's argument list (e.g., `foo.bar(|)`). This includes everything
|
|
327
|
+
# that expression completion provides plus keyword argument names of the method being called.
|
|
328
|
+
#
|
|
329
|
+
# The nesting array represents the lexical scope stack, where the last element is the self type.
|
|
330
|
+
sig { params(name: String, nesting: T::Array[String]).returns(T::Array[T.any(Rubydex::Declaration, Rubydex::Keyword, Rubydex::KeywordParameter)]) }
|
|
331
|
+
def complete_method_argument(name, nesting); end
|
|
332
|
+
|
|
333
|
+
private
|
|
334
|
+
|
|
335
|
+
sig { params(paths: T::Array[String]).void }
|
|
336
|
+
def add_core_rbs_definition_paths(paths); end
|
|
337
|
+
|
|
338
|
+
sig { params(paths: T::Array[String]).void }
|
|
339
|
+
def add_workspace_dependency_paths(paths); end
|
|
340
|
+
|
|
341
|
+
sig { params(paths: T::Array[String]).void }
|
|
342
|
+
def exclude_paths(paths); end
|
|
343
|
+
|
|
344
|
+
sig { returns(T::Array[String]) }
|
|
345
|
+
def excluded_paths; end
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
class Rubydex::DisplayLocation < Rubydex::Location
|
|
349
|
+
sig { returns([String, Integer, Integer, Integer, Integer]) }
|
|
350
|
+
def comparable_values; end
|
|
351
|
+
|
|
352
|
+
sig { returns(Rubydex::DisplayLocation) }
|
|
353
|
+
def to_display; end
|
|
354
|
+
|
|
355
|
+
sig { returns(String) }
|
|
356
|
+
def to_s; end
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
class Rubydex::Location
|
|
360
|
+
include ::Comparable
|
|
361
|
+
|
|
362
|
+
sig do
|
|
363
|
+
params(
|
|
364
|
+
uri: String,
|
|
365
|
+
start_line: Integer,
|
|
366
|
+
end_line: Integer,
|
|
367
|
+
start_column: Integer,
|
|
368
|
+
end_column: Integer,
|
|
369
|
+
).void
|
|
370
|
+
end
|
|
371
|
+
def initialize(uri:, start_line:, end_line:, start_column:, end_column:); end
|
|
372
|
+
|
|
373
|
+
sig { params(other: T.untyped).returns(T.nilable(Integer)) }
|
|
374
|
+
def <=>(other); end
|
|
375
|
+
|
|
376
|
+
sig { returns([String, Integer, Integer, Integer, Integer]) }
|
|
377
|
+
def comparable_values; end
|
|
378
|
+
|
|
379
|
+
sig { returns(Integer) }
|
|
380
|
+
def end_column; end
|
|
381
|
+
|
|
382
|
+
sig { returns(Integer) }
|
|
383
|
+
def end_line; end
|
|
384
|
+
|
|
385
|
+
sig { returns(String) }
|
|
386
|
+
def to_file_path; end
|
|
387
|
+
|
|
388
|
+
sig { returns(Integer) }
|
|
389
|
+
def start_column; end
|
|
390
|
+
|
|
391
|
+
sig { returns(Integer) }
|
|
392
|
+
def start_line; end
|
|
393
|
+
|
|
394
|
+
sig { returns(Rubydex::DisplayLocation) }
|
|
395
|
+
def to_display; end
|
|
396
|
+
|
|
397
|
+
sig { returns(String) }
|
|
398
|
+
def to_s; end
|
|
399
|
+
|
|
400
|
+
sig { returns(String) }
|
|
401
|
+
def uri; end
|
|
402
|
+
|
|
403
|
+
class NotFileUriError < StandardError; end
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
class Rubydex::MethodReference < Rubydex::Reference
|
|
407
|
+
sig { returns(Rubydex::Location) }
|
|
408
|
+
def location; end
|
|
409
|
+
|
|
410
|
+
sig { returns(String) }
|
|
411
|
+
def name; end
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
class Rubydex::Reference
|
|
415
|
+
class << self
|
|
416
|
+
private
|
|
417
|
+
|
|
418
|
+
def new(*args); end
|
|
419
|
+
end
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
Rubydex::VERSION = T.let(T.unsafe(nil), String)
|