solargraph 0.47.2 → 0.53.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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/plugins.yml +40 -0
  4. data/.github/workflows/rspec.yml +4 -8
  5. data/.github/workflows/typecheck.yml +34 -0
  6. data/.yardopts +2 -2
  7. data/CHANGELOG.md +137 -3
  8. data/LICENSE +1 -1
  9. data/README.md +19 -16
  10. data/SPONSORS.md +2 -9
  11. data/lib/solargraph/api_map/cache.rb +60 -20
  12. data/lib/solargraph/api_map/source_to_yard.rb +17 -10
  13. data/lib/solargraph/api_map/store.rb +60 -12
  14. data/lib/solargraph/api_map.rb +171 -99
  15. data/lib/solargraph/bench.rb +3 -2
  16. data/lib/solargraph/cache.rb +77 -0
  17. data/lib/solargraph/complex_type/type_methods.rb +61 -12
  18. data/lib/solargraph/complex_type/unique_type.rb +193 -16
  19. data/lib/solargraph/complex_type.rb +113 -10
  20. data/lib/solargraph/convention/rakefile.rb +17 -0
  21. data/lib/solargraph/convention.rb +2 -3
  22. data/lib/solargraph/converters/dd.rb +5 -0
  23. data/lib/solargraph/converters/dl.rb +3 -0
  24. data/lib/solargraph/converters/dt.rb +3 -0
  25. data/lib/solargraph/diagnostics/rubocop.rb +23 -8
  26. data/lib/solargraph/diagnostics/rubocop_helpers.rb +4 -1
  27. data/lib/solargraph/diagnostics/type_check.rb +1 -0
  28. data/lib/solargraph/diagnostics.rb +2 -2
  29. data/lib/solargraph/doc_map.rb +171 -0
  30. data/lib/solargraph/gem_pins.rb +64 -0
  31. data/lib/solargraph/language_server/host/cataloger.rb +2 -1
  32. data/lib/solargraph/language_server/host/diagnoser.rb +2 -2
  33. data/lib/solargraph/language_server/host/dispatch.rb +15 -5
  34. data/lib/solargraph/language_server/host/message_worker.rb +4 -0
  35. data/lib/solargraph/language_server/host/sources.rb +7 -4
  36. data/lib/solargraph/language_server/host.rb +50 -26
  37. data/lib/solargraph/language_server/message/completion_item/resolve.rb +3 -1
  38. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +13 -1
  39. data/lib/solargraph/language_server/message/extended/download_core.rb +1 -5
  40. data/lib/solargraph/language_server/message/initialize.rb +13 -0
  41. data/lib/solargraph/language_server/message/initialized.rb +1 -0
  42. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +4 -1
  43. data/lib/solargraph/language_server/message/text_document/formatting.rb +4 -4
  44. data/lib/solargraph/language_server/message/text_document/hover.rb +2 -0
  45. data/lib/solargraph/language_server/message/text_document/signature_help.rb +1 -6
  46. data/lib/solargraph/language_server/message/text_document/type_definition.rb +24 -0
  47. data/lib/solargraph/language_server/message/text_document.rb +1 -1
  48. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +5 -0
  49. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +10 -3
  50. data/lib/solargraph/language_server/message.rb +1 -0
  51. data/lib/solargraph/language_server/transport/adapter.rb +16 -1
  52. data/lib/solargraph/language_server/transport/data_reader.rb +2 -0
  53. data/lib/solargraph/library.rb +124 -37
  54. data/lib/solargraph/location.rb +1 -0
  55. data/lib/solargraph/page.rb +6 -0
  56. data/lib/solargraph/parser/comment_ripper.rb +4 -0
  57. data/lib/solargraph/parser/node_methods.rb +47 -7
  58. data/lib/solargraph/parser/node_processor/base.rb +9 -0
  59. data/lib/solargraph/parser/{legacy → parser_gem}/class_methods.rb +31 -5
  60. data/lib/solargraph/parser/{legacy → parser_gem}/flawed_builder.rb +3 -1
  61. data/lib/solargraph/parser/{legacy → parser_gem}/node_chainer.rb +57 -41
  62. data/lib/solargraph/parser/parser_gem/node_methods.rb +499 -0
  63. data/lib/solargraph/parser/{rubyvm → parser_gem}/node_processors/alias_node.rb +1 -1
  64. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +53 -0
  65. data/lib/solargraph/parser/{rubyvm → parser_gem}/node_processors/begin_node.rb +1 -1
  66. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/block_node.rb +3 -2
  67. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/casgn_node.rb +14 -4
  68. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/cvasgn_node.rb +1 -1
  69. data/lib/solargraph/parser/{rubyvm → parser_gem}/node_processors/def_node.rb +7 -20
  70. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/defs_node.rb +2 -2
  71. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/gvasgn_node.rb +1 -1
  72. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/ivasgn_node.rb +2 -2
  73. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/lvasgn_node.rb +2 -2
  74. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/namespace_node.rb +2 -2
  75. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/orasgn_node.rb +1 -1
  76. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/resbody_node.rb +3 -3
  77. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +42 -0
  78. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/send_node.rb +2 -2
  79. data/lib/solargraph/parser/{legacy → parser_gem}/node_processors/sym_node.rb +1 -1
  80. data/lib/solargraph/parser/parser_gem/node_processors.rb +54 -0
  81. data/lib/solargraph/parser/parser_gem.rb +12 -0
  82. data/lib/solargraph/parser/region.rb +1 -1
  83. data/lib/solargraph/parser/snippet.rb +2 -0
  84. data/lib/solargraph/parser.rb +9 -10
  85. data/lib/solargraph/pin/base.rb +69 -11
  86. data/lib/solargraph/pin/base_variable.rb +8 -4
  87. data/lib/solargraph/pin/block.rb +21 -28
  88. data/lib/solargraph/pin/closure.rb +17 -2
  89. data/lib/solargraph/pin/common.rb +7 -3
  90. data/lib/solargraph/pin/conversions.rb +34 -8
  91. data/lib/solargraph/pin/delegated_method.rb +97 -0
  92. data/lib/solargraph/pin/documenting.rb +25 -34
  93. data/lib/solargraph/pin/instance_variable.rb +4 -0
  94. data/lib/solargraph/pin/local_variable.rb +13 -1
  95. data/lib/solargraph/pin/method.rb +270 -16
  96. data/lib/solargraph/pin/namespace.rb +17 -1
  97. data/lib/solargraph/pin/parameter.rb +52 -17
  98. data/lib/solargraph/pin/reference/override.rb +2 -2
  99. data/lib/solargraph/pin/reference.rb +8 -0
  100. data/lib/solargraph/pin/search.rb +4 -4
  101. data/lib/solargraph/pin/signature.rb +143 -0
  102. data/lib/solargraph/pin.rb +2 -1
  103. data/lib/solargraph/range.rb +4 -6
  104. data/lib/solargraph/rbs_map/conversions.rb +601 -0
  105. data/lib/solargraph/rbs_map/core_fills.rb +47 -0
  106. data/lib/solargraph/rbs_map/core_map.rb +28 -0
  107. data/lib/solargraph/rbs_map/stdlib_map.rb +33 -0
  108. data/lib/solargraph/rbs_map.rb +84 -0
  109. data/lib/solargraph/shell.rb +69 -48
  110. data/lib/solargraph/source/chain/array.rb +32 -0
  111. data/lib/solargraph/source/chain/block_symbol.rb +13 -0
  112. data/lib/solargraph/source/chain/call.rb +125 -61
  113. data/lib/solargraph/source/chain/constant.rb +15 -1
  114. data/lib/solargraph/source/chain/if.rb +23 -0
  115. data/lib/solargraph/source/chain/link.rb +8 -2
  116. data/lib/solargraph/source/chain/or.rb +1 -1
  117. data/lib/solargraph/source/chain/z_super.rb +3 -3
  118. data/lib/solargraph/source/chain.rb +44 -14
  119. data/lib/solargraph/source/change.rb +3 -0
  120. data/lib/solargraph/source/cursor.rb +2 -0
  121. data/lib/solargraph/source/source_chainer.rb +8 -5
  122. data/lib/solargraph/source.rb +18 -19
  123. data/lib/solargraph/source_map/clip.rb +30 -23
  124. data/lib/solargraph/source_map/mapper.rb +20 -5
  125. data/lib/solargraph/source_map.rb +28 -13
  126. data/lib/solargraph/type_checker/checks.rb +10 -2
  127. data/lib/solargraph/type_checker.rb +201 -98
  128. data/lib/solargraph/version.rb +1 -1
  129. data/lib/solargraph/views/environment.erb +2 -2
  130. data/lib/solargraph/workspace/config.rb +14 -11
  131. data/lib/solargraph/workspace.rb +28 -17
  132. data/lib/solargraph/yard_map/cache.rb +6 -0
  133. data/lib/solargraph/yard_map/helpers.rb +1 -1
  134. data/lib/solargraph/yard_map/mapper/to_method.rb +18 -5
  135. data/lib/solargraph/yard_map/mapper.rb +1 -1
  136. data/lib/solargraph/yard_map/to_method.rb +11 -4
  137. data/lib/solargraph/yard_map.rb +1 -443
  138. data/lib/solargraph/yard_tags.rb +20 -0
  139. data/lib/solargraph/yardoc.rb +52 -0
  140. data/lib/solargraph.rb +8 -6
  141. data/solargraph.gemspec +19 -8
  142. metadata +162 -98
  143. data/.travis.yml +0 -19
  144. data/lib/solargraph/api_map/bundler_methods.rb +0 -22
  145. data/lib/solargraph/compat.rb +0 -37
  146. data/lib/solargraph/convention/rspec.rb +0 -30
  147. data/lib/solargraph/documentor.rb +0 -76
  148. data/lib/solargraph/parser/legacy/node_methods.rb +0 -325
  149. data/lib/solargraph/parser/legacy/node_processors/alias_node.rb +0 -23
  150. data/lib/solargraph/parser/legacy/node_processors/args_node.rb +0 -35
  151. data/lib/solargraph/parser/legacy/node_processors/begin_node.rb +0 -15
  152. data/lib/solargraph/parser/legacy/node_processors/def_node.rb +0 -63
  153. data/lib/solargraph/parser/legacy/node_processors/sclass_node.rb +0 -21
  154. data/lib/solargraph/parser/legacy/node_processors.rb +0 -54
  155. data/lib/solargraph/parser/legacy.rb +0 -12
  156. data/lib/solargraph/parser/rubyvm/class_methods.rb +0 -144
  157. data/lib/solargraph/parser/rubyvm/node_chainer.rb +0 -160
  158. data/lib/solargraph/parser/rubyvm/node_methods.rb +0 -315
  159. data/lib/solargraph/parser/rubyvm/node_processors/args_node.rb +0 -85
  160. data/lib/solargraph/parser/rubyvm/node_processors/block_node.rb +0 -42
  161. data/lib/solargraph/parser/rubyvm/node_processors/casgn_node.rb +0 -22
  162. data/lib/solargraph/parser/rubyvm/node_processors/cvasgn_node.rb +0 -23
  163. data/lib/solargraph/parser/rubyvm/node_processors/defs_node.rb +0 -57
  164. data/lib/solargraph/parser/rubyvm/node_processors/gvasgn_node.rb +0 -23
  165. data/lib/solargraph/parser/rubyvm/node_processors/ivasgn_node.rb +0 -38
  166. data/lib/solargraph/parser/rubyvm/node_processors/kw_arg_node.rb +0 -39
  167. data/lib/solargraph/parser/rubyvm/node_processors/lit_node.rb +0 -20
  168. data/lib/solargraph/parser/rubyvm/node_processors/lvasgn_node.rb +0 -27
  169. data/lib/solargraph/parser/rubyvm/node_processors/namespace_node.rb +0 -39
  170. data/lib/solargraph/parser/rubyvm/node_processors/opt_arg_node.rb +0 -26
  171. data/lib/solargraph/parser/rubyvm/node_processors/orasgn_node.rb +0 -15
  172. data/lib/solargraph/parser/rubyvm/node_processors/resbody_node.rb +0 -45
  173. data/lib/solargraph/parser/rubyvm/node_processors/sclass_node.rb +0 -21
  174. data/lib/solargraph/parser/rubyvm/node_processors/scope_node.rb +0 -15
  175. data/lib/solargraph/parser/rubyvm/node_processors/send_node.rb +0 -277
  176. data/lib/solargraph/parser/rubyvm/node_processors/sym_node.rb +0 -18
  177. data/lib/solargraph/parser/rubyvm/node_processors.rb +0 -63
  178. data/lib/solargraph/parser/rubyvm.rb +0 -40
  179. data/lib/solargraph/yard_map/core_docs.rb +0 -170
  180. data/lib/solargraph/yard_map/core_fills.rb +0 -208
  181. data/lib/solargraph/yard_map/core_gen.rb +0 -76
  182. data/lib/solargraph/yard_map/rdoc_to_yard.rb +0 -140
  183. data/lib/solargraph/yard_map/stdlib_fills.rb +0 -43
  184. data/lib/yard-solargraph.rb +0 -33
  185. data/yardoc/2.2.2.tar.gz +0 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yard'
