Skip to content

Commit 6697213

Browse files
committed
wip [skip ci]
1 parent c2b690d commit 6697213

File tree

11 files changed

+5887
-3721
lines changed

11 files changed

+5887
-3721
lines changed

Gemfile.lock

+12-17
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,6 @@ GEM
145145
racc (~> 1.4)
146146
nokogiri (1.18.1-arm64-darwin)
147147
racc (~> 1.4)
148-
nokogiri (1.18.1-x64-mingw-ucrt)
149-
racc (~> 1.4)
150148
nokogiri (1.18.1-x86_64-darwin)
151149
racc (~> 1.4)
152150
nokogiri (1.18.1-x86_64-linux-gnu)
@@ -201,8 +199,9 @@ GEM
201199
zeitwerk (~> 2.6)
202200
rainbow (3.1.1)
203201
rake (13.2.1)
204-
rbi (0.2.3)
202+
rbi (0.3.0)
205203
prism (~> 1.0)
204+
rbs (>= 3.4.4)
206205
sorbet-runtime (>= 0.5.9204)
207206
rbs (3.8.1)
208207
logger
@@ -236,15 +235,15 @@ GEM
236235
ruby-progressbar (1.13.0)
237236
ruby2_keywords (0.0.5)
238237
securerandom (0.3.1)
239-
sorbet (0.5.11865)
240-
sorbet-static (= 0.5.11865)
241-
sorbet-runtime (0.5.11865)
242-
sorbet-static (0.5.11865-aarch64-linux)
243-
sorbet-static (0.5.11865-universal-darwin)
244-
sorbet-static (0.5.11865-x86_64-linux)
245-
sorbet-static-and-runtime (0.5.11865)
246-
sorbet (= 0.5.11865)
247-
sorbet-runtime (= 0.5.11865)
238+
sorbet (0.5.11915)
239+
sorbet-static (= 0.5.11915)
240+
sorbet-runtime (0.5.11915)
241+
sorbet-static (0.5.11915-aarch64-linux)
242+
sorbet-static (0.5.11915-universal-darwin)
243+
sorbet-static (0.5.11915-x86_64-linux)
244+
sorbet-static-and-runtime (0.5.11915)
245+
sorbet (= 0.5.11915)
246+
sorbet-runtime (= 0.5.11915)
248247
spoom (1.5.4)
249248
erubi (>= 1.10.0)
250249
prism (>= 0.28.0)
@@ -254,12 +253,11 @@ GEM
254253
sqlite3 (2.5.0-aarch64-linux-gnu)
255254
sqlite3 (2.5.0-aarch64-linux-musl)
256255
sqlite3 (2.5.0-arm64-darwin)
257-
sqlite3 (2.5.0-x64-mingw-ucrt)
258256
sqlite3 (2.5.0-x86_64-darwin)
259257
sqlite3 (2.5.0-x86_64-linux-gnu)
260258
sqlite3 (2.5.0-x86_64-linux-musl)
261259
stringio (3.1.2)
262-
tapioca (0.16.8)
260+
tapioca (0.16.11)
263261
benchmark
264262
bundler (>= 2.2.25)
265263
netrc (>= 0.11.0)
@@ -273,8 +271,6 @@ GEM
273271
timeout (0.4.2)
274272
tzinfo (2.0.6)
275273
concurrent-ruby (~> 1.0)
276-
tzinfo-data (1.2025.1)
277-
tzinfo (>= 1.0.0)
278274
unicode-display_width (3.1.4)
279275
unicode-emoji (~> 4.0, >= 4.0.4)
280276
unicode-emoji (4.0.4)
@@ -295,7 +291,6 @@ PLATFORMS
295291
aarch64-linux-musl
296292
arm64-darwin
297293
universal-darwin
298-
x64-mingw-ucrt
299294
x86_64-darwin
300295
x86_64-linux
301296
x86_64-linux-gnu

lib/ruby_lsp/ruby_lsp_rails/addon.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
require_relative "code_lens"
1414
require_relative "document_symbol"
1515
require_relative "definition"
16+
require_relative "discover_tests"
1617
require_relative "completion"
1718
require_relative "indexing_enhancement"
1819

@@ -123,8 +124,9 @@ def create_completion_listener(response_builder, node_context, dispatcher, uri)
123124

124125
# @overridable
125126
#: (ResponseBuilders::TestCollection response_builder, Prism::Dispatcher dispatcher, URI::Generic uri) -> void
126-
def create_discover_tests_listener
127+
def create_discover_tests_listener(response_builder, dispatcher, uri)
127128
# TODO
129+
DiscoverTests.new(response_builder, dispatcher, uri)
128130
end
129131

130132
#: (Array[{uri: String, type: Integer}] changes) -> void

lib/ruby_lsp/ruby_lsp_rails/completion.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ def handle_active_record_where_completions(node:, receiver:)
3636
resolved_class = @client.model(receiver.name.to_s)
3737
return if resolved_class.nil?
3838

39-
arguments = T.must(@node_context.call_node).arguments&.arguments
39+
# arguments = T.must(@node_context.call_node).arguments&.arguments
40+
arguments = @node_context.call_node.arguments&.arguments
4041
indexed_call_node_args = T.let({}, T::Hash[String, Prism::Node])
4142

4243
if arguments
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# typed: strict
2+
# frozen_string_literal: true
3+
4+
module RubyLsp
5+
module Rails
6+
class DiscoverTests
7+
include Requests::Support::Common
8+
9+
# @override
10+
#: (ResponseBuilders::TestCollection response_builder, Prism::Dispatcher dispatcher, URI::Generic uri) -> void
11+
def initialize(response_builder, dispatcher, uri)
12+
@response_builder = response_builder
13+
dispatcher.register(
14+
self,
15+
:on_call_node_enter, # e.g. `test "..."`
16+
)
17+
end
18+
19+
#: (Prism::CallNode node) -> void
20+
def on_call_node_enter(node)
21+
end
22+
end
23+
end
24+
end

lib/ruby_lsp/ruby_lsp_rails/hover.rb

+5-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ def on_constant_path_node_enter(node)
3131
entries = @index.resolve(node.slice, @nesting)
3232
return unless entries
3333

34-
name = T.must(entries.first).name
34+
# TODO: figure out why this is now untyped, seems wrong
35+
# name = T.must(entries.first).name
36+
name = entries.first.name
3537
generate_column_content(name)
3638
end
3739

@@ -40,7 +42,8 @@ def on_constant_read_node_enter(node)
4042
entries = @index.resolve(node.name.to_s, @nesting)
4143
return unless entries
4244

43-
generate_column_content(T.must(entries.first).name)
45+
# generate_column_content(T.must(entries.first).name)
46+
generate_column_content(entries.first.name)
4447
end
4548

4649
private

0 commit comments

Comments
 (0)