ruby-lsp 0.18.3 → 0.19.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/exe/ruby-lsp-check +1 -1
  4. data/lib/core_ext/uri.rb +9 -4
  5. data/lib/ruby_indexer/lib/ruby_indexer/configuration.rb +6 -0
  6. data/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb +66 -8
  7. data/lib/ruby_indexer/lib/ruby_indexer/entry.rb +63 -32
  8. data/lib/ruby_indexer/lib/ruby_indexer/index.rb +8 -5
  9. data/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb +52 -8
  10. data/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb +324 -0
  11. data/lib/ruby_indexer/ruby_indexer.rb +1 -0
  12. data/lib/ruby_indexer/test/classes_and_modules_test.rb +23 -0
  13. data/lib/ruby_indexer/test/constant_test.rb +8 -0
  14. data/lib/ruby_indexer/test/enhancements_test.rb +2 -0
  15. data/lib/ruby_indexer/test/index_test.rb +3 -0
  16. data/lib/ruby_indexer/test/instance_variables_test.rb +12 -0
  17. data/lib/ruby_indexer/test/method_test.rb +10 -0
  18. data/lib/ruby_indexer/test/rbs_indexer_test.rb +22 -0
  19. data/lib/ruby_indexer/test/reference_finder_test.rb +242 -0
  20. data/lib/ruby_lsp/addon.rb +79 -17
  21. data/lib/ruby_lsp/base_server.rb +6 -0
  22. data/lib/ruby_lsp/erb_document.rb +9 -3
  23. data/lib/ruby_lsp/global_state.rb +8 -0
  24. data/lib/ruby_lsp/internal.rb +5 -1
  25. data/lib/ruby_lsp/listeners/completion.rb +1 -1
  26. data/lib/ruby_lsp/listeners/hover.rb +57 -0
  27. data/lib/ruby_lsp/listeners/semantic_highlighting.rb +24 -21
  28. data/lib/ruby_lsp/requests/code_action_resolve.rb +9 -3
  29. data/lib/ruby_lsp/requests/completion.rb +1 -0
  30. data/lib/ruby_lsp/requests/completion_resolve.rb +29 -0
  31. data/lib/ruby_lsp/requests/definition.rb +1 -0
  32. data/lib/ruby_lsp/requests/document_highlight.rb +1 -1
  33. data/lib/ruby_lsp/requests/hover.rb +1 -0
  34. data/lib/ruby_lsp/requests/on_type_formatting.rb +1 -1
  35. data/lib/ruby_lsp/requests/range_formatting.rb +55 -0
  36. data/lib/ruby_lsp/requests/references.rb +146 -0
  37. data/lib/ruby_lsp/requests/rename.rb +196 -0
  38. data/lib/ruby_lsp/requests/signature_help.rb +6 -1
  39. data/lib/ruby_lsp/requests/support/common.rb +2 -2
  40. data/lib/ruby_lsp/requests/support/formatter.rb +3 -0
  41. data/lib/ruby_lsp/requests/support/rubocop_formatter.rb +6 -0
  42. data/lib/ruby_lsp/requests/support/source_uri.rb +8 -1
  43. data/lib/ruby_lsp/requests/support/syntax_tree_formatter.rb +8 -0
  44. data/lib/ruby_lsp/ruby_document.rb +23 -8
  45. data/lib/ruby_lsp/scope.rb +47 -0
  46. data/lib/ruby_lsp/server.rb +127 -34
  47. data/lib/ruby_lsp/static_docs.rb +15 -0
  48. data/lib/ruby_lsp/store.rb +12 -0
  49. data/lib/ruby_lsp/test_helper.rb +1 -1
  50. data/lib/ruby_lsp/type_inferrer.rb +6 -1
  51. data/lib/ruby_lsp/utils.rb +3 -6
  52. data/static_docs/yield.md +81 -0
  53. metadata +21 -8
  54. data/lib/ruby_lsp/parameter_scope.rb +0 -33
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lsp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.3
4
+ version: 0.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-24 00:00:00.000000000 Z
11
+ date: 2024-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: language_server-protocol
@@ -28,16 +28,22 @@ dependencies:
28
28
  name: prism
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '1.1'
34
+ - - "<"
32
35
  - !ruby/object:Gem::Version
33
- version: '1.0'
36
+ version: '2.0'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '1.1'
44
+ - - "<"
39
45
  - !ruby/object:Gem::Version
40
- version: '1.0'
46
+ version: '2.0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rbs
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -99,6 +105,7 @@ files:
99
105
  - lib/ruby_indexer/lib/ruby_indexer/location.rb