4
+
5
+ # Change YARD log IO to avoid sending unexpected messages to STDOUT
6
+ YARD::Logger.instance.io = File.new(File::NULL, 'w')
7
+
8
+ module Solargraph
9
+ # A placeholder for the @!domain directive. It doesn't need to do anything
10
+ # for yardocs. It's only used for Solargraph API maps.
11
+ class DomainDirective < YARD::Tags::Directive
12
+ def call; end
13
+ end
14
+ end
15
+
16
+ # Define a @type tag for documenting variables
17
+ YARD::Tags::Library.define_tag("Type", :type, :with_types_and_name)
18
+
19
+ # Define an @!override directive for overriding method tags
20
+ YARD::Tags::Library.define_directive("override", :with_name, Solargraph::DomainDirective)
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Solargraph
4
+ # Methods for caching and loading YARD documentation for gems.
5
+ #
6
+ module Yardoc
7
+ module_function
8
+
9
+ # Build and cache a gem's yardoc and return the path. If the cache already
10
+ # exists, do nothing and return the path.
11
+ #
12
+ # @param gemspec [Gem::Specification]
13
+ # @return [String] The path to the cached yardoc.
14
+ def cache(gemspec)
15
+ path = path_for(gemspec)
16
+ return path if cached?(gemspec)
17
+
18
+ Solargraph.logger.info "Caching yardoc for #{gemspec.name} #{gemspec.version}"
19
+ Dir.chdir gemspec.gem_dir do
20
+ `yardoc --db #{path} --no-output --plugin solargraph`
21
+ end
22
+ path
23
+ end
24
+
25
+ # True if the gem yardoc is cached.
26
+ #
27
+ # @param gemspec [Gem::Specification]
28
+ def cached?(gemspec)
29
+ yardoc = File.join(path_for(gemspec), 'complete')
30
+ File.exist?(yardoc)
31
+ end
32
+
33
+ # Get the absolute path for a cached gem yardoc.
34
+ #
35
+ # @param gemspec [Gem::Specification]
36
+ # @return [String]
37
+ def path_for(gemspec)
38
+ File.join(Solargraph::Cache.work_dir, 'gems', "#{gemspec.name}-#{gemspec.version}.yardoc")
39
+ end
40
+
41
+ # Load a gem's yardoc and return its code objects.
42
+ #
43
+ # @note This method modifies the global YARD registry.
44
+ #
45
+ # @param gemspec [Gem::Specification]
46
+ # @return [Array<YARD::CodeObjects::Base>]
47
+ def load!(gemspec)
48
+ YARD::Registry.load! path_for(gemspec)
49
+ YARD::Registry.all
50
+ end
51
+ end
52
+ end
data/lib/solargraph.rb CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  Encoding.default_external = 'UTF-8'
4
4
 
