ruby-lsp 0.23.11 → 0.23.13

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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/VERSION +1 -1
  4. data/exe/ruby-lsp-launcher +12 -11
  5. data/lib/rubocop/cop/ruby_lsp/use_language_server_aliases.rb +1 -1
  6. data/lib/rubocop/cop/ruby_lsp/use_register_with_handler_method.rb +3 -5
  7. data/lib/ruby_indexer/lib/ruby_indexer/configuration.rb +81 -115
  8. data/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb +117 -166
  9. data/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb +9 -7
  10. data/lib/ruby_indexer/lib/ruby_indexer/entry.rb +88 -200
  11. data/lib/ruby_indexer/lib/ruby_indexer/index.rb +56 -192
  12. data/lib/ruby_indexer/lib/ruby_indexer/location.rb +4 -27
  13. data/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb +14 -16
  14. data/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb +22 -45
  15. data/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb +42 -60
  16. data/lib/ruby_indexer/lib/ruby_indexer/uri.rb +9 -16
  17. data/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb +5 -9
  18. data/lib/ruby_indexer/test/configuration_test.rb +42 -3
  19. data/lib/ruby_indexer/test/method_test.rb +28 -2
  20. data/lib/ruby_indexer/test/rbs_indexer_test.rb +1 -1
  21. data/lib/ruby_lsp/addon.rb +44 -71
  22. data/lib/ruby_lsp/base_server.rb +29 -32
  23. data/lib/ruby_lsp/client_capabilities.rb +10 -12
  24. data/lib/ruby_lsp/document.rb +34 -45
  25. data/lib/ruby_lsp/erb_document.rb +24 -36
  26. data/lib/ruby_lsp/global_state.rb +51 -56
  27. data/lib/ruby_lsp/internal.rb +2 -0
  28. data/lib/ruby_lsp/listeners/code_lens.rb +81 -88
  29. data/lib/ruby_lsp/listeners/completion.rb +36 -55
  30. data/lib/ruby_lsp/listeners/definition.rb +37 -51
  31. data/lib/ruby_lsp/listeners/document_highlight.rb +123 -150
  32. data/lib/ruby_lsp/listeners/document_link.rb +43 -62
  33. data/lib/ruby_lsp/listeners/document_symbol.rb +35 -49
  34. data/lib/ruby_lsp/listeners/folding_ranges.rb +32 -39
  35. data/lib/ruby_lsp/listeners/hover.rb +81 -100
  36. data/lib/ruby_lsp/listeners/inlay_hints.rb +4 -11
  37. data/lib/ruby_lsp/listeners/semantic_highlighting.rb +42 -51
  38. data/lib/ruby_lsp/listeners/signature_help.rb +6 -25
  39. data/lib/ruby_lsp/listeners/spec_style.rb +155 -0
  40. data/lib/ruby_lsp/listeners/test_discovery.rb +89 -0
  41. data/lib/ruby_lsp/listeners/test_style.rb +160 -88
  42. data/lib/ruby_lsp/node_context.rb +12 -39
  43. data/lib/ruby_lsp/rbs_document.rb +8 -6
  44. data/lib/ruby_lsp/requests/code_action_resolve.rb +10 -10
  45. data/lib/ruby_lsp/requests/code_actions.rb +14 -26
  46. data/lib/ruby_lsp/requests/code_lens.rb +6 -17
  47. data/lib/ruby_lsp/requests/completion.rb +7 -20
  48. data/lib/ruby_lsp/requests/completion_resolve.rb +5 -5
  49. data/lib/ruby_lsp/requests/definition.rb +8 -17
  50. data/lib/ruby_lsp/requests/diagnostics.rb +8 -11
  51. data/lib/ruby_lsp/requests/discover_tests.rb +18 -5
  52. data/lib/ruby_lsp/requests/document_highlight.rb +5 -15
  53. data/lib/ruby_lsp/requests/document_link.rb +6 -17
  54. data/lib/ruby_lsp/requests/document_symbol.rb +5 -8
  55. data/lib/ruby_lsp/requests/folding_ranges.rb +7 -15
  56. data/lib/ruby_lsp/requests/formatting.rb +6 -9
  57. data/lib/ruby_lsp/requests/go_to_relevant_file.rb +87 -0
  58. data/lib/ruby_lsp/requests/hover.rb +8 -18
  59. data/lib/ruby_lsp/requests/inlay_hints.rb +6 -17
  60. data/lib/ruby_lsp/requests/on_type_formatting.rb +28 -38
  61. data/lib/ruby_lsp/requests/prepare_rename.rb +4 -9
  62. data/lib/ruby_lsp/requests/prepare_type_hierarchy.rb +4 -13
  63. data/lib/ruby_lsp/requests/range_formatting.rb +5 -6
  64. data/lib/ruby_lsp/requests/references.rb +6 -36
  65. data/lib/ruby_lsp/requests/rename.rb +11 -37
  66. data/lib/ruby_lsp/requests/request.rb +7 -19
  67. data/lib/ruby_lsp/requests/selection_ranges.rb +5 -5
  68. data/lib/ruby_lsp/requests/semantic_highlighting.rb +12 -31
  69. data/lib/ruby_lsp/requests/show_syntax_tree.rb +5 -6
  70. data/lib/ruby_lsp/requests/signature_help.rb +8 -26
  71. data/lib/ruby_lsp/requests/support/annotation.rb +4 -10
  72. data/lib/ruby_lsp/requests/support/common.rb +13 -50
  73. data/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb +27 -35
  74. data/lib/ruby_lsp/requests/support/rubocop_formatter.rb +9 -12
  75. data/lib/ruby_lsp/requests/support/rubocop_runner.rb +22 -34
  76. data/lib/ruby_lsp/requests/support/selection_range.rb +1 -3
  77. data/lib/ruby_lsp/requests/support/sorbet.rb +29 -38
  78. data/lib/ruby_lsp/requests/support/source_uri.rb +16 -30
  79. data/lib/ruby_lsp/requests/support/syntax_tree_formatter.rb +12 -19
  80. data/lib/ruby_lsp/requests/support/test_item.rb +10 -14
  81. data/lib/ruby_lsp/requests/type_hierarchy_supertypes.rb +5 -6
  82. data/lib/ruby_lsp/requests/workspace_symbol.rb +4 -4
  83. data/lib/ruby_lsp/response_builders/collection_response_builder.rb +5 -5
  84. data/lib/ruby_lsp/response_builders/document_symbol.rb +10 -16
  85. data/lib/ruby_lsp/response_builders/hover.rb +10 -13
  86. data/lib/ruby_lsp/response_builders/response_builder.rb +1 -1
  87. data/lib/ruby_lsp/response_builders/semantic_highlighting.rb +59 -87
  88. data/lib/ruby_lsp/response_builders/signature_help.rb +5 -6
  89. data/lib/ruby_lsp/response_builders/test_collection.rb +6 -10
  90. data/lib/ruby_lsp/ruby_document.rb +22 -60
  91. data/lib/ruby_lsp/ruby_lsp_reporter_plugin.rb +109 -0
  92. data/lib/ruby_lsp/scope.rb +7 -11
  93. data/lib/ruby_lsp/server.rb +133 -74
  94. data/lib/ruby_lsp/setup_bundler.rb +58 -57
  95. data/lib/ruby_lsp/static_docs.rb +4 -7
  96. data/lib/ruby_lsp/store.rb +21 -40
  97. data/lib/ruby_lsp/test_helper.rb +3 -12
  98. data/lib/ruby_lsp/test_reporter.rb +207 -0
  99. data/lib/ruby_lsp/test_unit_test_runner.rb +98 -0
  100. data/lib/ruby_lsp/type_inferrer.rb +9 -13
  101. data/lib/ruby_lsp/utils.rb +37 -81
  102. metadata +9 -3
