solargraph 0.54.0 → 0.58.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.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linting.yml +127 -0
  3. data/.github/workflows/plugins.yml +184 -6
  4. data/.github/workflows/rspec.yml +55 -5
  5. data/.github/workflows/typecheck.yml +8 -3
  6. data/.gitignore +7 -0
  7. data/.overcommit.yml +72 -0
  8. data/.rspec +1 -0
  9. data/.rubocop.yml +66 -0
  10. data/.rubocop_todo.yml +1279 -0
  11. data/.yardopts +1 -0
  12. data/CHANGELOG.md +171 -0
  13. data/README.md +20 -6
  14. data/Rakefile +125 -13
  15. data/bin/solargraph +8 -5
  16. data/lib/solargraph/api_map/cache.rb +13 -3
  17. data/lib/solargraph/api_map/constants.rb +279 -0
  18. data/lib/solargraph/api_map/index.rb +193 -0
  19. data/lib/solargraph/api_map/source_to_yard.rb +13 -4
  20. data/lib/solargraph/api_map/store.rb +207 -132
  21. data/lib/solargraph/api_map.rb +394 -261
  22. data/lib/solargraph/bench.rb +18 -1
  23. data/lib/solargraph/complex_type/type_methods.rb +29 -12
  24. data/lib/solargraph/complex_type/unique_type.rb +205 -26
  25. data/lib/solargraph/complex_type.rb +126 -26
  26. data/lib/solargraph/convention/active_support_concern.rb +111 -0
  27. data/lib/solargraph/convention/base.rb +20 -3
  28. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +61 -0
  29. data/lib/solargraph/convention/data_definition/data_definition_node.rb +91 -0
  30. data/lib/solargraph/convention/data_definition.rb +105 -0
  31. data/lib/solargraph/convention/gemspec.rb +3 -2
  32. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +61 -0
  33. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +102 -0
  34. data/lib/solargraph/convention/struct_definition.rb +164 -0
  35. data/lib/solargraph/convention.rb +36 -4
  36. data/lib/solargraph/diagnostics/rubocop.rb +6 -1
  37. data/lib/solargraph/diagnostics/rubocop_helpers.rb +5 -3
  38. data/lib/solargraph/doc_map.rb +316 -64
  39. data/lib/solargraph/environ.rb +9 -2
  40. data/lib/solargraph/equality.rb +34 -0
  41. data/lib/solargraph/gem_pins.rb +64 -38
  42. data/lib/solargraph/language_server/host/dispatch.rb +2 -0
  43. data/lib/solargraph/language_server/host/message_worker.rb +54 -5
  44. data/lib/solargraph/language_server/host.rb +36 -18
  45. data/lib/solargraph/language_server/message/base.rb +20 -12
  46. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +2 -0
  47. data/lib/solargraph/language_server/message/extended/document.rb +5 -2
  48. data/lib/solargraph/language_server/message/extended/document_gems.rb +3 -3
  49. data/lib/solargraph/language_server/message/initialize.rb +3 -1
  50. data/lib/solargraph/language_server/message/text_document/completion.rb +0 -3
  51. data/lib/solargraph/language_server/message/text_document/definition.rb +5 -3
  52. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +3 -3
  53. data/lib/solargraph/language_server/message/text_document/formatting.rb +23 -2
  54. data/lib/solargraph/language_server/message/text_document/hover.rb +1 -1
  55. data/lib/solargraph/language_server/message/text_document/type_definition.rb +4 -3
  56. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
  57. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +2 -2
  58. data/lib/solargraph/language_server/progress.rb +27 -2
  59. data/lib/solargraph/language_server/request.rb +4 -1
  60. data/lib/solargraph/library.rb +83 -73
  61. data/lib/solargraph/location.rb +45 -1
  62. data/lib/solargraph/logging.rb +12 -2
  63. data/lib/solargraph/page.rb +3 -0
  64. data/lib/solargraph/parser/comment_ripper.rb +20 -7
  65. data/lib/solargraph/parser/flow_sensitive_typing.rb +255 -0
  66. data/lib/solargraph/parser/node_processor/base.rb +10 -5
  67. data/lib/solargraph/parser/node_processor.rb +26 -8
  68. data/lib/solargraph/parser/parser_gem/class_methods.rb +10 -18
  69. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +1 -0
  70. data/lib/solargraph/parser/parser_gem/node_chainer.rb +13 -11
  71. data/lib/solargraph/parser/parser_gem/node_methods.rb +10 -19
  72. data/lib/solargraph/parser/parser_gem/node_processors/alias_node.rb +2 -1
  73. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +22 -0
  74. data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +26 -20
  75. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +7 -4
  76. data/lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb +2 -1
  77. data/lib/solargraph/parser/parser_gem/node_processors/cvasgn_node.rb +2 -1
  78. data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +6 -3
  79. data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +2 -1
  80. data/lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb +2 -1
  81. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +23 -0
  82. data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +4 -2
  83. data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +2 -1
  84. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +14 -2
  85. data/lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb +8 -7
  86. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +98 -0
  87. data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +1 -0
  88. data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +3 -1
  89. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +16 -6
  90. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +64 -32
  91. data/lib/solargraph/parser/parser_gem/node_processors/sym_node.rb +3 -1
  92. data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +29 -0
  93. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -0
  94. data/lib/solargraph/parser/parser_gem/node_processors.rb +14 -0
  95. data/lib/solargraph/parser/region.rb +4 -1
  96. data/lib/solargraph/parser/snippet.rb +2 -0
  97. data/lib/solargraph/parser.rb +3 -5
  98. data/lib/solargraph/pin/base.rb +417 -42
  99. data/lib/solargraph/pin/base_variable.rb +21 -12
  100. data/lib/solargraph/pin/block.rb +9 -26
  101. data/lib/solargraph/pin/breakable.rb +9 -0
  102. data/lib/solargraph/pin/callable.rb +231 -0
  103. data/lib/solargraph/pin/closure.rb +30 -10
  104. data/lib/solargraph/pin/common.rb +12 -7
  105. data/lib/solargraph/pin/constant.rb +2 -0
  106. data/lib/solargraph/pin/conversions.rb +3 -2
  107. data/lib/solargraph/pin/delegated_method.rb +20 -1
  108. data/lib/solargraph/pin/documenting.rb +16 -0
  109. data/lib/solargraph/pin/instance_variable.rb +2 -2
  110. data/lib/solargraph/pin/keyword.rb +7 -2
  111. data/lib/solargraph/pin/local_variable.rb +15 -7
  112. data/lib/solargraph/pin/method.rb +241 -70
  113. data/lib/solargraph/pin/method_alias.rb +3 -0
  114. data/lib/solargraph/pin/namespace.rb +21 -13
  115. data/lib/solargraph/pin/parameter.rb +94 -32
  116. data/lib/solargraph/pin/proxy_type.rb +17 -7
  117. data/lib/solargraph/pin/reference/override.rb +24 -6
  118. data/lib/solargraph/pin/reference/require.rb +2 -2
  119. data/lib/solargraph/pin/reference/superclass.rb +5 -0
  120. data/lib/solargraph/pin/reference.rb +17 -0
  121. data/lib/solargraph/pin/search.rb +6 -1
  122. data/lib/solargraph/pin/signature.rb +39 -121
  123. data/lib/solargraph/pin/singleton.rb +1 -1
  124. data/lib/solargraph/pin/symbol.rb +8 -2
  125. data/lib/solargraph/pin/until.rb +18 -0
  126. data/lib/solargraph/pin/while.rb +18 -0
  127. data/lib/solargraph/pin.rb +8 -2
  128. data/lib/solargraph/pin_cache.rb +245 -0
  129. data/lib/solargraph/position.rb +19 -0
  130. data/lib/solargraph/range.rb +23 -4
  131. data/lib/solargraph/rbs_map/conversions.rb +315 -99
  132. data/lib/solargraph/rbs_map/core_fills.rb +50 -16
  133. data/lib/solargraph/rbs_map/core_map.rb +41 -11
  134. data/lib/solargraph/rbs_map/stdlib_map.rb +15 -5
  135. data/lib/solargraph/rbs_map.rb +87 -16
  136. data/lib/solargraph/shell.rb +117 -17
  137. data/lib/solargraph/source/chain/array.rb +13 -8
  138. data/lib/solargraph/source/chain/block_symbol.rb +1 -1
  139. data/lib/solargraph/source/chain/block_variable.rb +1 -1
  140. data/lib/solargraph/source/chain/call.rb +135 -66
  141. data/lib/solargraph/source/chain/constant.rb +3 -66
  142. data/lib/solargraph/source/chain/hash.rb +9 -3
  143. data/lib/solargraph/source/chain/head.rb +1 -1
  144. data/lib/solargraph/source/chain/if.rb +7 -2
  145. data/lib/solargraph/source/chain/link.rb +38 -6
  146. data/lib/solargraph/source/chain/literal.rb +27 -2
  147. data/lib/solargraph/source/chain/or.rb +2 -2
  148. data/lib/solargraph/source/chain/z_super.rb +1 -1
  149. data/lib/solargraph/source/chain.rb +140 -63
  150. data/lib/solargraph/source/change.rb +2 -2
  151. data/lib/solargraph/source/cursor.rb +4 -4
  152. data/lib/solargraph/source/source_chainer.rb +3 -3
  153. data/lib/solargraph/source.rb +110 -89
  154. data/lib/solargraph/source_map/clip.rb +22 -28
  155. data/lib/solargraph/source_map/data.rb +34 -0
  156. data/lib/solargraph/source_map/mapper.rb +11 -7
  157. data/lib/solargraph/source_map.rb +50 -43
  158. data/lib/solargraph/type_checker/checks.rb +4 -0
  159. data/lib/solargraph/type_checker/param_def.rb +2 -0
  160. data/lib/solargraph/type_checker/rules.rb +35 -8
  161. data/lib/solargraph/type_checker.rb +331 -189
  162. data/lib/solargraph/version.rb +1 -1
  163. data/lib/solargraph/views/_method.erb +10 -10
  164. data/lib/solargraph/views/_namespace.erb +3 -3
  165. data/lib/solargraph/views/document.erb +10 -10
  166. data/lib/solargraph/views/environment.erb +3 -5
  167. data/lib/solargraph/workspace/config.rb +25 -5
  168. data/lib/solargraph/workspace/require_paths.rb +97 -0
  169. data/lib/solargraph/workspace.rb +53 -72
  170. data/lib/solargraph/yard_map/helpers.rb +29 -1
  171. data/lib/solargraph/yard_map/mapper/to_constant.rb +8 -5
  172. data/lib/solargraph/yard_map/mapper/to_method.rb +55 -19
  173. data/lib/solargraph/yard_map/mapper/to_namespace.rb +11 -7
  174. data/lib/solargraph/yard_map/mapper.rb +5 -3
  175. data/lib/solargraph/yard_map/to_method.rb +6 -3
  176. data/lib/solargraph/yardoc.rb +45 -10
  177. data/lib/solargraph.rb +35 -1
  178. data/rbs/fills/bundler/0/bundler.rbs +4271 -0
  179. data/rbs/fills/open3/0/open3.rbs +172 -0
  180. data/rbs/fills/rubygems/0/basic_specification.rbs +326 -0
  181. data/rbs/fills/rubygems/0/errors.rbs +364 -0
  182. data/rbs/fills/rubygems/0/spec_fetcher.rbs +107 -0
  183. data/rbs/fills/rubygems/0/specification.rbs +1753 -0
  184. data/rbs/fills/tuple/tuple.rbs +149 -0
  185. data/rbs_collection.yaml +19 -0
  186. data/sig/shims/ast/0/node.rbs +5 -0
  187. data/sig/shims/ast/2.4/.rbs_meta.yaml +9 -0
  188. data/sig/shims/ast/2.4/ast.rbs +73 -0
  189. data/sig/shims/parser/3.2.0.1/builders/default.rbs +195 -0
  190. data/sig/shims/parser/3.2.0.1/manifest.yaml +7 -0
  191. data/sig/shims/parser/3.2.0.1/parser.rbs +201 -0
  192. data/sig/shims/parser/3.2.0.1/polyfill.rbs +4 -0
  193. data/sig/shims/thor/1.2.0.1/.rbs_meta.yaml +9 -0
  194. data/sig/shims/thor/1.2.0.1/manifest.yaml +7 -0
  195. data/sig/shims/thor/1.2.0.1/thor.rbs +17 -0
  196. data/solargraph.gemspec +32 -10
  197. metadata +237 -37
  198. data/lib/.rubocop.yml +0 -22
  199. data/lib/solargraph/cache.rb +0 -77
  200. data/lib/solargraph/parser/node_methods.rb +0 -83