5
- require 'solargraph/compat'
5
+ require 'set'
6
+ require 'yard-solargraph'
7
+ require 'solargraph/yard_tags'
6
8
  require 'solargraph/version'
7
9
 
8
10
  # The top-level namespace for the Solargraph code mapping, documentation,
@@ -25,8 +27,10 @@ module Solargraph
25
27
  autoload :Source, 'solargraph/source'
26
28
  autoload :SourceMap, 'solargraph/source_map'
27
29
  autoload :ApiMap, 'solargraph/api_map'
30
+ autoload :Yardoc, 'solargraph/yardoc'
28
31
  autoload :YardMap, 'solargraph/yard_map'
29
32
  autoload :Pin, 'solargraph/pin'
33
+ autoload :DocMap, 'solargraph/doc_map'
30
34
  autoload :ServerMethods, 'solargraph/server_methods'
31
35
  autoload :LanguageServer, 'solargraph/language_server'
32
36
  autoload :Workspace, 'solargraph/workspace'
@@ -39,12 +43,12 @@ module Solargraph
39
43
  autoload :TypeChecker, 'solargraph/type_checker'
40
44
  autoload :Environ, 'solargraph/environ'
41
45
  autoload :Convention, 'solargraph/convention'
42
- autoload :Documentor, 'solargraph/documentor'
43
46
  autoload :Parser, 'solargraph/parser'
