ruby-lsp 0.18.3 → 0.19.1

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 (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