@@ -0,0 +1,17 @@
1
+ class Thor
2
+ class Group
3
+ end
4
+
5
+ module Actions
6
+ class CreateFile
7
+ end
8
+
9
+ def create_file: (String destination, String data, ?verbose: bool) -> String
10
+ | (String destination, ?verbose: bool) { () -> String } -> String
11
+ end
12
+
13
+ class Error
14
+ end
15
+
16
+ def self.start: (Array[String] given_args, ?Hash[Symbol, untyped] config) -> void
17
+ end
data/solargraph.gemspec CHANGED
@@ -2,6 +2,7 @@ $LOAD_PATH.unshift File.dirname(__FILE__) + '/lib'
2
2
  require 'solargraph/version'
3
3
  require 'date'
4
4
 
5
+ # @param s [Gem::Specification]
5
6
  Gem::Specification.new do |s|
6
7
  s.name = 'solargraph'
7
8
  s.version = Solargraph::VERSION
@@ -11,7 +12,10 @@ Gem::Specification.new do |s|
11
12
  s.authors = ["Fred Snyder"]
12
13
  s.email = 'admin@castwide.com'
13
14
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
14
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
+ # @sg-ignore Need backtick support
16
+ # @type [String]
17
+ all_files = `git ls-files -z`
18
+ all_files.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
19
  end
