solargraph 0.54.1 → 0.54.3

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/lib/solargraph/api_map/cache.rb +10 -1
  4. data/lib/solargraph/api_map/index.rb +167 -0
  5. data/lib/solargraph/api_map/store.rb +48 -120
  6. data/lib/solargraph/api_map.rb +76 -20
  7. data/lib/solargraph/complex_type/type_methods.rb +7 -0
  8. data/lib/solargraph/complex_type/unique_type.rb +21 -1
  9. data/lib/solargraph/complex_type.rb +13 -12
  10. data/lib/solargraph/convention.rb +1 -0
  11. data/lib/solargraph/doc_map.rb +1 -0
  12. data/lib/solargraph/equality.rb +33 -0
  13. data/lib/solargraph/language_server/host/message_worker.rb +23 -6
  14. data/lib/solargraph/language_server/host.rb +12 -11
  15. data/lib/solargraph/language_server/message/base.rb +19 -12
  16. data/lib/solargraph/language_server/message/initialize.rb +3 -1
  17. data/lib/solargraph/language_server/message/text_document/completion.rb +0 -3
  18. data/lib/solargraph/language_server/message/text_document/formatting.rb +4 -0
  19. data/lib/solargraph/library.rb +3 -2
  20. data/lib/solargraph/location.rb +7 -0
  21. data/lib/solargraph/parser/node_methods.rb +1 -1
  22. data/lib/solargraph/parser/node_processor.rb +1 -0
  23. data/lib/solargraph/parser/parser_gem/node_chainer.rb +3 -3
  24. data/lib/solargraph/parser/parser_gem/node_methods.rb +2 -2
  25. data/lib/solargraph/pin/base.rb +28 -18
  26. data/lib/solargraph/pin/base_variable.rb +3 -2
  27. data/lib/solargraph/pin/block.rb +1 -3
  28. data/lib/solargraph/pin/callable.rb +3 -3
  29. data/lib/solargraph/pin/method.rb +6 -0
  30. data/lib/solargraph/pin/namespace.rb +1 -1
  31. data/lib/solargraph/pin/parameter.rb +2 -1
  32. data/lib/solargraph/position.rb +7 -0
  33. data/lib/solargraph/range.rb +7 -0
  34. data/lib/solargraph/rbs_map/conversions.rb +8 -2
  35. data/lib/solargraph/rbs_map.rb +1 -0
  36. data/lib/solargraph/shell.rb +2 -0
  37. data/lib/solargraph/source/chain/array.rb +1 -1
  38. data/lib/solargraph/source/chain/call.rb +15 -8
  39. data/lib/solargraph/source/chain/hash.rb +5 -0
  40. data/lib/solargraph/source/chain/if.rb +5 -0
  41. data/lib/solargraph/source/chain/link.rb +17 -5
  42. data/lib/solargraph/source/chain/literal.rb +5 -0
  43. data/lib/solargraph/source/chain.rb +33 -19
  44. data/lib/solargraph/source/cursor.rb +2 -1
  45. data/lib/solargraph/source.rb +2 -1
  46. data/lib/solargraph/source_map/clip.rb +1 -1
  47. data/lib/solargraph/type_checker.rb +8 -8
  48. data/lib/solargraph/version.rb +1 -1
  49. data/lib/solargraph/workspace/config.rb +7 -3
  50. data/lib/solargraph/workspace.rb +1 -1
  51. data/lib/solargraph/yard_map/mapper/to_constant.rb +1 -0
  52. data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -0
  53. data/lib/solargraph/yard_map/mapper.rb +1 -0
  54. data/lib/solargraph.rb +1 -0
  55. data/solargraph.gemspec +5 -5
  56. metadata +26 -24
data/solargraph.gemspec CHANGED
@@ -24,10 +24,10 @@ Gem::Specification.new do |s|
24
24
  s.required_ruby_version = '>= 3.0'
25
25
 
26
26
  s.add_runtime_dependency 'backport', '~> 1.2'
27
- s.add_runtime_dependency 'benchmark'
27
+ s.add_runtime_dependency 'benchmark', '~> 0.4'
28
28
  s.add_runtime_dependency 'bundler', '~> 2.0'
29
29
  s.add_runtime_dependency 'diff-lcs', '~> 1.4'
30
- s.add_runtime_dependency 'jaro_winkler', '~> 1.6'
30
+ s.add_runtime_dependency 'jaro_winkler', '~> 1.6', '>= 1.6.1'
31
31
  s.add_runtime_dependency 'kramdown', '~> 2.3'
32
32
  s.add_runtime_dependency 'kramdown-parser-gfm', '~> 1.1'
33
33
  s.add_runtime_dependency 'logger', '~> 1.6'
@@ -35,19 +35,19 @@ Gem::Specification.new do |s|
35
35
  s.add_runtime_dependency 'ostruct', '~> 0.6'
36
36
  s.add_runtime_dependency 'parser', '~> 3.0'
