solargraph 0.55.4 → 0.55.5
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 +2 -0
- data/.gitignore +2 -0
- data/CHANGELOG.md +3 -0
- data/README.md +13 -3
- data/lib/solargraph/api_map/index.rb +23 -15
- data/lib/solargraph/api_map/store.rb +2 -1
- data/lib/solargraph/api_map.rb +53 -27
- data/lib/solargraph/complex_type/type_methods.rb +5 -1
- data/lib/solargraph/complex_type/unique_type.rb +7 -0
- data/lib/solargraph/convention/base.rb +3 -3
- data/lib/solargraph/convention.rb +3 -3
- data/lib/solargraph/doc_map.rb +189 -43
- data/lib/solargraph/gem_pins.rb +53 -38
- data/lib/solargraph/language_server/host.rb +9 -1
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +1 -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/library.rb +7 -4
- data/lib/solargraph/location.rb +13 -0
- data/lib/solargraph/parser/parser_gem/class_methods.rb +5 -8
- data/lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb +2 -2
- data/lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb +2 -2
- data/lib/solargraph/pin/base.rb +268 -24
- data/lib/solargraph/pin/base_variable.rb +9 -8
- data/lib/solargraph/pin/callable.rb +69 -0
- data/lib/solargraph/pin/closure.rb +12 -0
- data/lib/solargraph/pin/local_variable.rb +8 -5
- data/lib/solargraph/pin/method.rb +134 -17
- data/lib/solargraph/pin/parameter.rb +43 -6
- data/lib/solargraph/pin/signature.rb +38 -0
- data/lib/solargraph/pin_cache.rb +185 -0
- data/lib/solargraph/position.rb +9 -0
- data/lib/solargraph/range.rb +9 -0
- data/lib/solargraph/rbs_map/conversions.rb +19 -8
- data/lib/solargraph/rbs_map/core_map.rb +31 -9
- data/lib/solargraph/rbs_map/stdlib_map.rb +15 -5
- data/lib/solargraph/rbs_map.rb +74 -17
- data/lib/solargraph/shell.rb +11 -15
- data/lib/solargraph/source_map.rb +0 -17
- 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.rb +15 -5
- data/lib/solargraph/yardoc.rb +3 -11
- data/lib/solargraph.rb +10 -12
- data/rbs_collection.yaml +19 -0
- data/solargraph.gemspec +1 -0
- metadata +19 -7
- data/lib/solargraph/cache.rb +0 -77
data/solargraph.gemspec
CHANGED
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
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
39
|
s.add_runtime_dependency 'reverse_markdown', '~> 3.0'
|
39
40
|
s.add_runtime_dependency 'rubocop', '~> 1.38'
|
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.55.
|
4
|
+
version: 0.55.5
|
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
|
@@ -170,6 +169,20 @@ dependencies:
|
|
170
169
|
- - "~>"
|
171
170
|
- !ruby/object:Gem::Version
|
172
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'
|
173
186
|
- !ruby/object:Gem::Dependency
|
174
187
|
name: rbs
|
175
188
|
requirement: !ruby/object:Gem::Requirement
|
@@ -401,7 +414,6 @@ files:
|
|
401
414
|
- lib/solargraph/api_map/source_to_yard.rb
|
402
415
|
- lib/solargraph/api_map/store.rb
|
403
416
|
- lib/solargraph/bench.rb
|
404
|
-
- lib/solargraph/cache.rb
|
405
417
|
- lib/solargraph/complex_type.rb
|
406
418
|
- lib/solargraph/complex_type/type_methods.rb
|
407
419
|
- lib/solargraph/complex_type/unique_type.rb
|
@@ -568,6 +580,7 @@ files:
|
|
568
580
|
- lib/solargraph/pin/symbol.rb
|
569
581
|
- lib/solargraph/pin/until.rb
|
570
582
|
- lib/solargraph/pin/while.rb
|
583
|
+
- lib/solargraph/pin_cache.rb
|
571
584
|
- lib/solargraph/position.rb
|
572
585
|
- lib/solargraph/range.rb
|
573
586
|
- lib/solargraph/rbs_map.rb
|
@@ -632,6 +645,7 @@ files:
|
|
632
645
|
- lib/solargraph/yard_tags.rb
|
633
646
|
- lib/solargraph/yardoc.rb
|
634
647
|
- rbs/fills/tuple.rbs
|
648
|
+
- rbs_collection.yaml
|
635
649
|
- solargraph.gemspec
|
636
650
|
homepage: https://solargraph.org
|
637
651
|
licenses:
|
@@ -641,7 +655,6 @@ metadata:
|
|
641
655
|
bug_tracker_uri: https://github.com/castwide/solargraph/issues
|
642
656
|
changelog_uri: https://github.com/castwide/solargraph/blob/master/CHANGELOG.md
|
643
657
|
source_code_uri: https://github.com/castwide/solargraph
|
644
|
-
post_install_message:
|
645
658
|
rdoc_options: []
|
646
659
|
require_paths:
|
647
660
|
- lib
|
@@ -656,8 +669,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
656
669
|
- !ruby/object:Gem::Version
|
657
670
|
version: '0'
|
658
671
|
requirements: []
|
659
|
-
rubygems_version: 3.
|
660
|
-
signing_key:
|
672
|
+
rubygems_version: 3.6.7
|
661
673
|
specification_version: 4
|
662
674
|
summary: A Ruby language server
|
663
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
|