16
20
  s.homepage = 'https://solargraph.org'
17
21
  s.license = 'MIT'
@@ -20,34 +24,52 @@ Gem::Specification.new do |s|
20
24
  s.metadata["bug_tracker_uri"] = "https://github.com/castwide/solargraph/issues"
21
25
  s.metadata["changelog_uri"] = "https://github.com/castwide/solargraph/blob/master/CHANGELOG.md"
22
26
  s.metadata["source_code_uri"] = "https://github.com/castwide/solargraph"
27
+ s.metadata["rubygems_mfa_required"] = "true"
23
28
 
24
29
  s.required_ruby_version = '>= 3.0'
25
30
 
31
+ s.add_runtime_dependency 'ast', '~> 2.4.3'
26
32
  s.add_runtime_dependency 'backport', '~> 1.2'
27
- s.add_runtime_dependency 'benchmark'
28
- s.add_runtime_dependency 'bundler', '~> 2.0'
33
+ s.add_runtime_dependency 'benchmark', '~> 0.4'
34
+ s.add_runtime_dependency 'bundler', '>= 2.0'
29
35
  s.add_runtime_dependency 'diff-lcs', '~> 1.4'
30
- s.add_runtime_dependency 'jaro_winkler', '~> 1.6'
36
+ s.add_runtime_dependency 'jaro_winkler', '~> 1.6', '>= 1.6.1'
31
37
  s.add_runtime_dependency 'kramdown', '~> 2.3'