47
+ autoload :RbsMap, 'solargraph/rbs_map'
48
+ autoload :GemPins, 'solargraph/gem_pins'
49
+ autoload :Cache, 'solargraph/cache'
44
50
 
45
51
  dir = File.dirname(__FILE__)
46
- YARDOC_PATH = File.realpath(File.join(dir, '..', 'yardoc'))
47
- YARD_EXTENSION_FILE = File.join(dir, 'yard-solargraph.rb')
48
52
  VIEWS_PATH = File.join(dir, 'solargraph', 'views')
49
53
 
50
54
  # A convenience method for Solargraph::Logging.logger.
@@ -56,8 +60,6 @@ module Solargraph
56
60
 
57
61
  # A helper method that runs Bundler.with_unbundled_env or falls back to
58
62
  # Bundler.with_clean_env for earlier versions of Bundler.
59
- #
60
- # @return [void]
61
63
  def self.with_clean_env &block
62
64
  meth = if Bundler.respond_to?(:with_original_env)
63
65
  :with_original_env
data/solargraph.gemspec CHANGED
@@ -13,30 +13,41 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
14
14
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
15
  end
16
- s.homepage = 'http://solargraph.org'
16
+ s.homepage = 'https://solargraph.org'
17
17
  s.license = 'MIT'
18
18
  s.executables = ['solargraph']
19
+ s.metadata["funding_uri"] = "https://www.patreon.com/castwide"
20
+ s.metadata["bug_tracker_uri"] = "https://github.com/castwide/solargraph/issues"
21
+ s.metadata["changelog_uri"] = "https://github.com/castwide/solargraph/blob/master/CHANGELOG.md"
22
+ s.metadata["source_code_uri"] = "https://github.com/castwide/solargraph"
19
23
 
20
- s.required_ruby_version = '>= 2.4'
24
+ s.required_ruby_version = '>= 3.0'
21
25
 
22
26
  s.add_runtime_dependency 'backport', '~> 1.2'
23
27
  s.add_runtime_dependency 'benchmark'
24
- s.add_runtime_dependency 'bundler', '>= 1.17.2'
28
+ s.add_runtime_dependency 'bundler', '~> 2.0'
25
29
  s.add_runtime_dependency 'diff-lcs', '~> 1.4'
26
- s.add_runtime_dependency 'e2mmap'
27
- s.add_runtime_dependency 'jaro_winkler', '~> 1.5'
30
+ s.add_runtime_dependency 'jaro_winkler', '~> 1.6'
28
31
  s.add_runtime_dependency 'kramdown', '~> 2.3'
29
32
  s.add_runtime_dependency 'kramdown-parser-gfm', '~> 1.1'
33
+ s.add_runtime_dependency 'logger', '~> 1.6'
34
+ s.add_runtime_dependency 'observer', '~> 0.1'
35
+ s.add_runtime_dependency 'ostruct', '~> 0.6'
30
36
  s.add_runtime_dependency 'parser', '~> 3.0'
