Skip to content

Commit 1e83430

Browse files
authored
Update for latest ruby-lsp changes (#301)
* Update to work with latest ruby-lsp changes * Pass global_state to listener * Allow logging for now * Use ivar for index --------- Co-authored-by: Andy Waite <[email protected]>
1 parent 6bd59f5 commit 1e83430

File tree

11 files changed

+896
-664
lines changed

11 files changed

+896
-664
lines changed

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ PATH
1313
actionpack (>= 6.0)
1414
activerecord (>= 6.0)
1515
railties (>= 6.0)
16-
ruby-lsp (>= 0.14.2, < 0.15.0)
16+
ruby-lsp (>= 0.16.0, < 0.17.0)
1717
sorbet-runtime (>= 0.5.9897)
1818

1919
GEM
@@ -227,7 +227,7 @@ GEM
227227
rubocop (~> 1.51)
228228
rubocop-sorbet (0.8.0)
229229
rubocop (>= 0.90.0)
230-
ruby-lsp (0.14.6)
230+
ruby-lsp (0.16.0)
231231
language_server-protocol (~> 3.17.0)
232232
prism (>= 0.22.0, < 0.25)
233233
sorbet-runtime (>= 0.5.10782)

lib/ruby_lsp/ruby_lsp_rails/addon.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ def initialize
2525
@client = T.let(NullClient.new, RunnerClient)
2626
end
2727

28-
sig { override.params(message_queue: Thread::Queue).void }
29-
def activate(message_queue)
28+
sig { override.params(global_state: GlobalState, message_queue: Thread::Queue).void }
29+
def activate(global_state, message_queue)
30+
@global_state = T.let(global_state, T.nilable(RubyLsp::GlobalState))
3031
$stderr.puts("Activating Ruby LSP Rails addon v#{VERSION}")
3132
# Start booting the real client in a background thread. Until this completes, the client will be a NullClient
3233
Thread.new { @client = RunnerClient.create_client }
@@ -53,12 +54,11 @@ def create_code_lens_listener(response_builder, uri, dispatcher)
5354
override.params(
5455
response_builder: ResponseBuilders::Hover,
5556
nesting: T::Array[String],
56-
index: RubyIndexer::Index,
5757
dispatcher: Prism::Dispatcher,
5858
).void
5959
end
60-
def create_hover_listener(response_builder, nesting, index, dispatcher)
61-
Hover.new(@client, response_builder, nesting, index, dispatcher)
60+
def create_hover_listener(response_builder, nesting, dispatcher)
61+
Hover.new(@client, response_builder, nesting, T.must(@global_state), dispatcher)
6262
end
6363

6464
sig do
@@ -76,11 +76,11 @@ def create_document_symbol_listener(response_builder, dispatcher)
7676
response_builder: ResponseBuilders::CollectionResponseBuilder[Interface::Location],
7777
uri: URI::Generic,
7878
nesting: T::Array[String],
79-
index: RubyIndexer::Index,
8079
dispatcher: Prism::Dispatcher,
8180
).void
8281
end
83-
def create_definition_listener(response_builder, uri, nesting, index, dispatcher)
82+
def create_definition_listener(response_builder, uri, nesting, dispatcher)
83+
index = T.must(@global_state).index
8484
Definition.new(response_builder, nesting, index, dispatcher)
8585
end
8686

lib/ruby_lsp/ruby_lsp_rails/hover.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ class Hover
2525
client: RunnerClient,
2626
response_builder: ResponseBuilders::Hover,
2727
nesting: T::Array[String],
28-
index: RubyIndexer::Index,
28+
global_state: GlobalState,
2929
dispatcher: Prism::Dispatcher,
3030
).void
3131
end
32-
def initialize(client, response_builder, nesting, index, dispatcher)
32+
def initialize(client, response_builder, nesting, global_state, dispatcher)
3333
@client = client
3434
@response_builder = response_builder
3535
@nesting = nesting
36-
@index = index
36+
@index = T.let(global_state.index, RubyIndexer::Index)
3737
dispatcher.register(self, :on_constant_path_node_enter, :on_constant_read_node_enter, :on_call_node_enter)
3838
end
3939

ruby-lsp-rails.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ Gem::Specification.new do |spec|
2626
spec.add_dependency("actionpack", ">= 6.0")
2727
spec.add_dependency("activerecord", ">= 6.0")
2828
spec.add_dependency("railties", ">= 6.0")
29-
spec.add_dependency("ruby-lsp", ">= 0.14.2", "< 0.15.0")
29+
spec.add_dependency("ruby-lsp", ">= 0.16.0", "< 0.17.0")
3030
spec.add_dependency("sorbet-runtime", ">= 0.5.9897")
3131
end

0 commit comments

Comments
 (0)