32
38
  s.add_runtime_dependency 'kramdown-parser-gfm', '~> 1.1'
33
39
  s.add_runtime_dependency 'logger', '~> 1.6'
34
40
  s.add_runtime_dependency 'observer', '~> 0.1'
35
41
  s.add_runtime_dependency 'ostruct', '~> 0.6'
42
+ s.add_runtime_dependency 'open3', '~> 0.2.1'
36
43
  s.add_runtime_dependency 'parser', '~> 3.0'
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'
44
+ s.add_runtime_dependency 'prism', '~> 1.4'
45
+ s.add_runtime_dependency 'rbs', ['>= 3.6.1', '<= 4.0.0.dev.4']
46
+ s.add_runtime_dependency 'reverse_markdown', '~> 3.0'
47
+ s.add_runtime_dependency 'rubocop', '~> 1.76'
40
48
  s.add_runtime_dependency 'thor', '~> 1.0'
41
49
  s.add_runtime_dependency 'tilt', '~> 2.0'
42
50
  s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
43
51
  s.add_runtime_dependency 'yard-solargraph', '~> 0.1'
52
+ s.add_runtime_dependency 'yard-activesupport-concern', '~> 0.0'
44
53
 
45
- s.add_development_dependency 'pry'
54
+ s.add_development_dependency 'pry', '~> 0.15'
46
55
  s.add_development_dependency 'public_suffix', '~> 3.1'
47
56
  s.add_development_dependency 'rake', '~> 13.2'
48
57
  s.add_development_dependency 'rspec', '~> 3.5'
49
- s.add_development_dependency 'simplecov', '~> 0.14'
58
+ #
59
+ # very specific development-time RuboCop version patterns for CI
60
+ # stability - feel free to update in an isolated PR
61
+ #
62
+ # even more specific on RuboCop itself, which is written into _todo
63
+ # file.
64
+ s.add_development_dependency 'rubocop', '~> 1.80.0.0'
65
+ s.add_development_dependency 'rubocop-rake', '~> 0.7.1'
66
+ s.add_development_dependency 'rubocop-rspec', '~> 3.6.0'
67
+ s.add_development_dependency 'rubocop-yard', '~> 1.0.0'
68
+ s.add_development_dependency 'simplecov', '~> 0.21'
69
+ s.add_development_dependency 'simplecov-lcov', '~> 0.8'
70
+ s.add_development_dependency 'undercover', '~> 0.7'
71
+ s.add_development_dependency 'overcommit', '~> 0.68.0'
50
72
  s.add_development_dependency 'webmock', '~> 3.6'
51
73
  # work around missing yard dependency needed as of Ruby 3.5
52
- s.add_development_dependency 'irb'
74
+ s.add_development_dependency 'irb', '~> 1.15'
53
75
  end
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.54.0
4
+ version: 0.58.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-04-14 00:00:00.000000000 Z
10
+ date: 2026-01-01 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ast
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 2.4.3
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 2.4.3
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: backport
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -28,28 +41,28 @@ dependencies:
28
41
  name: benchmark
29
42
  requirement: !ruby/object:Gem::Requirement
30
43
  requirements:
31
- - - ">="
44
+ - - "~>"
32
45
  - !ruby/object:Gem::Version
33
- version: '0'
46
+ version: '0.4'
34
47
  type: :runtime
35
48
  prerelease: false
36
49
  version_requirements: !ruby/object:Gem::Requirement
37
50
  requirements:
38
- - - ">="
51
+ - - "~>"
39
52
  - !ruby/object:Gem::Version
40
- version: '0'
53
+ version: '0.4'
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: bundler
43
56
  requirement: !ruby/object:Gem::Requirement
44
57
  requirements:
45
- - - "~>"
58
+ - - ">="
46
59
  - !ruby/object:Gem::Version
47
60
  version: '2.0'
48
61
  type: :runtime
49
62
  prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
- - - "~>"
65
+ - - ">="
53
66
  - !ruby/object:Gem::Version
54
67
  version: '2.0'
55
68
  - !ruby/object:Gem::Dependency
@@ -73,6 +86,9 @@ dependencies:
73
86
  - - "~>"
74
87
  - !ruby/object:Gem::Version
75
88
  version: '1.6'
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 1.6.1
76
92
  type: :runtime
77
93
  prerelease: false
78
94
  version_requirements: !ruby/object:Gem::Requirement