31
- s.add_runtime_dependency 'reverse_markdown', '>= 1.0.5', '< 3'
32
- s.add_runtime_dependency 'rubocop', '>= 0.52'
37
+ s.add_runtime_dependency 'rbs', '~> 3.3'
38
+ s.add_runtime_dependency 'reverse_markdown', '>= 2.0', '< 4'
39
+ s.add_runtime_dependency 'rubocop', '~> 1.38'
33
40
  s.add_runtime_dependency 'thor', '~> 1.0'
34
41
  s.add_runtime_dependency 'tilt', '~> 2.0'
35
42
  s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
43
+ s.add_runtime_dependency 'yard-solargraph', '~> 0.1'
36
44
 
37
45
  s.add_development_dependency 'pry'
38
46
  s.add_development_dependency 'public_suffix', '~> 3.1'
39
- s.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
47
+ s.add_development_dependency 'rake', '~> 13.2'
48
+ s.add_development_dependency 'rspec', '~> 3.5'
40
49
  s.add_development_dependency 'simplecov', '~> 0.14'
41
50
  s.add_development_dependency 'webmock', '~> 3.6'
51
+ # work around missing yard dependency needed as of Ruby 3.5
52
+ s.add_development_dependency 'irb'
42
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.47.2
4
+ version: 0.53.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: 2022-09-30 00:00:00.000000000 Z
11
+ date: 2025-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.17.2
47
+ version: '2.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.17.2
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: diff-lcs
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,61 +67,89 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.4'
69
69
  - !ruby/object:Gem::Dependency
70
- name: e2mmap
70
+ name: jaro_winkler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1.6'
83
83
  - !ruby/object:Gem::Dependency
84
- name: jaro_winkler
84
+ name: kramdown
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.5'
89
+ version: '2.3'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.5'
96
+ version: '2.3'
97
97
  - !ruby/object:Gem::Dependency
98
- name: kramdown
98
+ name: kramdown-parser-gfm
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.3'
103
+ version: '1.1'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.3'
110
+ version: '1.1'
111
111
  - !ruby/object:Gem::Dependency
112
- name: kramdown-parser-gfm
112
+ name: logger
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '1.1'
117
+ version: '1.6'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '1.1'
124
+ version: '1.6'
125
+ - !ruby/object:Gem::Dependency
126
+ name: observer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.1'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: ostruct
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.6'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.6'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: parser
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -136,40 +164,54 @@ dependencies:
136
164
  - - "~>"
137
165
  - !ruby/object:Gem::Version
138
166
  version: '3.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rbs
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '3.3'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '3.3'
139
181
  - !ruby/object:Gem::Dependency
140
182
  name: reverse_markdown
141
183
  requirement: !ruby/object:Gem::Requirement
142
184
  requirements:
143
185
  - - ">="
144
186
  - !ruby/object:Gem::Version
145
- version: 1.0.5
187
+ version: '2.0'
146
188
  - - "<"
147
189
  - !ruby/object:Gem::Version
148
- version: '3'
190
+ version: '4'
149
191
  type: :runtime
150
192
  prerelease: false
151
193
  version_requirements: !ruby/object:Gem::Requirement
152
194
  requirements:
153
195
  - - ">="
154
196
  - !ruby/object:Gem::Version
155
- version: 1.0.5
197
+ version: '2.0'
156
198
  - - "<"
157
199
  - !ruby/object:Gem::Version
158
- version: '3'
200
+ version: '4'
159
201
  - !ruby/object:Gem::Dependency
160
202
  name: rubocop
161
203
  requirement: !ruby/object:Gem::Requirement
162
204
  requirements:
163
- - - ">="
205
+ - - "~>"
164
206
  - !ruby/object:Gem::Version
165
- version: '0.52'
207
+ version: '1.38'
166
208
  type: :runtime
167
209
  prerelease: false
168
210
  version_requirements: !ruby/object:Gem::Requirement
169
211
  requirements:
170
- - - ">="
212
+ - - "~>"
171
213
  - !ruby/object:Gem::Version
172
- version: '0.52'
214
+ version: '1.38'
173
215
  - !ruby/object:Gem::Dependency
174
216
  name: thor
175
217
  requirement: !ruby/object:Gem::Requirement
@@ -218,6 +260,20 @@ dependencies:
218
260
  - - ">="
219
261
  - !ruby/object:Gem::Version
220
262
  version: 0.9.24
263
+ - !ruby/object:Gem::Dependency
264
+ name: yard-solargraph
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '0.1'
270
+ type: :runtime
271
+ prerelease: false
272
+ version_requirements: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - "~>"
275
+ - !ruby/object:Gem::Version
276
+ version: '0.1'
221
277
  - !ruby/object:Gem::Dependency
222
278
  name: pry
223
279
  requirement: !ruby/object:Gem::Requirement
@@ -246,6 +302,20 @@ dependencies:
246
302
  - - "~>"
247
303
  - !ruby/object:Gem::Version
248
304
  version: '3.1'
