solargraph 0.54.0 → 0.55.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +58 -0
- data/lib/solargraph/api_map/cache.rb +10 -1
- data/lib/solargraph/api_map/index.rb +167 -0
- data/lib/solargraph/api_map/store.rb +75 -122
- data/lib/solargraph/api_map.rb +109 -41
- data/lib/solargraph/bench.rb +17 -1
- data/lib/solargraph/complex_type/type_methods.rb +17 -11
- data/lib/solargraph/complex_type/unique_type.rb +181 -17
- data/lib/solargraph/complex_type.rb +103 -24
- data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +51 -0
- data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +100 -0
- data/lib/solargraph/convention/struct_definition.rb +101 -0
- data/lib/solargraph/convention.rb +2 -0
- data/lib/solargraph/doc_map.rb +43 -18
- data/lib/solargraph/equality.rb +33 -0
- data/lib/solargraph/language_server/host/message_worker.rb +51 -5
- data/lib/solargraph/language_server/host.rb +13 -11
- data/lib/solargraph/language_server/message/base.rb +19 -12
- data/lib/solargraph/language_server/message/initialize.rb +3 -1
- data/lib/solargraph/language_server/message/text_document/completion.rb +0 -3
- data/lib/solargraph/language_server/message/text_document/definition.rb +3 -3
- data/lib/solargraph/language_server/message/text_document/document_symbol.rb +3 -3
- data/lib/solargraph/language_server/message/text_document/formatting.rb +4 -0
- data/lib/solargraph/language_server/message/text_document/hover.rb +1 -1
- data/lib/solargraph/language_server/message/text_document/type_definition.rb +3 -3
- data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +2 -2
- data/lib/solargraph/language_server/progress.rb +19 -2
- data/lib/solargraph/library.rb +31 -41
- data/lib/solargraph/location.rb +29 -1
- data/lib/solargraph/parser/comment_ripper.rb +11 -6
- data/lib/solargraph/parser/flow_sensitive_typing.rb +226 -0
- data/lib/solargraph/parser/node_methods.rb +15 -1
- data/lib/solargraph/parser/parser_gem/class_methods.rb +11 -6
- data/lib/solargraph/parser/parser_gem/node_chainer.rb +10 -10
- data/lib/solargraph/parser/parser_gem/node_methods.rb +6 -4
- data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +21 -0
- data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +23 -19
- data/lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb +21 -1
- data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +21 -0
- data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +8 -2
- data/lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb +26 -5
- data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +41 -0
- data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +1 -1
- data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +28 -0
- data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +28 -0
- data/lib/solargraph/parser/parser_gem/node_processors.rb +10 -0
- data/lib/solargraph/parser.rb +3 -5
- data/lib/solargraph/pin/base.rb +47 -17
- data/lib/solargraph/pin/base_variable.rb +11 -4
- data/lib/solargraph/pin/block.rb +8 -26
- data/lib/solargraph/pin/breakable.rb +9 -0
- data/lib/solargraph/pin/callable.rb +147 -0
- data/lib/solargraph/pin/closure.rb +8 -3
- data/lib/solargraph/pin/common.rb +2 -6
- data/lib/solargraph/pin/conversions.rb +3 -2
- data/lib/solargraph/pin/instance_variable.rb +2 -2
- data/lib/solargraph/pin/local_variable.rb +7 -1
- data/lib/solargraph/pin/method.rb +76 -48
- data/lib/solargraph/pin/namespace.rb +14 -11
- data/lib/solargraph/pin/parameter.rb +24 -17
- data/lib/solargraph/pin/proxy_type.rb +13 -7
- data/lib/solargraph/pin/signature.rb +3 -129
- data/lib/solargraph/pin/until.rb +18 -0
- data/lib/solargraph/pin/while.rb +18 -0
- data/lib/solargraph/pin.rb +7 -1
- data/lib/solargraph/position.rb +7 -0
- data/lib/solargraph/range.rb +9 -4
- data/lib/solargraph/rbs_map/conversions.rb +84 -45
- data/lib/solargraph/rbs_map/core_fills.rb +16 -9
- data/lib/solargraph/rbs_map.rb +1 -0
- data/lib/solargraph/shell.rb +19 -2
- data/lib/solargraph/source/chain/array.rb +10 -8
- data/lib/solargraph/source/chain/block_symbol.rb +1 -1
- data/lib/solargraph/source/chain/block_variable.rb +1 -1
- data/lib/solargraph/source/chain/call.rb +125 -61
- data/lib/solargraph/source/chain/constant.rb +1 -1
- data/lib/solargraph/source/chain/hash.rb +8 -2
- data/lib/solargraph/source/chain/if.rb +5 -0
- data/lib/solargraph/source/chain/link.rb +28 -5
- data/lib/solargraph/source/chain/literal.rb +27 -2
- data/lib/solargraph/source/chain/or.rb +1 -1
- data/lib/solargraph/source/chain/z_super.rb +1 -1
- data/lib/solargraph/source/chain.rb +131 -63
- data/lib/solargraph/source/cursor.rb +3 -2
- data/lib/solargraph/source/source_chainer.rb +2 -2
- data/lib/solargraph/source.rb +104 -86
- data/lib/solargraph/source_map/clip.rb +8 -6
- data/lib/solargraph/source_map/data.rb +30 -0
- data/lib/solargraph/source_map.rb +28 -16
- data/lib/solargraph/type_checker/checks.rb +4 -0
- data/lib/solargraph/type_checker/rules.rb +6 -1
- data/lib/solargraph/type_checker.rb +48 -21
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/views/environment.erb +3 -5
- data/lib/solargraph/workspace/config.rb +7 -3
- data/lib/solargraph/workspace.rb +1 -1
- data/lib/solargraph/yard_map/mapper/to_constant.rb +1 -0
- data/lib/solargraph/yard_map/mapper/to_method.rb +42 -15
- data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -0
- data/lib/solargraph/yard_map/mapper.rb +1 -0
- data/lib/solargraph/yardoc.rb +1 -1
- data/lib/solargraph.rb +1 -0
- data/solargraph.gemspec +5 -5
- metadata +41 -25
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.
|
|
4
|
+
version: 0.55.0
|
|
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-
|
|
11
|
+
date: 2025-06-03 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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
|
@@ -409,6 +410,9 @@ files:
|
|
|
409
410
|
- lib/solargraph/convention/gemfile.rb
|
|
410
411
|
- lib/solargraph/convention/gemspec.rb
|
|
411
412
|
- lib/solargraph/convention/rakefile.rb
|
|
413
|
+
- lib/solargraph/convention/struct_definition.rb
|
|
414
|
+
- lib/solargraph/convention/struct_definition/struct_assignment_node.rb
|
|
415
|
+
- lib/solargraph/convention/struct_definition/struct_definition_node.rb
|
|
412
416
|
- lib/solargraph/converters/dd.rb
|
|
413
417
|
- lib/solargraph/converters/dl.rb
|
|
414
418
|
- lib/solargraph/converters/dt.rb
|
|
@@ -423,6 +427,7 @@ files:
|
|
|
423
427
|
- lib/solargraph/diagnostics/update_errors.rb
|
|
424
428
|
- lib/solargraph/doc_map.rb
|
|
425
429
|
- lib/solargraph/environ.rb
|
|
430
|
+
- lib/solargraph/equality.rb
|
|
426
431
|
- lib/solargraph/gem_pins.rb
|
|
427
432
|
- lib/solargraph/language_server.rb
|
|
428
433
|
- lib/solargraph/language_server/completion_item_kinds.rb
|
|
@@ -491,6 +496,7 @@ files:
|
|
|
491
496
|
- lib/solargraph/page.rb
|
|
492
497
|
- lib/solargraph/parser.rb
|
|
493
498
|
- lib/solargraph/parser/comment_ripper.rb
|
|
499
|
+
- lib/solargraph/parser/flow_sensitive_typing.rb
|
|
494
500
|
- lib/solargraph/parser/node_methods.rb
|
|
495
501
|
- lib/solargraph/parser/node_processor.rb
|
|
496
502
|
- lib/solargraph/parser/node_processor/base.rb
|
|
@@ -501,6 +507,7 @@ files:
|
|
|
501
507
|
- lib/solargraph/parser/parser_gem/node_methods.rb
|
|
502
508
|
- lib/solargraph/parser/parser_gem/node_processors.rb
|
|
503
509
|
- lib/solargraph/parser/parser_gem/node_processors/alias_node.rb
|
|
510
|
+
- lib/solargraph/parser/parser_gem/node_processors/and_node.rb
|
|
504
511
|
- lib/solargraph/parser/parser_gem/node_processors/args_node.rb
|
|
505
512
|
- lib/solargraph/parser/parser_gem/node_processors/begin_node.rb
|
|
506
513
|
- lib/solargraph/parser/parser_gem/node_processors/block_node.rb
|
|
@@ -509,21 +516,27 @@ files:
|
|
|
509
516
|
- lib/solargraph/parser/parser_gem/node_processors/def_node.rb
|
|
510
517
|
- lib/solargraph/parser/parser_gem/node_processors/defs_node.rb
|
|
511
518
|
- lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb
|
|
519
|
+
- lib/solargraph/parser/parser_gem/node_processors/if_node.rb
|
|
512
520
|
- lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb
|
|
513
521
|
- lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb
|
|
514
522
|
- lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb
|
|
515
523
|
- lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb
|
|
524
|
+
- lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb
|
|
516
525
|
- lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb
|
|
517
526
|
- lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb
|
|
518
527
|
- lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb
|
|
519
528
|
- lib/solargraph/parser/parser_gem/node_processors/send_node.rb
|
|
520
529
|
- lib/solargraph/parser/parser_gem/node_processors/sym_node.rb
|
|
530
|
+
- lib/solargraph/parser/parser_gem/node_processors/until_node.rb
|
|
531
|
+
- lib/solargraph/parser/parser_gem/node_processors/while_node.rb
|
|
521
532
|
- lib/solargraph/parser/region.rb
|
|
522
533
|
- lib/solargraph/parser/snippet.rb
|
|
523
534
|
- lib/solargraph/pin.rb
|
|
524
535
|
- lib/solargraph/pin/base.rb
|
|
525
536
|
- lib/solargraph/pin/base_variable.rb
|
|
526
537
|
- lib/solargraph/pin/block.rb
|
|
538
|
+
- lib/solargraph/pin/breakable.rb
|
|
539
|
+
- lib/solargraph/pin/callable.rb
|
|
527
540
|
- lib/solargraph/pin/class_variable.rb
|
|
528
541
|
- lib/solargraph/pin/closure.rb
|
|
529
542
|
- lib/solargraph/pin/common.rb
|
|
@@ -553,6 +566,8 @@ files:
|
|
|
553
566
|
- lib/solargraph/pin/signature.rb
|
|
554
567
|
- lib/solargraph/pin/singleton.rb
|
|
555
568
|
- lib/solargraph/pin/symbol.rb
|
|
569
|
+
- lib/solargraph/pin/until.rb
|
|
570
|
+
- lib/solargraph/pin/while.rb
|
|
556
571
|
- lib/solargraph/position.rb
|
|
557
572
|
- lib/solargraph/range.rb
|
|
558
573
|
- lib/solargraph/rbs_map.rb
|
|
@@ -589,6 +604,7 @@ files:
|
|
|
589
604
|
- lib/solargraph/source_map.rb
|
|
590
605
|
- lib/solargraph/source_map/clip.rb
|
|
591
606
|
- lib/solargraph/source_map/completion.rb
|
|
607
|
+
- lib/solargraph/source_map/data.rb
|
|
592
608
|
- lib/solargraph/source_map/mapper.rb
|
|
593
609
|
- lib/solargraph/type_checker.rb
|
|
594
610
|
- lib/solargraph/type_checker/checks.rb
|
|
@@ -639,7 +655,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
639
655
|
- !ruby/object:Gem::Version
|
|
640
656
|
version: '0'
|
|
641
657
|
requirements: []
|
|
642
|
-
rubygems_version: 3.
|
|
658
|
+
rubygems_version: 3.5.22
|
|
643
659
|
signing_key:
|
|
644
660
|
specification_version: 4
|
|
645
661
|
summary: A Ruby language server
|