@@ -80,6 +96,9 @@ dependencies:
80
96
  - - "~>"
81
97
  - !ruby/object:Gem::Version
82
98
  version: '1.6'
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: 1.6.1
83
102
  - !ruby/object:Gem::Dependency
84
103
  name: kramdown
85
104
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +169,20 @@ dependencies:
150
169
  - - "~>"
151
170
  - !ruby/object:Gem::Version
152
171
  version: '0.6'
172
+ - !ruby/object:Gem::Dependency
173
+ name: open3
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: 0.2.1
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: 0.2.1
153
186
  - !ruby/object:Gem::Dependency
154
187
  name: parser
155
188
  requirement: !ruby/object:Gem::Requirement
@@ -165,53 +198,67 @@ dependencies:
165
198
  - !ruby/object:Gem::Version
166
199
  version: '3.0'
167
200
  - !ruby/object:Gem::Dependency
168
- name: rbs
201
+ name: prism
169
202
  requirement: !ruby/object:Gem::Requirement
170
203
  requirements:
171
204
  - - "~>"
172
205
  - !ruby/object:Gem::Version
173
- version: '3.3'
206
+ version: '1.4'
174
207
  type: :runtime
175
208
  prerelease: false
176
209
  version_requirements: !ruby/object:Gem::Requirement
177
210
  requirements:
178
211
  - - "~>"
179
212
  - !ruby/object:Gem::Version
180
- version: '3.3'
213
+ version: '1.4'
181
214
  - !ruby/object:Gem::Dependency
182
- name: reverse_markdown
215
+ name: rbs
183
216
  requirement: !ruby/object:Gem::Requirement
184
217
  requirements:
185
218
  - - ">="
186
219
  - !ruby/object:Gem::Version
187
- version: '2.0'
188
- - - "<"
220
+ version: 3.6.1
221
+ - - "<="
189
222
  - !ruby/object:Gem::Version
190
- version: '4'
223
+ version: 4.0.0.dev.4
191
224
  type: :runtime
192
225
  prerelease: false
193
226
  version_requirements: !ruby/object:Gem::Requirement
194
227
  requirements:
195
228
  - - ">="
196
229
  - !ruby/object:Gem::Version
197
- version: '2.0'
198
- - - "<"
230
+ version: 3.6.1
231
+ - - "<="
199
232
  - !ruby/object:Gem::Version
200
- version: '4'
233
+ version: 4.0.0.dev.4
234
+ - !ruby/object:Gem::Dependency
235
+ name: reverse_markdown
236
+ requirement: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
239
+ - !ruby/object:Gem::Version
240
+ version: '3.0'
241
+ type: :runtime
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - "~>"
246
+ - !ruby/object:Gem::Version
247
+ version: '3.0'
201
248
  - !ruby/object:Gem::Dependency
202
249
  name: rubocop
203
250
  requirement: !ruby/object:Gem::Requirement
204
251
  requirements:
205
252
  - - "~>"
206
253
  - !ruby/object:Gem::Version
207
- version: '1.38'
254
+ version: '1.76'
208
255
  type: :runtime
209
256
  prerelease: false
210
257
  version_requirements: !ruby/object:Gem::Requirement
211
258
  requirements:
212
259
  - - "~>"
213
260
  - !ruby/object:Gem::Version
214
- version: '1.38'
261
+ version: '1.76'
215
262
  - !ruby/object:Gem::Dependency
216
263
  name: thor
217
264
  requirement: !ruby/object:Gem::Requirement
@@ -274,20 +321,34 @@ dependencies:
274
321
  - - "~>"
275
322
  - !ruby/object:Gem::Version
276
323
  version: '0.1'
324
+ - !ruby/object:Gem::Dependency
325
+ name: yard-activesupport-concern
326
+ requirement: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - "~>"
329
+ - !ruby/object:Gem::Version
330
+ version: '0.0'
331
+ type: :runtime
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: '0.0'
277
338
  - !ruby/object:Gem::Dependency
278
339
  name: pry
279
340
  requirement: !ruby/object:Gem::Requirement
280
341
  requirements:
281
- - - ">="
342
+ - - "~>"
282
343
  - !ruby/object:Gem::Version
283
- version: '0'
344
+ version: '0.15'
284
345
  type: :development
285
346
  prerelease: false
286
347
  version_requirements: !ruby/object:Gem::Requirement
287
348
  requirements:
288
- - - ">="
349
+ - - "~>"
289
350
  - !ruby/object:Gem::Version
290
- version: '0'
351
+ version: '0.15'
291
352
  - !ruby/object:Gem::Dependency
292
353
  name: public_suffix
293
354
  requirement: !ruby/object:Gem::Requirement
@@ -330,20 +391,118 @@ dependencies:
330
391
  - - "~>"
331
392
  - !ruby/object:Gem::Version
332
393
  version: '3.5'