305
+ - !ruby/object:Gem::Dependency
306
+ name: rake
307
+ requirement: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - "~>"
310
+ - !ruby/object:Gem::Version
311
+ version: '13.2'
312
+ type: :development
313
+ prerelease: false
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - "~>"
317
+ - !ruby/object:Gem::Version
318
+ version: '13.2'
249
319
  - !ruby/object:Gem::Dependency
250
320
  name: rspec
251
321
  requirement: !ruby/object:Gem::Requirement
@@ -253,9 +323,6 @@ dependencies:
253
323
  - - "~>"
254
324
  - !ruby/object:Gem::Version
255
325
  version: '3.5'
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: 3.5.0
259
326
  type: :development
260
327
  prerelease: false
261
328
  version_requirements: !ruby/object:Gem::Requirement
@@ -263,9 +330,6 @@ dependencies:
263
330
  - - "~>"
264
331
  - !ruby/object:Gem::Version
265
332
  version: '3.5'
266
- - - ">="
267
- - !ruby/object:Gem::Version
268
- version: 3.5.0
269
333
  - !ruby/object:Gem::Dependency
270
334
  name: simplecov
271
335
  requirement: !ruby/object:Gem::Requirement
@@ -294,6 +358,20 @@ dependencies:
294
358
  - - "~>"
295
359
  - !ruby/object:Gem::Version
296
360
  version: '3.6'
361
+ - !ruby/object:Gem::Dependency
362
+ name: irb
363
+ requirement: !ruby/object:Gem::Requirement
364
+ requirements:
365
+ - - ">="
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
368
+ type: :development
369
+ prerelease: false
370
+ version_requirements: !ruby/object:Gem::Requirement
371
+ requirements:
372
+ - - ">="
373
+ - !ruby/object:Gem::Version
374
+ version: '0'
297
375
  description: IDE tools for code completion, inline documentation, and static analysis
298
376
  email: admin@castwide.com
299
377
  executables:
@@ -301,10 +379,12 @@ executables:
301
379
  extensions: []
302
380
  extra_rdoc_files: []
303
381
  files:
382
+ - ".github/FUNDING.yml"
383
+ - ".github/workflows/plugins.yml"
304
384
  - ".github/workflows/rspec.yml"
385
+ - ".github/workflows/typecheck.yml"
305
386
  - ".gitignore"
306
387
  - ".rspec"
307
- - ".travis.yml"
308
388
  - ".yardopts"
309
389
  - CHANGELOG.md
310
390
  - Gemfile
@@ -316,12 +396,11 @@ files:
316
396
  - lib/.rubocop.yml
317
397
  - lib/solargraph.rb
318
398
  - lib/solargraph/api_map.rb
319
- - lib/solargraph/api_map/bundler_methods.rb
320
399
  - lib/solargraph/api_map/cache.rb
321
400
  - lib/solargraph/api_map/source_to_yard.rb
322
401
  - lib/solargraph/api_map/store.rb
323
402
  - lib/solargraph/bench.rb
324
- - lib/solargraph/compat.rb
403
+ - lib/solargraph/cache.rb
325
404
  - lib/solargraph/complex_type.rb
326
405
  - lib/solargraph/complex_type/type_methods.rb
327
406
  - lib/solargraph/complex_type/unique_type.rb
@@ -329,7 +408,7 @@ files:
329
408
  - lib/solargraph/convention/base.rb
330
409
  - lib/solargraph/convention/gemfile.rb
331
410
  - lib/solargraph/convention/gemspec.rb
332
- - lib/solargraph/convention/rspec.rb
411
+ - lib/solargraph/convention/rakefile.rb
333
412
  - lib/solargraph/converters/dd.rb
334
413
  - lib/solargraph/converters/dl.rb
335
414
  - lib/solargraph/converters/dt.rb
@@ -342,8 +421,9 @@ files:
342
421
  - lib/solargraph/diagnostics/severities.rb
343
422
  - lib/solargraph/diagnostics/type_check.rb
344
423
  - lib/solargraph/diagnostics/update_errors.rb
345
- - lib/solargraph/documentor.rb
424
+ - lib/solargraph/doc_map.rb
346
425
  - lib/solargraph/environ.rb
426
+ - lib/solargraph/gem_pins.rb
347
427
  - lib/solargraph/language_server.rb
348
428
  - lib/solargraph/language_server/completion_item_kinds.rb
349
429
  - lib/solargraph/language_server/error_codes.rb
@@ -392,6 +472,7 @@ files:
392
472
  - lib/solargraph/language_server/message/text_document/references.rb
393
473
  - lib/solargraph/language_server/message/text_document/rename.rb
394
474
  - lib/solargraph/language_server/message/text_document/signature_help.rb
475
+ - lib/solargraph/language_server/message/text_document/type_definition.rb
395
476
  - lib/solargraph/language_server/message/workspace.rb
396
477
  - lib/solargraph/language_server/message/workspace/did_change_configuration.rb
397
478
  - lib/solargraph/language_server/message/workspace/did_change_watched_files.rb
@@ -410,59 +491,33 @@ files:
410
491
  - lib/solargraph/page.rb
411
492
  - lib/solargraph/parser.rb
412
493
  - lib/solargraph/parser/comment_ripper.rb