37
37
  s.add_runtime_dependency 'rbs', '~> 3.3'
38
- s.add_runtime_dependency 'reverse_markdown', '>= 2.0', '< 4'
38
+ s.add_runtime_dependency 'reverse_markdown', '~> 3.0'
39
39
  s.add_runtime_dependency 'rubocop', '~> 1.38'
40
40
  s.add_runtime_dependency 'thor', '~> 1.0'
41
41
  s.add_runtime_dependency 'tilt', '~> 2.0'
42
42
  s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
43
43
  s.add_runtime_dependency 'yard-solargraph', '~> 0.1'
44
44
 
45
- s.add_development_dependency 'pry'
45
+ s.add_development_dependency 'pry', '~> 0.15'
46
46
  s.add_development_dependency 'public_suffix', '~> 3.1'
47
47
  s.add_development_dependency 'rake', '~> 13.2'
48
48
  s.add_development_dependency 'rspec', '~> 3.5'
49
49
  s.add_development_dependency 'simplecov', '~> 0.14'
50
50
  s.add_development_dependency 'webmock', '~> 3.6'
51
51
  # work around missing yard dependency needed as of Ruby 3.5
52
- s.add_development_dependency 'irb'
52
+ s.add_development_dependency 'irb', '~> 1.15'
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.54.1
4
+ version: 0.54.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-26 00:00:00.000000000 Z
11
+ date: 2025-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: benchmark
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '0.4'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '0.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,6 +73,9 @@ dependencies:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.6'
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 1.6.1
76
79
  type: :runtime
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
@@ -80,6 +83,9 @@ dependencies:
80
83
  - - "~>"
81
84
  - !ruby/object:Gem::Version
82
85
  version: '1.6'
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.6.1
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: kramdown
85
91
  requirement: !ruby/object:Gem::Requirement
@@ -182,22 +188,16 @@ dependencies:
182
188
  name: reverse_markdown
183
189
  requirement: !ruby/object:Gem::Requirement
184
190
  requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '2.0'
188
- - - "<"
191
+ - - "~>"
189
192
  - !ruby/object:Gem::Version
190
- version: '4'
193
+ version: '3.0'
191
194
  type: :runtime
192
195
  prerelease: false
193
196
  version_requirements: !ruby/object:Gem::Requirement
194
197
  requirements:
195
- - - ">="
196
- - !ruby/object:Gem::Version
197
- version: '2.0'
198
- - - "<"
198
+ - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: '4'
200
+ version: '3.0'
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: rubocop
203
203
  requirement: !ruby/object:Gem::Requirement
@@ -278,16 +278,16 @@ dependencies:
278
278
  name: pry
279
279
  requirement: !ruby/object:Gem::Requirement
280
280
  requirements:
281
- - - ">="
281
+ - - "~>"
282
282
  - !ruby/object:Gem::Version
283
- version: '0'
283
+ version: '0.15'
284
284
  type: :development
285
285
  prerelease: false
286
286
  version_requirements: !ruby/object:Gem::Requirement
287
287
  requirements:
288
- - - ">="
288
+ - - "~>"
289
289
  - !ruby/object:Gem::Version
290
- version: '0'
290
+ version: '0.15'
291
291
  - !ruby/object:Gem::Dependency
292
292
  name: public_suffix
293
293
  requirement: !ruby/object:Gem::Requirement
@@ -362,16 +362,16 @@ dependencies:
362
362
  name: irb
363
363
  requirement: !ruby/object:Gem::Requirement
364
364
  requirements:
365
- - - ">="
365
+ - - "~>"
366
366
  - !ruby/object:Gem::Version
367
- version: '0'
367
+ version: '1.15'
368
368
  type: :development
369
369
  prerelease: false
370
370
  version_requirements: !ruby/object:Gem::Requirement
371
371
  requirements:
372
- - - ">="
372
+ - - "~>"
373
373
  - !ruby/object:Gem::Version
374
- version: '0'
374
+ version: '1.15'
375
375
  description: IDE tools for code completion, inline documentation, and static analysis
376
376
  email: admin@castwide.com
377
377
  executables:
@@ -397,6 +397,7 @@ files:
397
397
  - lib/solargraph.rb
398
398
  - lib/solargraph/api_map.rb
399
399
  - lib/solargraph/api_map/cache.rb
400
+ - lib/solargraph/api_map/index.rb
400
401
  - lib/solargraph/api_map/source_to_yard.rb
401
402
  - lib/solargraph/api_map/store.rb
402
403
  - lib/solargraph/bench.rb
@@ -423,6 +424,7 @@ files:
423
424
  - lib/solargraph/diagnostics/update_errors.rb
424
425
  - lib/solargraph/doc_map.rb
425
426
  - lib/solargraph/environ.rb
427
+ - lib/solargraph/equality.rb
426
428
  - lib/solargraph/gem_pins.rb
427
429
  - lib/solargraph/language_server.rb
428
430
  - lib/solargraph/language_server/completion_item_kinds.rb