394
+ - !ruby/object:Gem::Dependency
395
+ name: rubocop
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: 1.80.0.0
401
+ type: :development
402
+ prerelease: false
403
+ version_requirements: !ruby/object:Gem::Requirement
404
+ requirements:
405
+ - - "~>"
406
+ - !ruby/object:Gem::Version
407
+ version: 1.80.0.0
408
+ - !ruby/object:Gem::Dependency
409
+ name: rubocop-rake
410
+ requirement: !ruby/object:Gem::Requirement
411
+ requirements:
412
+ - - "~>"
413
+ - !ruby/object:Gem::Version
414
+ version: 0.7.1
415
+ type: :development
416
+ prerelease: false
417
+ version_requirements: !ruby/object:Gem::Requirement
418
+ requirements:
419
+ - - "~>"
420
+ - !ruby/object:Gem::Version
421
+ version: 0.7.1
422
+ - !ruby/object:Gem::Dependency
423
+ name: rubocop-rspec
424
+ requirement: !ruby/object:Gem::Requirement
425
+ requirements:
426
+ - - "~>"
427
+ - !ruby/object:Gem::Version
428
+ version: 3.6.0
429
+ type: :development
430
+ prerelease: false
431
+ version_requirements: !ruby/object:Gem::Requirement
432
+ requirements:
433
+ - - "~>"
434
+ - !ruby/object:Gem::Version
435
+ version: 3.6.0
436
+ - !ruby/object:Gem::Dependency
437
+ name: rubocop-yard
438
+ requirement: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - "~>"
441
+ - !ruby/object:Gem::Version
442
+ version: 1.0.0
443
+ type: :development
444
+ prerelease: false
445
+ version_requirements: !ruby/object:Gem::Requirement
446
+ requirements:
447
+ - - "~>"
448
+ - !ruby/object:Gem::Version
449
+ version: 1.0.0
333
450
  - !ruby/object:Gem::Dependency
334
451
  name: simplecov
335
452
  requirement: !ruby/object:Gem::Requirement
336
453
  requirements:
337
454
  - - "~>"
338
455
  - !ruby/object:Gem::Version
339
- version: '0.14'
456
+ version: '0.21'
457
+ type: :development
458
+ prerelease: false
459
+ version_requirements: !ruby/object:Gem::Requirement
460
+ requirements:
461
+ - - "~>"
462
+ - !ruby/object:Gem::Version
463
+ version: '0.21'
464
+ - !ruby/object:Gem::Dependency
465
+ name: simplecov-lcov
466
+ requirement: !ruby/object:Gem::Requirement
467
+ requirements:
468
+ - - "~>"
469
+ - !ruby/object:Gem::Version
470
+ version: '0.8'
471
+ type: :development
472
+ prerelease: false
473
+ version_requirements: !ruby/object:Gem::Requirement
474
+ requirements:
475
+ - - "~>"
476
+ - !ruby/object:Gem::Version
477
+ version: '0.8'
478
+ - !ruby/object:Gem::Dependency
479
+ name: undercover
480
+ requirement: !ruby/object:Gem::Requirement
481
+ requirements:
482
+ - - "~>"
483
+ - !ruby/object:Gem::Version
484
+ version: '0.7'
340
485
  type: :development
341
486
  prerelease: false
342
487
  version_requirements: !ruby/object:Gem::Requirement
343
488
  requirements:
344
489
  - - "~>"
345
490
  - !ruby/object:Gem::Version
346
- version: '0.14'
491
+ version: '0.7'
492
+ - !ruby/object:Gem::Dependency
493
+ name: overcommit
494
+ requirement: !ruby/object:Gem::Requirement
495
+ requirements:
496
+ - - "~>"
497
+ - !ruby/object:Gem::Version
498
+ version: 0.68.0
499
+ type: :development
500
+ prerelease: false
501
+ version_requirements: !ruby/object:Gem::Requirement
502
+ requirements:
503
+ - - "~>"
504
+ - !ruby/object:Gem::Version
505
+ version: 0.68.0
347
506
  - !ruby/object:Gem::Dependency
348
507
  name: webmock
349
508
  requirement: !ruby/object:Gem::Requirement
@@ -362,16 +521,16 @@ dependencies:
362
521
  name: irb
363
522
  requirement: !ruby/object:Gem::Requirement
364
523
  requirements:
365
- - - ">="
524
+ - - "~>"
366
525
  - !ruby/object:Gem::Version
367
- version: '0'
526
+ version: '1.15'
368
527
  type: :development
369
528
  prerelease: false
370
529
  version_requirements: !ruby/object:Gem::Requirement
371
530
  requirements:
372
- - - ">="
531
+ - - "~>"
373
532
  - !ruby/object:Gem::Version
374
- version: '0'
533
+ version: '1.15'
375
534
  description: IDE tools for code completion, inline documentation, and static analysis
376
535
  email: admin@castwide.com
377
536
  executables:
@@ -380,11 +539,15 @@ extensions: []
380
539
  extra_rdoc_files: []
381
540
  files:
382
541
  - ".github/FUNDING.yml"
542
+ - ".github/workflows/linting.yml"
383
543
  - ".github/workflows/plugins.yml"
384
544
  - ".github/workflows/rspec.yml"