413
- - lib/solargraph/parser/legacy.rb
414
- - lib/solargraph/parser/legacy/class_methods.rb
415
- - lib/solargraph/parser/legacy/flawed_builder.rb
416
- - lib/solargraph/parser/legacy/node_chainer.rb
417
- - lib/solargraph/parser/legacy/node_methods.rb
418
- - lib/solargraph/parser/legacy/node_processors.rb
419
- - lib/solargraph/parser/legacy/node_processors/alias_node.rb
420
- - lib/solargraph/parser/legacy/node_processors/args_node.rb
421
- - lib/solargraph/parser/legacy/node_processors/begin_node.rb
422
- - lib/solargraph/parser/legacy/node_processors/block_node.rb
423
- - lib/solargraph/parser/legacy/node_processors/casgn_node.rb
424
- - lib/solargraph/parser/legacy/node_processors/cvasgn_node.rb
425
- - lib/solargraph/parser/legacy/node_processors/def_node.rb
426
- - lib/solargraph/parser/legacy/node_processors/defs_node.rb
427
- - lib/solargraph/parser/legacy/node_processors/gvasgn_node.rb
428
- - lib/solargraph/parser/legacy/node_processors/ivasgn_node.rb
429
- - lib/solargraph/parser/legacy/node_processors/lvasgn_node.rb
430
- - lib/solargraph/parser/legacy/node_processors/namespace_node.rb
431
- - lib/solargraph/parser/legacy/node_processors/orasgn_node.rb
432
- - lib/solargraph/parser/legacy/node_processors/resbody_node.rb
433
- - lib/solargraph/parser/legacy/node_processors/sclass_node.rb
434
- - lib/solargraph/parser/legacy/node_processors/send_node.rb
435
- - lib/solargraph/parser/legacy/node_processors/sym_node.rb
436
494
  - lib/solargraph/parser/node_methods.rb
437
495
  - lib/solargraph/parser/node_processor.rb
438
496
  - lib/solargraph/parser/node_processor/base.rb
497
+ - lib/solargraph/parser/parser_gem.rb
498
+ - lib/solargraph/parser/parser_gem/class_methods.rb
499
+ - lib/solargraph/parser/parser_gem/flawed_builder.rb
500
+ - lib/solargraph/parser/parser_gem/node_chainer.rb
501
+ - lib/solargraph/parser/parser_gem/node_methods.rb
502
+ - lib/solargraph/parser/parser_gem/node_processors.rb
503
+ - lib/solargraph/parser/parser_gem/node_processors/alias_node.rb
504
+ - lib/solargraph/parser/parser_gem/node_processors/args_node.rb
505
+ - lib/solargraph/parser/parser_gem/node_processors/begin_node.rb
506
+ - lib/solargraph/parser/parser_gem/node_processors/block_node.rb
507
+ - lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb
508
+ - lib/solargraph/parser/parser_gem/node_processors/cvasgn_node.rb
509
+ - lib/solargraph/parser/parser_gem/node_processors/def_node.rb
510
+ - lib/solargraph/parser/parser_gem/node_processors/defs_node.rb
511
+ - lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb
512
+ - lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb
513
+ - lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb
514
+ - lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb
515
+ - lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb
516
+ - lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb
517
+ - lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb
518
+ - lib/solargraph/parser/parser_gem/node_processors/send_node.rb
519
+ - lib/solargraph/parser/parser_gem/node_processors/sym_node.rb
439
520
  - lib/solargraph/parser/region.rb
440
- - lib/solargraph/parser/rubyvm.rb
441
- - lib/solargraph/parser/rubyvm/class_methods.rb
442
- - lib/solargraph/parser/rubyvm/node_chainer.rb
443
- - lib/solargraph/parser/rubyvm/node_methods.rb
444
- - lib/solargraph/parser/rubyvm/node_processors.rb
445
- - lib/solargraph/parser/rubyvm/node_processors/alias_node.rb
446
- - lib/solargraph/parser/rubyvm/node_processors/args_node.rb
447
- - lib/solargraph/parser/rubyvm/node_processors/begin_node.rb
448
- - lib/solargraph/parser/rubyvm/node_processors/block_node.rb
449
- - lib/solargraph/parser/rubyvm/node_processors/casgn_node.rb
450
- - lib/solargraph/parser/rubyvm/node_processors/cvasgn_node.rb
451
- - lib/solargraph/parser/rubyvm/node_processors/def_node.rb
452
- - lib/solargraph/parser/rubyvm/node_processors/defs_node.rb
453
- - lib/solargraph/parser/rubyvm/node_processors/gvasgn_node.rb
454
- - lib/solargraph/parser/rubyvm/node_processors/ivasgn_node.rb
455
- - lib/solargraph/parser/rubyvm/node_processors/kw_arg_node.rb
456
- - lib/solargraph/parser/rubyvm/node_processors/lit_node.rb
457
- - lib/solargraph/parser/rubyvm/node_processors/lvasgn_node.rb
458
- - lib/solargraph/parser/rubyvm/node_processors/namespace_node.rb
459
- - lib/solargraph/parser/rubyvm/node_processors/opt_arg_node.rb
460
- - lib/solargraph/parser/rubyvm/node_processors/orasgn_node.rb
461
- - lib/solargraph/parser/rubyvm/node_processors/resbody_node.rb
462
- - lib/solargraph/parser/rubyvm/node_processors/sclass_node.rb
463
- - lib/solargraph/parser/rubyvm/node_processors/scope_node.rb
464
- - lib/solargraph/parser/rubyvm/node_processors/send_node.rb
465
- - lib/solargraph/parser/rubyvm/node_processors/sym_node.rb
466
521
  - lib/solargraph/parser/snippet.rb