@@ -6,78 +6,59 @@ require "ruby_lsp/requests/support/source_uri"
6
6
  module RubyLsp
7
7
  module Listeners
8
8
  class DocumentLink
9
- extend T::Sig
10
9
  include Requests::Support::Common
11
10
 
12
- GEM_TO_VERSION_MAP = T.let(
13
- [*::Gem::Specification.default_stubs, *::Gem::Specification.stubs].map! do |s|
14
- [s.name, s.version.to_s]
15
- end.to_h.freeze,
16
- T::Hash[String, String],
17
- )
11
+ GEM_TO_VERSION_MAP = [*::Gem::Specification.default_stubs, *::Gem::Specification.stubs].map! do |s|
12
+ [s.name, s.version.to_s]
13
+ end.to_h.freeze #: Hash[String, String]
18
14
 
19
15
  class << self
20
- extend T::Sig
21
-
22
- sig { returns(T::Hash[String, T::Hash[String, T::Hash[String, String]]]) }
16
+ #: -> Hash[String, Hash[String, Hash[String, String]]]
23
17
  def gem_paths
24
- @gem_paths ||= T.let(
25
- begin
26
- lookup = {}
27
-
28
- Gem::Specification.stubs.each do |stub|
29
- spec = stub.to_spec
30
- lookup[spec.name] = {}
31
- lookup[spec.name][spec.version.to_s] = {}
32
-
33
- Dir.glob("**/*.rb", base: "#{spec.full_gem_path.delete_prefix("//?/")}/").each do |path|
34
- lookup[spec.name][spec.version.to_s][path] = "#{spec.full_gem_path}/#{path}"
35
- end
36
- end
18
+ @gem_paths ||= begin
19
+ lookup = {}
37
20
 
38
- Gem::Specification.default_stubs.each do |stub|
39
- spec = stub.to_spec
40
- lookup[spec.name] = {}
41
- lookup[spec.name][spec.version.to_s] = {}
42
- prefix_matchers = Regexp.union(spec.require_paths.map do |rp|
43
- Regexp.new("^#{rp}/")
44
- end)
45
- prefix_matcher = Regexp.union(prefix_matchers, //)
46
-
47
- spec.files.each do |file|
48
- path = file.sub(prefix_matcher, "")
49
- lookup[spec.name][spec.version.to_s][path] = "#{RbConfig::CONFIG["rubylibdir"]}/#{path}"
50
- end
21
+ Gem::Specification.stubs.each do |stub|
22
+ spec = stub.to_spec
23
+ lookup[spec.name] = {}
24
+ lookup[spec.name][spec.version.to_s] = {}
25
+
26
+ Dir.glob("**/*.rb", base: "#{spec.full_gem_path.delete_prefix("//?/")}/").each do |path|
27
+ lookup[spec.name][spec.version.to_s][path] = "#{spec.full_gem_path}/#{path}"
28
+ end
29
+ end
30
+
31
+ Gem::Specification.default_stubs.each do |stub|
32
+ spec = stub.to_spec
33
+ lookup[spec.name] = {}
34
+ lookup[spec.name][spec.version.to_s] = {}
35
+ prefix_matchers = Regexp.union(spec.require_paths.map do |rp|
36
+ Regexp.new("^#{rp}/")
37
+ end)
38
+ prefix_matcher = Regexp.union(prefix_matchers, //)
39
+
40
+ spec.files.each do |file|
41
+ path = file.sub(prefix_matcher, "")
42
+ lookup[spec.name][spec.version.to_s][path] = "#{RbConfig::CONFIG["rubylibdir"]}/#{path}"
51
43
  end
44
+ end
52
45
 
53
- lookup
54
- end,
55
- T.nilable(T::Hash[String, T::Hash[String, T::Hash[String, String]]]),
56
- )
46
+ lookup
47
+ end #: Hash[String, Hash[String, Hash[String, String]]]?
57
48
  end
58
49
  end
59
50
 
60
- sig do
61
- params(
62
- response_builder: ResponseBuilders::CollectionResponseBuilder[Interface::DocumentLink],
63
- uri: URI::Generic,
64
- comments: T::Array[Prism::Comment],
65
- dispatcher: Prism::Dispatcher,
66
- ).void
67
- end
51
+ #: (ResponseBuilders::CollectionResponseBuilder[Interface::DocumentLink] response_builder, URI::Generic uri, Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void
68
52
  def initialize(response_builder, uri, comments, dispatcher)
69
53
  # Match the version based on the version in the RBI file name. Notice that the `@` symbol is sanitized to `%40`
70
54
  # in the URI
71
55
  @response_builder = response_builder
72
56
  path = uri.to_standardized_path
73
57
  version_match = path ? /(?<=%40)[\d.]+(?=\.rbi$)/.match(path) : nil
74
- @gem_version = T.let(version_match && version_match[0], T.nilable(String))
75
- @lines_to_comments = T.let(
76
- comments.to_h do |comment|
77
- [comment.location.end_line, comment]
78
- end,
79
- T::Hash[Integer, Prism::Comment],
80
- )
58
+ @gem_version = version_match && version_match[0] #: String?
59
+ @lines_to_comments = comments.to_h do |comment|
60
+ [comment.location.end_line, comment]
61
+ end #: Hash[Integer, Prism::Comment]
81
62
 
82
63
  dispatcher.register(
83
64
  self,
@@ -89,34 +70,34 @@ module RubyLsp
89
70
  )
90
71
  end
91
72
 
92
- sig { params(node: Prism::DefNode).void }
73
+ #: (Prism::DefNode node) -> void
93
74
  def on_def_node_enter(node)
94
75
  extract_document_link(node)
95
76
  end
96
77
 
97
- sig { params(node: Prism::ClassNode).void }
78
+ #: (Prism::ClassNode node) -> void
98
79
  def on_class_node_enter(node)
99
80
  extract_document_link(node)
100
81
  end
101
82
 
102
- sig { params(node: Prism::ModuleNode).void }
83
+ #: (Prism::ModuleNode node) -> void
103
84
  def on_module_node_enter(node)
104
85
  extract_document_link(node)
105
86
  end
106
87
 
107
- sig { params(node: Prism::ConstantWriteNode).void }
88
+ #: (Prism::ConstantWriteNode node) -> void
108
89
  def on_constant_write_node_enter(node)
109
90
  extract_document_link(node)
110
91
  end
111
92
 
112
- sig { params(node: Prism::ConstantPathWriteNode).void }
93
+ #: (Prism::ConstantPathWriteNode node) -> void
113
94
  def on_constant_path_write_node_enter(node)
114
95
  extract_document_link(node)
115
96
  end
116
97
 
117
98
  private
118
99
 
119
- sig { params(node: Prism::Node).void }
100
+ #: (Prism::Node node) -> void
120
101
  def extract_document_link(node)
121
102
  comment = @lines_to_comments[node.location.start_line - 1]
122
103
  return unless comment
@@ -157,7 +138,7 @@ module RubyLsp
157
138
  # 1. The version in the URI
158
139
  # 2. The version in the RBI file name
159
140
  # 3. The version from the gemspec
160
- sig { params(uri: URI::Source).returns(T.nilable(String)) }
141
+ #: (URI::Source uri) -> String?
161
142
  def resolve_version(uri)
162
143
  version = uri.gem_version
163
144
  return version unless version.nil? || version.empty?
@@ -4,18 +4,11 @@
4
4
  module RubyLsp
5
5
  module Listeners
6
6
  class DocumentSymbol
7
- extend T::Sig
8
7
  include Requests::Support::Common
9
8
 
10
- ATTR_ACCESSORS = T.let([:attr_reader, :attr_writer, :attr_accessor].freeze, T::Array[Symbol])
9
+ ATTR_ACCESSORS = [:attr_reader, :attr_writer, :attr_accessor].freeze #: Array[Symbol]
11
10
 
12
- sig do
13
- params(
14
- response_builder: ResponseBuilders::DocumentSymbol,
15
- uri: URI::Generic,
16
- dispatcher: Prism::Dispatcher,
17
- ).void
18
- end
11
+ #: (ResponseBuilders::DocumentSymbol response_builder, URI::Generic uri, Prism::Dispatcher dispatcher) -> void
19
12
  def initialize(response_builder, uri, dispatcher)
20
13
  @response_builder = response_builder
21
14
  @uri = uri
@@ -52,7 +45,7 @@ module RubyLsp
52
45
  )
53
46
  end
54
47
 
55
- sig { params(node: Prism::ClassNode).void }
48
+ #: (Prism::ClassNode node) -> void
56
49
  def on_class_node_enter(node)
57
50
  @response_builder << create_document_symbol(
58
51
  name: node.constant_path.location.slice,
@@ -62,12 +55,12 @@ module RubyLsp
62
55
  )
63
56
  end
64
57
 
65
- sig { params(node: Prism::ClassNode).void }
58
+ #: (Prism::ClassNode node) -> void
66
59
  def on_class_node_leave(node)
67
60
  @response_builder.pop
68
61
  end
69
62
 
70
- sig { params(node: Prism::SingletonClassNode).void }
63
+ #: (Prism::SingletonClassNode node) -> void
71
64
  def on_singleton_class_node_enter(node)
72
65
  expression = node.expression
73
66
 
@@ -79,12 +72,12 @@ module RubyLsp
79
72
  )
80
73
  end
81
74
 
82
- sig { params(node: Prism::SingletonClassNode).void }
75
+ #: (Prism::SingletonClassNode node) -> void
83
76
  def on_singleton_class_node_leave(node)
84
77
  @response_builder.pop
85
78
  end
86
79
 
87
- sig { params(node: Prism::CallNode).void }
80
+ #: (Prism::CallNode node) -> void
88
81
  def on_call_node_enter(node)
89
82
  node_name = node.name
90
83
  if ATTR_ACCESSORS.include?(node_name)
@@ -98,7 +91,7 @@ module RubyLsp
98
91
  end
99
92
  end
100
93
 
101
- sig { params(node: Prism::CallNode).void }
94
+ #: (Prism::CallNode node) -> void
102
95
  def on_call_node_leave(node)
103
96
  return unless rake?
104
97
 
@@ -107,7 +100,7 @@ module RubyLsp
107
100
  end
108
101
  end
109
102
 
110
- sig { params(node: Prism::ConstantPathWriteNode).void }
103
+ #: (Prism::ConstantPathWriteNode node) -> void
111
104
  def on_constant_path_write_node_enter(node)
112
105
  create_document_symbol(
113
106
  name: node.target.location.slice,
@@ -117,7 +110,7 @@ module RubyLsp
117
110
  )
118
111
  end
119
112
 
120
- sig { params(node: Prism::ConstantWriteNode).void }
113
+ #: (Prism::ConstantWriteNode node) -> void
121
114
  def on_constant_write_node_enter(node)
122
115
  create_document_symbol(
123
116
  name: node.name.to_s,
@@ -127,7 +120,7 @@ module RubyLsp
127
120
  )
128
121
  end
129
122
 
130
- sig { params(node: Prism::ConstantPathAndWriteNode).void }
123
+ #: (Prism::ConstantPathAndWriteNode node) -> void
131
124
  def on_constant_path_and_write_node_enter(node)
132
125
  create_document_symbol(
133
126
  name: node.target.location.slice,
@@ -137,7 +130,7 @@ module RubyLsp
137
130
  )
138
131
  end
139
132
 
140
- sig { params(node: Prism::ConstantPathOrWriteNode).void }
133
+ #: (Prism::ConstantPathOrWriteNode node) -> void
141
134
  def on_constant_path_or_write_node_enter(node)
142
135
  create_document_symbol(
143
136
  name: node.target.location.slice,
@@ -147,7 +140,7 @@ module RubyLsp
147
140
  )
148
141
  end
149
142
 
150
- sig { params(node: Prism::ConstantPathOperatorWriteNode).void }
143
+ #: (Prism::ConstantPathOperatorWriteNode node) -> void
151
144
  def on_constant_path_operator_write_node_enter(node)
152
145
  create_document_symbol(
153
146
  name: node.target.location.slice,
@@ -157,7 +150,7 @@ module RubyLsp
157
150
  )
158
151
  end
159
152
 
160
- sig { params(node: Prism::ConstantOrWriteNode).void }
153
+ #: (Prism::ConstantOrWriteNode node) -> void
161
154
  def on_constant_or_write_node_enter(node)
162
155
  create_document_symbol(
163
156
  name: node.name.to_s,
@@ -167,7 +160,7 @@ module RubyLsp
167
160
  )
168
161
  end
169
162
 
170
- sig { params(node: Prism::ConstantAndWriteNode).void }
163
+ #: (Prism::ConstantAndWriteNode node) -> void
171
164
  def on_constant_and_write_node_enter(node)
172
165
  create_document_symbol(
173
166
  name: node.name.to_s,
@@ -177,7 +170,7 @@ module RubyLsp
177
170
  )
178
171
  end
179
172
 
180
- sig { params(node: Prism::ConstantOperatorWriteNode).void }
173
+ #: (Prism::ConstantOperatorWriteNode node) -> void
181
174
  def on_constant_operator_write_node_enter(node)
182
175
  create_document_symbol(
183
176
  name: node.name.to_s,
@@ -187,7 +180,7 @@ module RubyLsp
187
180
  )
188
181
  end
189
182
 
190
- sig { params(node: Prism::ConstantTargetNode).void }
183
+ #: (Prism::ConstantTargetNode node) -> void
191
184
  def on_constant_target_node_enter(node)
192
185
  create_document_symbol(
193
186
  name: node.name.to_s,
@@ -197,7 +190,7 @@ module RubyLsp
197
190
  )
198
191
  end
199
192
 
200
- sig { params(node: Prism::ConstantPathTargetNode).void }
193
+ #: (Prism::ConstantPathTargetNode node) -> void
201
194
  def on_constant_path_target_node_enter(node)
202
195
  create_document_symbol(
203
196
  name: node.slice,
@@ -207,12 +200,12 @@ module RubyLsp
207
200
  )
208
201
  end
209
202
 
210
- sig { params(node: Prism::DefNode).void }
203
+ #: (Prism::DefNode node) -> void
211
204
  def on_def_node_leave(node)
212
205
  @response_builder.pop
213
206
  end
214
207
 
215
- sig { params(node: Prism::ModuleNode).void }
208
+ #: (Prism::ModuleNode node) -> void
216
209
  def on_module_node_enter(node)
217
210
  @response_builder << create_document_symbol(
218
211
  name: node.constant_path.location.slice,
@@ -222,7 +215,7 @@ module RubyLsp
222
215
  )
223
216
  end
224
217
 
225
- sig { params(node: Prism::DefNode).void }
218
+ #: (Prism::DefNode node) -> void
226
219
  def on_def_node_enter(node)
227
220
  receiver = node.receiver
228
221
  previous_symbol = @response_builder.last
@@ -248,12 +241,12 @@ module RubyLsp
248
241
  @response_builder << symbol
249
242
  end
250
243
 
251
- sig { params(node: Prism::ModuleNode).void }
244
+ #: (Prism::ModuleNode node) -> void
252
245
  def on_module_node_leave(node)
253
246
  @response_builder.pop
254
247
  end
255
248
 
256
- sig { params(node: Prism::ClassVariableWriteNode).void }
249
+ #: (Prism::ClassVariableWriteNode node) -> void
257
250
  def on_class_variable_write_node_enter(node)
258
251
  create_document_symbol(
259
252
  name: node.name.to_s,
@@ -263,7 +256,7 @@ module RubyLsp
263
256
  )
264
257
  end
265
258
 
266
- sig { params(node: Prism::InstanceVariableWriteNode).void }
259
+ #: (Prism::InstanceVariableWriteNode node) -> void
267
260
  def on_instance_variable_write_node_enter(node)
268
261
  create_document_symbol(
269
262
  name: node.name.to_s,
@@ -273,7 +266,7 @@ module RubyLsp
273
266
  )
274
267
  end
275
268
 
276
- sig { params(node: Prism::InstanceVariableTargetNode).void }
269
+ #: (Prism::InstanceVariableTargetNode node) -> void
277
270
  def on_instance_variable_target_node_enter(node)
278
271
  create_document_symbol(
279
272
  name: node.name.to_s,
@@ -283,7 +276,7 @@ module RubyLsp
283
276
  )
284
277
  end
285
278
 
286
- sig { params(node: Prism::InstanceVariableOperatorWriteNode).void }
279
+ #: (Prism::InstanceVariableOperatorWriteNode node) -> void
287
280
  def on_instance_variable_operator_write_node_enter(node)
288
281
  create_document_symbol(
289
282
  name: node.name.to_s,
@@ -293,7 +286,7 @@ module RubyLsp
293
286
  )
294
287
  end
295
288
 
296
- sig { params(node: Prism::InstanceVariableOrWriteNode).void }
289
+ #: (Prism::InstanceVariableOrWriteNode node) -> void
297
290
  def on_instance_variable_or_write_node_enter(node)
298
291
  create_document_symbol(
299
292
  name: node.name.to_s,
@@ -303,7 +296,7 @@ module RubyLsp
303
296
  )
304
297
  end
305
298
 
306
- sig { params(node: Prism::InstanceVariableAndWriteNode).void }
299
+ #: (Prism::InstanceVariableAndWriteNode node) -> void
307
300
  def on_instance_variable_and_write_node_enter(node)
308
301
  create_document_symbol(
309
302
  name: node.name.to_s,
@@ -313,7 +306,7 @@ module RubyLsp
313
306
  )
314
307
  end
315
308
 
316
- sig { params(node: Prism::AliasMethodNode).void }
309
+ #: (Prism::AliasMethodNode node) -> void
317
310
  def on_alias_method_node_enter(node)
318
311
  new_name_node = node.new_name
319
312
  return unless new_name_node.is_a?(Prism::SymbolNode)
@@ -331,14 +324,7 @@ module RubyLsp
331
324
 
332
325
  private
333
326
 
334
- sig do
335
- params(
336
- name: String,
337
- kind: Integer,
338
- range_location: Prism::Location,
339
- selection_range_location: Prism::Location,
340
- ).returns(Interface::DocumentSymbol)
341
- end
327
+ #: (name: String, kind: Integer, range_location: Prism::Location, selection_range_location: Prism::Location) -> Interface::DocumentSymbol
342
328
  def create_document_symbol(name:, kind:, range_location:, selection_range_location:)
343
329
  name = "<blank>" if name.strip.empty?
344
330
  symbol = Interface::DocumentSymbol.new(
@@ -354,7 +340,7 @@ module RubyLsp
354
340
  symbol
355
341
  end
356
342
 
357
- sig { params(node: Prism::CallNode).void }
343
+ #: (Prism::CallNode node) -> void
358
344
  def handle_attr_accessor(node)
359
345
  receiver = node.receiver
360
346
  return if receiver && !receiver.is_a?(Prism::SelfNode)
@@ -387,7 +373,7 @@ module RubyLsp
387
373
  end
388
374
  end
389
375
 
390
- sig { params(node: Prism::CallNode).void }
376
+ #: (Prism::CallNode node) -> void
391
377
  def handle_alias_method(node)
392
378
  receiver = node.receiver
393
379
  return if receiver && !receiver.is_a?(Prism::SelfNode)
@@ -420,7 +406,7 @@ module RubyLsp
420
406
  end
421
407
  end
422
408
 
423
- sig { params(node: Prism::CallNode).void }
409
+ #: (Prism::CallNode node) -> void
424
410
  def handle_rake_namespace(node)
425
411
  return unless rake?
426
412
  return if node.receiver
@@ -446,7 +432,7 @@ module RubyLsp
446
432
  )
447
433
  end
448
434
 
449
- sig { params(node: Prism::CallNode).void }
435
+ #: (Prism::CallNode node) -> void
450
436
  def handle_rake_task(node)
451
437
  return unless rake?
452
438
  return if node.receiver
@@ -481,7 +467,7 @@ module RubyLsp
481
467
  )
482
468
  end
483
469
 
484
- sig { returns(T::Boolean) }
470
+ #: -> bool
485
471
  def rake?
486
472
  if (path = @uri.to_standardized_path)
487
473
  path.match?(/(Rakefile|\.rake)$/)