385
545
  - ".github/workflows/typecheck.yml"
386
546
  - ".gitignore"
547
+ - ".overcommit.yml"
387
548
  - ".rspec"
549
+ - ".rubocop.yml"
550
+ - ".rubocop_todo.yml"
388
551
  - ".yardopts"
389
552
  - CHANGELOG.md
390
553
  - Gemfile
@@ -393,22 +556,29 @@ files:
393
556
  - Rakefile
394
557
  - SPONSORS.md
395
558
  - bin/solargraph
396
- - lib/.rubocop.yml
397
559
  - lib/solargraph.rb
398
560
  - lib/solargraph/api_map.rb
399
561
  - lib/solargraph/api_map/cache.rb
562
+ - lib/solargraph/api_map/constants.rb
563
+ - lib/solargraph/api_map/index.rb
400
564
  - lib/solargraph/api_map/source_to_yard.rb
401
565
  - lib/solargraph/api_map/store.rb
402
566
  - lib/solargraph/bench.rb
403
- - lib/solargraph/cache.rb
404
567
  - lib/solargraph/complex_type.rb
405
568
  - lib/solargraph/complex_type/type_methods.rb
406
569
  - lib/solargraph/complex_type/unique_type.rb
407
570
  - lib/solargraph/convention.rb
571
+ - lib/solargraph/convention/active_support_concern.rb
408
572
  - lib/solargraph/convention/base.rb
573
+ - lib/solargraph/convention/data_definition.rb
574
+ - lib/solargraph/convention/data_definition/data_assignment_node.rb
575
+ - lib/solargraph/convention/data_definition/data_definition_node.rb
409
576
  - lib/solargraph/convention/gemfile.rb
410
577
  - lib/solargraph/convention/gemspec.rb
411
578
  - lib/solargraph/convention/rakefile.rb
579
+ - lib/solargraph/convention/struct_definition.rb
580
+ - lib/solargraph/convention/struct_definition/struct_assignment_node.rb
581
+ - lib/solargraph/convention/struct_definition/struct_definition_node.rb
412
582
  - lib/solargraph/converters/dd.rb
413
583
  - lib/solargraph/converters/dl.rb
414
584
  - lib/solargraph/converters/dt.rb
@@ -423,6 +593,7 @@ files:
423
593
  - lib/solargraph/diagnostics/update_errors.rb
424
594
  - lib/solargraph/doc_map.rb
425
595
  - lib/solargraph/environ.rb
596
+ - lib/solargraph/equality.rb
426
597
  - lib/solargraph/gem_pins.rb
427
598
  - lib/solargraph/language_server.rb
428
599
  - lib/solargraph/language_server/completion_item_kinds.rb
@@ -491,7 +662,7 @@ files:
491
662
  - lib/solargraph/page.rb
492
663
  - lib/solargraph/parser.rb
493
664
  - lib/solargraph/parser/comment_ripper.rb
494
- - lib/solargraph/parser/node_methods.rb
665
+ - lib/solargraph/parser/flow_sensitive_typing.rb
495
666
  - lib/solargraph/parser/node_processor.rb
496
667
  - lib/solargraph/parser/node_processor/base.rb
497
668
  - lib/solargraph/parser/parser_gem.rb
@@ -501,6 +672,7 @@ files:
501
672
  - lib/solargraph/parser/parser_gem/node_methods.rb
502
673
  - lib/solargraph/parser/parser_gem/node_processors.rb
503
674
  - lib/solargraph/parser/parser_gem/node_processors/alias_node.rb
675
+ - lib/solargraph/parser/parser_gem/node_processors/and_node.rb
504
676
  - lib/solargraph/parser/parser_gem/node_processors/args_node.rb
505
677
  - lib/solargraph/parser/parser_gem/node_processors/begin_node.rb
506
678
  - lib/solargraph/parser/parser_gem/node_processors/block_node.rb
@@ -509,21 +681,27 @@ files:
509
681
  - lib/solargraph/parser/parser_gem/node_processors/def_node.rb
510
682
  - lib/solargraph/parser/parser_gem/node_processors/defs_node.rb
511
683
  - lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb
684
+ - lib/solargraph/parser/parser_gem/node_processors/if_node.rb
512
685
  - lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb
513
686
  - lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb
514
687
  - lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb
515
688
  - lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb
689
+ - lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb
516
690
  - lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb
517
691
  - lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb
518
692
  - lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb
519
693
  - lib/solargraph/parser/parser_gem/node_processors/send_node.rb
520
694
  - lib/solargraph/parser/parser_gem/node_processors/sym_node.rb
695
+ - lib/solargraph/parser/parser_gem/node_processors/until_node.rb
696
+ - lib/solargraph/parser/parser_gem/node_processors/while_node.rb
521
697
  - lib/solargraph/parser/region.rb
522
698
  - lib/solargraph/parser/snippet.rb
523
699
  - lib/solargraph/pin.rb
524
700
  - lib/solargraph/pin/base.rb
525
701
  - lib/solargraph/pin/base_variable.rb
