@@ -26,23 +26,27 @@ def initialize
26
26
27
27
# We first initialize the client as a NullClient, so that we can start the server in a background thread. Until
28
28
# the real client is initialized, features that depend on it will not be blocked by using the NullClient
29
- @client = T . let ( NullClient . new , RunnerClient )
29
+ @rails_runner_client = T . let ( NullClient . new , RunnerClient )
30
+ @global_state = T . let ( nil , T . nilable ( GlobalState ) )
30
31
end
31
32
33
+ sig { returns ( RunnerClient ) }
34
+ attr_reader :rails_runner_client
35
+
32
36
sig { override . params ( global_state : GlobalState , message_queue : Thread ::Queue ) . void }
33
37
def activate ( global_state , message_queue )
34
- @global_state = T . let ( global_state , T . nilable ( RubyLsp :: GlobalState ) )
38
+ @global_state = global_state
35
39
$stderr. puts ( "Activating Ruby LSP Rails addon v#{ VERSION } " )
36
40
# Start booting the real client in a background thread. Until this completes, the client will be a NullClient
37
- Thread . new { @client = RunnerClient . create_client }
41
+ Thread . new { @rails_runner_client = RunnerClient . create_client }
38
42
register_additional_file_watchers ( global_state : global_state , message_queue : message_queue )
39
43
40
- T . must ( @global_state ) . index . register_enhancement ( IndexingEnhancement . new )
44
+ @global_state . index . register_enhancement ( IndexingEnhancement . new )
41
45
end
42
46
43
47
sig { override . void }
44
48
def deactivate
45
- @client . shutdown
49
+ @rails_runner_client . shutdown
46
50
end
47
51
48
52
# Creates a new CodeLens listener. This method is invoked on every CodeLens request
@@ -54,7 +58,7 @@ def deactivate
54
58
) . void
55
59
end
56
60
def create_code_lens_listener ( response_builder , uri , dispatcher )
57
- CodeLens . new ( @client , T . must ( @global_state ) , response_builder , uri , dispatcher )
61
+ CodeLens . new ( @rails_runner_client , T . must ( @global_state ) , response_builder , uri , dispatcher )
58
62
end
59
63
60
64
sig do
@@ -65,7 +69,7 @@ def create_code_lens_listener(response_builder, uri, dispatcher)
65
69
) . void
66
70
end
67
71
def create_hover_listener ( response_builder , node_context , dispatcher )
68
- Hover . new ( @client , response_builder , node_context , T . must ( @global_state ) , dispatcher )
72
+ Hover . new ( @rails_runner_client , response_builder , node_context , T . must ( @global_state ) , dispatcher )
69
73
end
70
74
71
75
sig do
@@ -90,15 +94,15 @@ def create_document_symbol_listener(response_builder, dispatcher)
90
94
end
91
95
def create_definition_listener ( response_builder , uri , node_context , dispatcher )
92
96
index = T . must ( @global_state ) . index
93
- Definition . new ( @client , response_builder , node_context , index , dispatcher )
97
+ Definition . new ( @rails_runner_client , response_builder , node_context , index , dispatcher )
94
98
end
95
99
96
100
sig { params ( changes : T ::Array [ { uri : String , type : Integer } ] ) . void }
97
101
def workspace_did_change_watched_files ( changes )
98
102
if changes . any? do |change |
99
103
change [ :uri ] . end_with? ( "db/schema.rb" ) || change [ :uri ] . end_with? ( "structure.sql" )
100
104
end
101
- @client . trigger_reload
105
+ @rails_runner_client . trigger_reload
102
106
end
103
107
end
104
108
0 commit comments