467
522
  - lib/solargraph/pin.rb
468
523
  - lib/solargraph/pin/base.rb
@@ -473,6 +528,7 @@ files:
473
528
  - lib/solargraph/pin/common.rb
474
529
  - lib/solargraph/pin/constant.rb
475
530
  - lib/solargraph/pin/conversions.rb
531
+ - lib/solargraph/pin/delegated_method.rb
476
532
  - lib/solargraph/pin/documenting.rb
477
533
  - lib/solargraph/pin/duck_method.rb
478
534
  - lib/solargraph/pin/global_variable.rb
@@ -493,14 +549,22 @@ files:
493
549
  - lib/solargraph/pin/reference/require.rb
494
550
  - lib/solargraph/pin/reference/superclass.rb
495
551
  - lib/solargraph/pin/search.rb
552
+ - lib/solargraph/pin/signature.rb
496
553
  - lib/solargraph/pin/singleton.rb
497
554
  - lib/solargraph/pin/symbol.rb
498
555
  - lib/solargraph/position.rb
499
556
  - lib/solargraph/range.rb
557
+ - lib/solargraph/rbs_map.rb
558
+ - lib/solargraph/rbs_map/conversions.rb
559
+ - lib/solargraph/rbs_map/core_fills.rb
560
+ - lib/solargraph/rbs_map/core_map.rb
561
+ - lib/solargraph/rbs_map/stdlib_map.rb
500
562
  - lib/solargraph/server_methods.rb
501
563
  - lib/solargraph/shell.rb
502
564
  - lib/solargraph/source.rb
503
565
  - lib/solargraph/source/chain.rb
566
+ - lib/solargraph/source/chain/array.rb
567
+ - lib/solargraph/source/chain/block_symbol.rb
504
568
  - lib/solargraph/source/chain/block_variable.rb
505
569
  - lib/solargraph/source/chain/call.rb
506
570
  - lib/solargraph/source/chain/class_variable.rb
@@ -508,6 +572,7 @@ files:
508
572
  - lib/solargraph/source/chain/global_variable.rb
509
573
  - lib/solargraph/source/chain/hash.rb
510
574
  - lib/solargraph/source/chain/head.rb
575
+ - lib/solargraph/source/chain/if.rb
511
576
  - lib/solargraph/source/chain/instance_variable.rb
512
577
  - lib/solargraph/source/chain/link.rb
513
578
  - lib/solargraph/source/chain/literal.rb
@@ -541,24 +606,23 @@ files:
541
606
  - lib/solargraph/workspace/config.rb
542
607
  - lib/solargraph/yard_map.rb
543
608
  - lib/solargraph/yard_map/cache.rb
544
- - lib/solargraph/yard_map/core_docs.rb
545
- - lib/solargraph/yard_map/core_fills.rb
546
- - lib/solargraph/yard_map/core_gen.rb
547
609
  - lib/solargraph/yard_map/helpers.rb
548
610
  - lib/solargraph/yard_map/mapper.rb
549
611
  - lib/solargraph/yard_map/mapper/to_constant.rb
550
612
  - lib/solargraph/yard_map/mapper/to_method.rb
551
613
  - lib/solargraph/yard_map/mapper/to_namespace.rb
552
- - lib/solargraph/yard_map/rdoc_to_yard.rb
553
- - lib/solargraph/yard_map/stdlib_fills.rb
554
614
  - lib/solargraph/yard_map/to_method.rb
555
- - lib/yard-solargraph.rb
615
+ - lib/solargraph/yard_tags.rb
616
+ - lib/solargraph/yardoc.rb
556
617
  - solargraph.gemspec
557
- - yardoc/2.2.2.tar.gz
558
- homepage: http://solargraph.org
618
+ homepage: https://solargraph.org
559
619
  licenses:
560
620
  - MIT
561
- metadata: {}
621
+ metadata:
622
+ funding_uri: https://www.patreon.com/castwide
623
+ bug_tracker_uri: https://github.com/castwide/solargraph/issues
624
+ changelog_uri: https://github.com/castwide/solargraph/blob/master/CHANGELOG.md
625
+ source_code_uri: https://github.com/castwide/solargraph
562
626
  post_install_message:
563
627
  rdoc_options: []
564
628
  require_paths:
@@ -567,7 +631,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
567
631
  requirements:
568
632
  - - ">="
569
633
  - !ruby/object:Gem::Version
570
- version: '2.4'
634
+ version: '3.0'
571
635
  required_rubygems_version: !ruby/object:Gem::Requirement
572
636
  requirements:
573
637
  - - ">="