100
106
  - lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb
101
107
  - lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb
108
+ - lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb
102
109
  - lib/ruby_indexer/ruby_indexer.rb
103
110
  - lib/ruby_indexer/test/classes_and_modules_test.rb
104
111
  - lib/ruby_indexer/test/configuration_test.rb
@@ -109,6 +116,7 @@ files:
109
116
  - lib/ruby_indexer/test/method_test.rb
110
117
  - lib/ruby_indexer/test/prefix_tree_test.rb
111
118
  - lib/ruby_indexer/test/rbs_indexer_test.rb
119
+ - lib/ruby_indexer/test/reference_finder_test.rb
112
120
  - lib/ruby_indexer/test/test_case.rb
113
121
  - lib/ruby_lsp/addon.rb
114
122
  - lib/ruby_lsp/base_server.rb
@@ -129,7 +137,6 @@ files:
129
137
  - lib/ruby_lsp/listeners/signature_help.rb
130
138
  - lib/ruby_lsp/load_sorbet.rb
131
139
  - lib/ruby_lsp/node_context.rb
132
- - lib/ruby_lsp/parameter_scope.rb
133
140
  - lib/ruby_lsp/rbs_document.rb
134
141
  - lib/ruby_lsp/requests/code_action_resolve.rb
135
142
  - lib/ruby_lsp/requests/code_actions.rb
@@ -147,6 +154,9 @@ files:
147
154
  - lib/ruby_lsp/requests/inlay_hints.rb
148
155
  - lib/ruby_lsp/requests/on_type_formatting.rb
149
156
  - lib/ruby_lsp/requests/prepare_type_hierarchy.rb
157
+ - lib/ruby_lsp/requests/range_formatting.rb
158
+ - lib/ruby_lsp/requests/references.rb
159
+ - lib/ruby_lsp/requests/rename.rb
150
160
  - lib/ruby_lsp/requests/request.rb
151
161
  - lib/ruby_lsp/requests/selection_ranges.rb
152
162
  - lib/ruby_lsp/requests/semantic_highlighting.rb
@@ -171,12 +181,15 @@ files:
171
181
  - lib/ruby_lsp/response_builders/semantic_highlighting.rb
172
182
  - lib/ruby_lsp/response_builders/signature_help.rb
173
183
  - lib/ruby_lsp/ruby_document.rb
184
+ - lib/ruby_lsp/scope.rb
174
185
  - lib/ruby_lsp/server.rb
175
186
  - lib/ruby_lsp/setup_bundler.rb
187
+ - lib/ruby_lsp/static_docs.rb
176
188
  - lib/ruby_lsp/store.rb
177
189
  - lib/ruby_lsp/test_helper.rb
178
190
  - lib/ruby_lsp/type_inferrer.rb
179
191
  - lib/ruby_lsp/utils.rb
192
+ - static_docs/yield.md
180
193
  homepage: https://github.com/Shopify/ruby-lsp
181
194
  licenses:
182
195
  - MIT
@@ -198,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
211
  - !ruby/object:Gem::Version
199
212
  version: '0'
200
213
  requirements: []
201
- rubygems_version: 3.5.18
214
+ rubygems_version: 3.5.20
202
215
  signing_key:
203
216
  specification_version: 4
204
217
  summary: An opinionated language server for Ruby
@@ -1,33 +0,0 @@
1
- # typed: strict
2
- # frozen_string_literal: true
3
-
4
- module RubyLsp
5
- class ParameterScope
6
- extend T::Sig
7
-
8
- sig { returns(T.nilable(ParameterScope)) }
9
- attr_reader :parent
10
-
11
- sig { params(parent: T.nilable(ParameterScope)).void }
12
- def initialize(parent = nil)
13
- @parent = parent
14
- @parameters = T.let(Set.new, T::Set[Symbol])
15
- end
16
-
17
- sig { params(name: T.any(String, Symbol)).void }
18
- def <<(name)
19
- @parameters << name.to_sym
20
- end
21
-
22
- sig { params(name: T.any(Symbol, String)).returns(Symbol) }
23
- def type_for(name)
24
- parameter?(name) ? :parameter : :variable
25
- end
26
-
27
- sig { params(name: T.any(Symbol, String)).returns(T::Boolean) }
28
- def parameter?(name)
29
- sym = name.to_sym
30
- @parameters.include?(sym) || (!@parent.nil? && @parent.parameter?(sym))
31
- end
32
- end
33
- end