526
702
  - lib/solargraph/pin/block.rb
703
+ - lib/solargraph/pin/breakable.rb
704
+ - lib/solargraph/pin/callable.rb
527
705
  - lib/solargraph/pin/class_variable.rb
528
706
  - lib/solargraph/pin/closure.rb
529
707
  - lib/solargraph/pin/common.rb
@@ -553,6 +731,9 @@ files:
553
731
  - lib/solargraph/pin/signature.rb
554
732
  - lib/solargraph/pin/singleton.rb
555
733
  - lib/solargraph/pin/symbol.rb
734
+ - lib/solargraph/pin/until.rb
735
+ - lib/solargraph/pin/while.rb
736
+ - lib/solargraph/pin_cache.rb
556
737
  - lib/solargraph/position.rb
557
738
  - lib/solargraph/range.rb
558
739
  - lib/solargraph/rbs_map.rb
@@ -589,6 +770,7 @@ files:
589
770
  - lib/solargraph/source_map.rb
590
771
  - lib/solargraph/source_map/clip.rb
591
772
  - lib/solargraph/source_map/completion.rb
773
+ - lib/solargraph/source_map/data.rb
592
774
  - lib/solargraph/source_map/mapper.rb
593
775
  - lib/solargraph/type_checker.rb
594
776
  - lib/solargraph/type_checker/checks.rb
@@ -605,6 +787,7 @@ files:
605
787
  - lib/solargraph/views/search.erb
606
788
  - lib/solargraph/workspace.rb
607
789
  - lib/solargraph/workspace/config.rb
790
+ - lib/solargraph/workspace/require_paths.rb
608
791
  - lib/solargraph/yard_map.rb
609
792
  - lib/solargraph/yard_map/cache.rb
610
793
  - lib/solargraph/yard_map/helpers.rb
@@ -615,6 +798,24 @@ files:
615
798
  - lib/solargraph/yard_map/to_method.rb
616
799
  - lib/solargraph/yard_tags.rb
617
800
  - lib/solargraph/yardoc.rb
801
+ - rbs/fills/bundler/0/bundler.rbs
802
+ - rbs/fills/open3/0/open3.rbs
803
+ - rbs/fills/rubygems/0/basic_specification.rbs
804
+ - rbs/fills/rubygems/0/errors.rbs
805
+ - rbs/fills/rubygems/0/spec_fetcher.rbs
806
+ - rbs/fills/rubygems/0/specification.rbs
807
+ - rbs/fills/tuple/tuple.rbs
808
+ - rbs_collection.yaml
809
+ - sig/shims/ast/0/node.rbs
810
+ - sig/shims/ast/2.4/.rbs_meta.yaml
811
+ - sig/shims/ast/2.4/ast.rbs
812
+ - sig/shims/parser/3.2.0.1/builders/default.rbs
813
+ - sig/shims/parser/3.2.0.1/manifest.yaml
814
+ - sig/shims/parser/3.2.0.1/parser.rbs
815
+ - sig/shims/parser/3.2.0.1/polyfill.rbs
816
+ - sig/shims/thor/1.2.0.1/.rbs_meta.yaml
817
+ - sig/shims/thor/1.2.0.1/manifest.yaml
818
+ - sig/shims/thor/1.2.0.1/thor.rbs
618
819
  - solargraph.gemspec
619
820
  homepage: https://solargraph.org
620
821
  licenses:
@@ -624,7 +825,7 @@ metadata:
624
825
  bug_tracker_uri: https://github.com/castwide/solargraph/issues
625
826
  changelog_uri: https://github.com/castwide/solargraph/blob/master/CHANGELOG.md
626
827
  source_code_uri: https://github.com/castwide/solargraph
627
- post_install_message:
828
+ rubygems_mfa_required: 'true'
628
829
  rdoc_options: []
629
830
  require_paths:
630
831
  - lib
@@ -639,8 +840,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
639
840
  - !ruby/object:Gem::Version
640
841
  version: '0'
641
842
  requirements: []
642
- rubygems_version: 3.3.7
643
- signing_key:
843
+ rubygems_version: 3.6.7
644
844
  specification_version: 4
645
845
  summary: A Ruby language server
646
846
  test_files: []
data/lib/.rubocop.yml DELETED
@@ -1,22 +0,0 @@
1
- AllCops:
2
- NewCops: enable
3
- Style/MethodDefParentheses:
4
- Enabled: false
5
- Layout/EmptyLineAfterGuardClause:
6
- Enabled: false
7
- Layout/SpaceAroundMethodCallOperator:
8
- Enabled: true
9
- Lint/RaiseException:
10
- Enabled: true
11
- Lint/StructNewOverride:
12
- Enabled: true
13
- Metrics/MethodLength:
14
- Max: 25
15
- Style/ExponentialNotation:
16
- Enabled: true
17
- Style/HashEachMethods:
18
- Enabled: true
19
- Style/HashTransformKeys:
20
- Enabled: true
21
- Style/HashTransformValues:
22
- Enabled: true