solargraph 0.54.1 → 0.56.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/.github/workflows/plugins.yml +2 -0
- data/.github/workflows/typecheck.yml +3 -1
- data/.gitignore +2 -0
- data/CHANGELOG.md +70 -0
- data/README.md +13 -3
- data/lib/solargraph/api_map/cache.rb +10 -1
- data/lib/solargraph/api_map/index.rb +175 -0
- data/lib/solargraph/api_map/store.rb +79 -126
- data/lib/solargraph/api_map.rb +247 -93
- data/lib/solargraph/bench.rb +17 -1
- data/lib/solargraph/complex_type/type_methods.rb +13 -1
- data/lib/solargraph/complex_type/unique_type.rb +118 -9
- data/lib/solargraph/complex_type.rb +48 -18
- data/lib/solargraph/convention/base.rb +3 -3
- data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +60 -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 +5 -3
- data/lib/solargraph/doc_map.rb +274 -56
- data/lib/solargraph/equality.rb +33 -0
- data/lib/solargraph/gem_pins.rb +53 -37
- data/lib/solargraph/language_server/host/message_worker.rb +31 -11
- data/lib/solargraph/language_server/host.rb +24 -13
- data/lib/solargraph/language_server/message/base.rb +19 -12
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +2 -0
- data/lib/solargraph/language_server/message/extended/document.rb +5 -2
- data/lib/solargraph/language_server/message/extended/document_gems.rb +3 -3
- 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/formatting.rb +4 -0
- data/lib/solargraph/library.rb +13 -11
- data/lib/solargraph/location.rb +28 -0
- data/lib/solargraph/logging.rb +1 -0
- data/lib/solargraph/parser/comment_ripper.rb +12 -6
- data/lib/solargraph/parser/flow_sensitive_typing.rb +227 -0
- data/lib/solargraph/parser/node_methods.rb +15 -1
- data/lib/solargraph/parser/node_processor.rb +3 -1
- data/lib/solargraph/parser/parser_gem/class_methods.rb +16 -14
- data/lib/solargraph/parser/parser_gem/node_chainer.rb +17 -23
- data/lib/solargraph/parser/parser_gem/node_methods.rb +5 -3
- data/lib/solargraph/parser/parser_gem/node_processors/alias_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +21 -0
- data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +4 -2
- data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +4 -2
- data/lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb +23 -2
- data/lib/solargraph/parser/parser_gem/node_processors/cvasgn_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +6 -3
- data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +21 -0
- data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +4 -2
- data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +4 -3
- data/lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb +29 -6
- data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +41 -0
- data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +4 -3
- data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +28 -16
- data/lib/solargraph/parser/parser_gem/node_processors/sym_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +29 -0
- data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -0
- data/lib/solargraph/parser/parser_gem/node_processors.rb +10 -0
- data/lib/solargraph/parser/region.rb +1 -1
- data/lib/solargraph/parser.rb +1 -0
- data/lib/solargraph/pin/base.rb +326 -43
- data/lib/solargraph/pin/base_variable.rb +18 -10
- data/lib/solargraph/pin/block.rb +3 -3
- data/lib/solargraph/pin/breakable.rb +9 -0
- data/lib/solargraph/pin/callable.rb +77 -6
- data/lib/solargraph/pin/closure.rb +18 -1
- data/lib/solargraph/pin/common.rb +5 -0
- data/lib/solargraph/pin/delegated_method.rb +20 -1
- data/lib/solargraph/pin/documenting.rb +16 -0
- data/lib/solargraph/pin/keyword.rb +7 -2
- data/lib/solargraph/pin/local_variable.rb +15 -6
- data/lib/solargraph/pin/method.rb +172 -42
- data/lib/solargraph/pin/namespace.rb +17 -9
- data/lib/solargraph/pin/parameter.rb +61 -11
- data/lib/solargraph/pin/proxy_type.rb +12 -6
- data/lib/solargraph/pin/reference/override.rb +10 -6
- data/lib/solargraph/pin/reference/require.rb +2 -2
- data/lib/solargraph/pin/signature.rb +42 -0
- data/lib/solargraph/pin/singleton.rb +1 -1
- data/lib/solargraph/pin/symbol.rb +3 -2
- data/lib/solargraph/pin/until.rb +18 -0
- data/lib/solargraph/pin/while.rb +18 -0
- data/lib/solargraph/pin.rb +4 -1
- data/lib/solargraph/pin_cache.rb +185 -0
- data/lib/solargraph/position.rb +16 -0
- data/lib/solargraph/range.rb +16 -0
- data/lib/solargraph/rbs_map/conversions.rb +199 -66
- data/lib/solargraph/rbs_map/core_fills.rb +32 -16
- data/lib/solargraph/rbs_map/core_map.rb +34 -11
- data/lib/solargraph/rbs_map/stdlib_map.rb +15 -5
- data/lib/solargraph/rbs_map.rb +74 -16
- data/lib/solargraph/shell.rb +19 -18
- data/lib/solargraph/source/chain/array.rb +12 -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 +62 -25
- data/lib/solargraph/source/chain/constant.rb +1 -1
- data/lib/solargraph/source/chain/hash.rb +9 -3
- data/lib/solargraph/source/chain/head.rb +1 -1
- data/lib/solargraph/source/chain/if.rb +6 -1
- data/lib/solargraph/source/chain/link.rb +19 -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 +106 -62
- data/lib/solargraph/source/cursor.rb +1 -11
- data/lib/solargraph/source/source_chainer.rb +2 -2
- data/lib/solargraph/source.rb +2 -1
- data/lib/solargraph/source_map/clip.rb +4 -2
- data/lib/solargraph/source_map/mapper.rb +9 -5
- data/lib/solargraph/source_map.rb +0 -17
- data/lib/solargraph/type_checker/checks.rb +4 -0
- data/lib/solargraph/type_checker.rb +41 -14
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/views/_method.erb +10 -10
- data/lib/solargraph/views/_namespace.erb +3 -3
- data/lib/solargraph/views/document.erb +10 -10
- data/lib/solargraph/workspace/config.rb +7 -3
- data/lib/solargraph/workspace.rb +16 -6
- data/lib/solargraph/yard_map/mapper/to_constant.rb +5 -2
- data/lib/solargraph/yard_map/mapper/to_method.rb +55 -15
- data/lib/solargraph/yard_map/mapper/to_namespace.rb +5 -2
- data/lib/solargraph/yard_map/mapper.rb +5 -3
- data/lib/solargraph/yard_map/to_method.rb +4 -2
- data/lib/solargraph/yardoc.rb +6 -9
- data/lib/solargraph.rb +20 -1
- data/rbs/fills/tuple.rbs +150 -0
- data/rbs_collection.yaml +19 -0
- data/solargraph.gemspec +6 -5
- metadata +56 -29
- data/lib/solargraph/cache.rb +0 -77
data/rbs_collection.yaml
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Download sources
|
|
2
|
+
sources:
|
|
3
|
+
- type: git
|
|
4
|
+
name: ruby/gem_rbs_collection
|
|
5
|
+
remote: https://github.com/ruby/gem_rbs_collection.git
|
|
6
|
+
revision: main
|
|
7
|
+
repo_dir: gems
|
|
8
|
+
|
|
9
|
+
# You can specify local directories as sources also.
|
|
10
|
+
# - type: local
|
|
11
|
+
# path: path/to/your/local/repository
|
|
12
|
+
|
|
13
|
+
# A directory to install the downloaded RBSs
|
|
14
|
+
path: .gem_rbs_collection
|
|
15
|
+
|
|
16
|
+
# gems:
|
|
17
|
+
# # If you want to avoid installing rbs files for gems, you can specify them here.
|
|
18
|
+
# - name: GEM_NAME
|
|
19
|
+
# ignore: true
|
data/solargraph.gemspec
CHANGED
|
@@ -24,30 +24,31 @@ 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'
|
|
34
34
|
s.add_runtime_dependency 'observer', '~> 0.1'
|
|
35
35
|
s.add_runtime_dependency 'ostruct', '~> 0.6'
|
|
36
36
|
s.add_runtime_dependency 'parser', '~> 3.0'
|
|
37
|
+
s.add_runtime_dependency 'prism', '~> 1.4'
|
|
37
38
|
s.add_runtime_dependency 'rbs', '~> 3.3'
|
|
38
|
-
s.add_runtime_dependency 'reverse_markdown', '
|
|
39
|
+
s.add_runtime_dependency 'reverse_markdown', '~> 3.0'
|
|
39
40
|
s.add_runtime_dependency 'rubocop', '~> 1.38'
|
|
40
41
|
s.add_runtime_dependency 'thor', '~> 1.0'
|
|
41
42
|
s.add_runtime_dependency 'tilt', '~> 2.0'
|
|
42
43
|
s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
|
|
43
44
|
s.add_runtime_dependency 'yard-solargraph', '~> 0.1'
|
|
44
45
|
|
|
45
|
-
s.add_development_dependency 'pry'
|
|
46
|
+
s.add_development_dependency 'pry', '~> 0.15'
|
|
46
47
|
s.add_development_dependency 'public_suffix', '~> 3.1'
|
|
47
48
|
s.add_development_dependency 'rake', '~> 13.2'
|
|
48
49
|
s.add_development_dependency 'rspec', '~> 3.5'
|
|
49
50
|
s.add_development_dependency 'simplecov', '~> 0.14'
|
|
50
51
|
s.add_development_dependency 'webmock', '~> 3.6'
|
|
51
52
|
# work around missing yard dependency needed as of Ruby 3.5
|
|
52
|
-
s.add_development_dependency 'irb'
|
|
53
|
+
s.add_development_dependency 'irb', '~> 1.15'
|
|
53
54
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solargraph
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.56.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Fred Snyder
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date: 2025-
|
|
10
|
+
date: 2025-07-01 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: backport
|
|
@@ -28,16 +27,16 @@ dependencies:
|
|
|
28
27
|
name: benchmark
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
|
-
- - "
|
|
30
|
+
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
32
|
+
version: '0.4'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
|
-
- - "
|
|
37
|
+
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
39
|
+
version: '0.4'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
41
|
name: bundler
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -73,6 +72,9 @@ dependencies:
|
|
|
73
72
|
- - "~>"
|
|
74
73
|
- !ruby/object:Gem::Version
|
|
75
74
|
version: '1.6'
|
|
75
|
+
- - ">="
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: 1.6.1
|
|
76
78
|
type: :runtime
|
|
77
79
|
prerelease: false
|
|
78
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -80,6 +82,9 @@ dependencies:
|
|
|
80
82
|
- - "~>"
|
|
81
83
|
- !ruby/object:Gem::Version
|
|
82
84
|
version: '1.6'
|
|
85
|
+
- - ">="
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
version: 1.6.1
|
|
83
88
|
- !ruby/object:Gem::Dependency
|
|
84
89
|
name: kramdown
|
|
85
90
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -164,6 +169,20 @@ dependencies:
|
|
|
164
169
|
- - "~>"
|
|
165
170
|
- !ruby/object:Gem::Version
|
|
166
171
|
version: '3.0'
|
|
172
|
+
- !ruby/object:Gem::Dependency
|
|
173
|
+
name: prism
|
|
174
|
+
requirement: !ruby/object:Gem::Requirement
|
|
175
|
+
requirements:
|
|
176
|
+
- - "~>"
|
|
177
|
+
- !ruby/object:Gem::Version
|
|
178
|
+
version: '1.4'
|
|
179
|
+
type: :runtime
|
|
180
|
+
prerelease: false
|
|
181
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
182
|
+
requirements:
|
|
183
|
+
- - "~>"
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: '1.4'
|
|
167
186
|
- !ruby/object:Gem::Dependency
|
|
168
187
|
name: rbs
|
|
169
188
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,22 +201,16 @@ dependencies:
|
|
|
182
201
|
name: reverse_markdown
|
|
183
202
|
requirement: !ruby/object:Gem::Requirement
|
|
184
203
|
requirements:
|
|
185
|
-
- - "
|
|
186
|
-
- !ruby/object:Gem::Version
|
|
187
|
-
version: '2.0'
|
|
188
|
-
- - "<"
|
|
204
|
+
- - "~>"
|
|
189
205
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: '
|
|
206
|
+
version: '3.0'
|
|
191
207
|
type: :runtime
|
|
192
208
|
prerelease: false
|
|
193
209
|
version_requirements: !ruby/object:Gem::Requirement
|
|
194
210
|
requirements:
|
|
195
|
-
- - "
|
|
196
|
-
- !ruby/object:Gem::Version
|
|
197
|
-
version: '2.0'
|
|
198
|
-
- - "<"
|
|
211
|
+
- - "~>"
|
|
199
212
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '
|
|
213
|
+
version: '3.0'
|
|
201
214
|
- !ruby/object:Gem::Dependency
|
|
202
215
|
name: rubocop
|
|
203
216
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -278,16 +291,16 @@ dependencies:
|
|
|
278
291
|
name: pry
|
|
279
292
|
requirement: !ruby/object:Gem::Requirement
|
|
280
293
|
requirements:
|
|
281
|
-
- - "
|
|
294
|
+
- - "~>"
|
|
282
295
|
- !ruby/object:Gem::Version
|
|
283
|
-
version: '0'
|
|
296
|
+
version: '0.15'
|
|
284
297
|
type: :development
|
|
285
298
|
prerelease: false
|
|
286
299
|
version_requirements: !ruby/object:Gem::Requirement
|
|
287
300
|
requirements:
|
|
288
|
-
- - "
|
|
301
|
+
- - "~>"
|
|
289
302
|
- !ruby/object:Gem::Version
|
|
290
|
-
version: '0'
|
|
303
|
+
version: '0.15'
|
|
291
304
|
- !ruby/object:Gem::Dependency
|
|
292
305
|
name: public_suffix
|
|
293
306
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -362,16 +375,16 @@ dependencies:
|
|
|
362
375
|
name: irb
|
|
363
376
|
requirement: !ruby/object:Gem::Requirement
|
|
364
377
|
requirements:
|
|
365
|
-
- - "
|
|
378
|
+
- - "~>"
|
|
366
379
|
- !ruby/object:Gem::Version
|
|
367
|
-
version: '
|
|
380
|
+
version: '1.15'
|
|
368
381
|
type: :development
|
|
369
382
|
prerelease: false
|
|
370
383
|
version_requirements: !ruby/object:Gem::Requirement
|
|
371
384
|
requirements:
|
|
372
|
-
- - "
|
|
385
|
+
- - "~>"
|
|
373
386
|
- !ruby/object:Gem::Version
|
|
374
|
-
version: '
|
|
387
|
+
version: '1.15'
|
|
375
388
|
description: IDE tools for code completion, inline documentation, and static analysis
|
|
376
389
|
email: admin@castwide.com
|
|
377
390
|
executables:
|
|
@@ -397,10 +410,10 @@ files:
|
|
|
397
410
|
- lib/solargraph.rb
|
|
398
411
|
- lib/solargraph/api_map.rb
|
|
399
412
|
- lib/solargraph/api_map/cache.rb
|
|
413
|
+
- lib/solargraph/api_map/index.rb
|
|
400
414
|
- lib/solargraph/api_map/source_to_yard.rb
|
|
401
415
|
- lib/solargraph/api_map/store.rb
|
|
402
416
|
- lib/solargraph/bench.rb
|
|
403
|
-
- lib/solargraph/cache.rb
|
|
404
417
|
- lib/solargraph/complex_type.rb
|
|
405
418
|
- lib/solargraph/complex_type/type_methods.rb
|
|
406
419
|
- lib/solargraph/complex_type/unique_type.rb
|
|
@@ -409,6 +422,9 @@ files:
|
|
|
409
422
|
- lib/solargraph/convention/gemfile.rb
|
|
410
423
|
- lib/solargraph/convention/gemspec.rb
|
|
411
424
|
- lib/solargraph/convention/rakefile.rb
|
|
425
|
+
- lib/solargraph/convention/struct_definition.rb
|
|
426
|
+
- lib/solargraph/convention/struct_definition/struct_assignment_node.rb
|
|
427
|
+
- lib/solargraph/convention/struct_definition/struct_definition_node.rb
|
|
412
428
|
- lib/solargraph/converters/dd.rb
|
|
413
429
|
- lib/solargraph/converters/dl.rb
|
|
414
430
|
- lib/solargraph/converters/dt.rb
|
|
@@ -423,6 +439,7 @@ files:
|
|
|
423
439
|
- lib/solargraph/diagnostics/update_errors.rb
|
|
424
440
|
- lib/solargraph/doc_map.rb
|
|
425
441
|
- lib/solargraph/environ.rb
|
|
442
|
+
- lib/solargraph/equality.rb
|
|
426
443
|
- lib/solargraph/gem_pins.rb
|
|
427
444
|
- lib/solargraph/language_server.rb
|
|
428
445
|
- lib/solargraph/language_server/completion_item_kinds.rb
|
|
@@ -491,6 +508,7 @@ files:
|
|
|
491
508
|
- lib/solargraph/page.rb
|
|
492
509
|
- lib/solargraph/parser.rb
|
|
493
510
|
- lib/solargraph/parser/comment_ripper.rb
|
|
511
|
+
- lib/solargraph/parser/flow_sensitive_typing.rb
|
|
494
512
|
- lib/solargraph/parser/node_methods.rb
|
|
495
513
|
- lib/solargraph/parser/node_processor.rb
|
|
496
514
|
- lib/solargraph/parser/node_processor/base.rb
|
|
@@ -501,6 +519,7 @@ files:
|
|
|
501
519
|
- lib/solargraph/parser/parser_gem/node_methods.rb
|
|
502
520
|
- lib/solargraph/parser/parser_gem/node_processors.rb
|
|
503
521
|
- lib/solargraph/parser/parser_gem/node_processors/alias_node.rb
|
|
522
|
+
- lib/solargraph/parser/parser_gem/node_processors/and_node.rb
|
|
504
523
|
- lib/solargraph/parser/parser_gem/node_processors/args_node.rb
|
|
505
524
|
- lib/solargraph/parser/parser_gem/node_processors/begin_node.rb
|
|
506
525
|
- lib/solargraph/parser/parser_gem/node_processors/block_node.rb
|
|
@@ -509,21 +528,26 @@ files:
|
|
|
509
528
|
- lib/solargraph/parser/parser_gem/node_processors/def_node.rb
|
|
510
529
|
- lib/solargraph/parser/parser_gem/node_processors/defs_node.rb
|
|
511
530
|
- lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb
|
|
531
|
+
- lib/solargraph/parser/parser_gem/node_processors/if_node.rb
|
|
512
532
|
- lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb
|
|
513
533
|
- lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb
|
|
514
534
|
- lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb
|
|
515
535
|
- lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb
|
|
536
|
+
- lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb
|
|
516
537
|
- lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb
|
|
517
538
|
- lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb
|
|
518
539
|
- lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb
|
|
519
540
|
- lib/solargraph/parser/parser_gem/node_processors/send_node.rb
|
|
520
541
|
- lib/solargraph/parser/parser_gem/node_processors/sym_node.rb
|
|
542
|
+
- lib/solargraph/parser/parser_gem/node_processors/until_node.rb
|
|
543
|
+
- lib/solargraph/parser/parser_gem/node_processors/while_node.rb
|
|
521
544
|
- lib/solargraph/parser/region.rb
|
|
522
545
|
- lib/solargraph/parser/snippet.rb
|
|
523
546
|
- lib/solargraph/pin.rb
|
|
524
547
|
- lib/solargraph/pin/base.rb
|
|
525
548
|
- lib/solargraph/pin/base_variable.rb
|
|
526
549
|
- lib/solargraph/pin/block.rb
|
|
550
|
+
- lib/solargraph/pin/breakable.rb
|
|
527
551
|
- lib/solargraph/pin/callable.rb
|
|
528
552
|
- lib/solargraph/pin/class_variable.rb
|
|
529
553
|
- lib/solargraph/pin/closure.rb
|
|
@@ -554,6 +578,9 @@ files:
|
|
|
554
578
|
- lib/solargraph/pin/signature.rb
|
|
555
579
|
- lib/solargraph/pin/singleton.rb
|
|
556
580
|
- lib/solargraph/pin/symbol.rb
|
|
581
|
+
- lib/solargraph/pin/until.rb
|
|
582
|
+
- lib/solargraph/pin/while.rb
|
|
583
|
+
- lib/solargraph/pin_cache.rb
|
|
557
584
|
- lib/solargraph/position.rb
|
|
558
585
|
- lib/solargraph/range.rb
|
|
559
586
|
- lib/solargraph/rbs_map.rb
|
|
@@ -617,6 +644,8 @@ files:
|
|
|
617
644
|
- lib/solargraph/yard_map/to_method.rb
|
|
618
645
|
- lib/solargraph/yard_tags.rb
|
|
619
646
|
- lib/solargraph/yardoc.rb
|
|
647
|
+
- rbs/fills/tuple.rbs
|
|
648
|
+
- rbs_collection.yaml
|
|
620
649
|
- solargraph.gemspec
|
|
621
650
|
homepage: https://solargraph.org
|
|
622
651
|
licenses:
|
|
@@ -626,7 +655,6 @@ metadata:
|
|
|
626
655
|
bug_tracker_uri: https://github.com/castwide/solargraph/issues
|
|
627
656
|
changelog_uri: https://github.com/castwide/solargraph/blob/master/CHANGELOG.md
|
|
628
657
|
source_code_uri: https://github.com/castwide/solargraph
|
|
629
|
-
post_install_message:
|
|
630
658
|
rdoc_options: []
|
|
631
659
|
require_paths:
|
|
632
660
|
- lib
|
|
@@ -641,8 +669,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
641
669
|
- !ruby/object:Gem::Version
|
|
642
670
|
version: '0'
|
|
643
671
|
requirements: []
|
|
644
|
-
rubygems_version: 3.
|
|
645
|
-
signing_key:
|
|
672
|
+
rubygems_version: 3.6.7
|
|
646
673
|
specification_version: 4
|
|
647
674
|
summary: A Ruby language server
|
|
648
675
|
test_files: []
|
data/lib/solargraph/cache.rb
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
require 'fileutils'
|
|
2
|
-
require 'rbs'
|
|
3
|
-
|
|
4
|
-
module Solargraph
|
|
5
|
-
module Cache
|
|
6
|
-
class << self
|
|
7
|
-
# The base directory where cached documentation is installed.
|
|
8
|
-
#
|
|
9
|
-
# @return [String]
|
|
10
|
-
def base_dir
|
|
11
|
-
# The directory is not stored in a variable so it can be overridden
|
|
12
|
-
# in specs.
|
|
13
|
-
ENV['SOLARGRAPH_CACHE'] ||
|
|
14
|
-
(ENV['XDG_CACHE_HOME'] ? File.join(ENV['XDG_CACHE_HOME'], 'solargraph') : nil) ||
|
|
15
|
-
File.join(Dir.home, '.cache', 'solargraph')
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
# The working directory for the current Ruby, RBS, and Solargraph versions.
|
|
19
|
-
#
|
|
20
|
-
# @return [String]
|
|
21
|
-
def work_dir
|
|
22
|
-
# The directory is not stored in a variable so it can be overridden
|
|
23
|
-
# in specs.
|
|
24
|
-
File.join(base_dir, "ruby-#{RUBY_VERSION}", "rbs-#{RBS::VERSION}", "solargraph-#{Solargraph::VERSION}")
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
# Append the given path to the current cache directory (`work_dir`).
|
|
28
|
-
#
|
|
29
|
-
# @example
|
|
30
|
-
# Cache.join('date-3.4.1.ser')
|
|
31
|
-
#
|
|
32
|
-
# @param path [Array<String>]
|
|
33
|
-
# @return [String]
|
|
34
|
-
def join *path
|
|
35
|
-
File.join(work_dir, *path)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# @param path [Array<String>]
|
|
39
|
-
# @return [Array<Solargraph::Pin::Base>, nil]
|
|
40
|
-
def load *path
|
|
41
|
-
file = join(*path)
|
|
42
|
-
return nil unless File.file?(file)
|
|
43
|
-
Marshal.load(File.read(file, mode: 'rb'))
|
|
44
|
-
rescue StandardError => e
|
|
45
|
-
Solargraph.logger.warn "Failed to load cached file #{file}: [#{e.class}] #{e.message}"
|
|
46
|
-
FileUtils.rm_f file
|
|
47
|
-
nil
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def exist? *path
|
|
51
|
-
File.file? join(*path)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# @param path [Array<String>]
|
|
55
|
-
# @param pins [Array<Pin::Base>]
|
|
56
|
-
# @return [void]
|
|
57
|
-
def save *path, pins
|
|
58
|
-
file = File.join(work_dir, *path)
|
|
59
|
-
base = File.dirname(file)
|
|
60
|
-
FileUtils.mkdir_p base unless File.directory?(base)
|
|
61
|
-
ser = Marshal.dump(pins)
|
|
62
|
-
File.write file, ser, mode: 'wb'
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# @return [void]
|
|
66
|
-
# @param path [Array<String>]
|
|
67
|
-
def uncache *path
|
|
68
|
-
FileUtils.rm_rf File.join(work_dir, *path), secure: true
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# @return [void]
|
|
72
|
-
def clear
|
|
73
|
-
FileUtils.rm_rf base_dir, secure: true
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|