solargraph 0.56.2 → 0.57.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 (122) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linting.yml +125 -0
  3. data/.github/workflows/plugins.yml +148 -6
  4. data/.github/workflows/rspec.yml +39 -4
  5. data/.github/workflows/typecheck.yml +5 -2
  6. data/.gitignore +5 -0
  7. data/.overcommit.yml +72 -0
  8. data/.rspec +1 -0
  9. data/.rubocop.yml +66 -0
  10. data/.rubocop_todo.yml +2627 -0
  11. data/.yardopts +1 -0
  12. data/CHANGELOG.md +42 -0
  13. data/README.md +8 -4
  14. data/Rakefile +125 -13
  15. data/lib/solargraph/api_map/cache.rb +3 -2
  16. data/lib/solargraph/api_map/constants.rb +218 -0
  17. data/lib/solargraph/api_map/index.rb +20 -26
  18. data/lib/solargraph/api_map/source_to_yard.rb +10 -4
  19. data/lib/solargraph/api_map/store.rb +126 -18
  20. data/lib/solargraph/api_map.rb +212 -234
  21. data/lib/solargraph/bench.rb +1 -0
  22. data/lib/solargraph/complex_type/type_methods.rb +1 -0
  23. data/lib/solargraph/complex_type/unique_type.rb +7 -7
  24. data/lib/solargraph/complex_type.rb +5 -1
  25. data/lib/solargraph/convention/active_support_concern.rb +111 -0
  26. data/lib/solargraph/convention/base.rb +17 -0
  27. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +1 -0
  28. data/lib/solargraph/convention/data_definition/data_definition_node.rb +3 -1
  29. data/lib/solargraph/convention/data_definition.rb +2 -1
  30. data/lib/solargraph/convention/gemspec.rb +1 -1
  31. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +1 -0
  32. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +3 -1
  33. data/lib/solargraph/convention/struct_definition.rb +36 -13
  34. data/lib/solargraph/convention.rb +31 -2
  35. data/lib/solargraph/diagnostics/rubocop.rb +6 -1
  36. data/lib/solargraph/diagnostics/rubocop_helpers.rb +1 -1
  37. data/lib/solargraph/doc_map.rb +40 -12
  38. data/lib/solargraph/environ.rb +9 -2
  39. data/lib/solargraph/gem_pins.rb +17 -11
  40. data/lib/solargraph/language_server/host/dispatch.rb +2 -0
  41. data/lib/solargraph/language_server/host/message_worker.rb +3 -0
  42. data/lib/solargraph/language_server/host.rb +2 -1
  43. data/lib/solargraph/language_server/message/base.rb +2 -1
  44. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +1 -1
  45. data/lib/solargraph/language_server/message/text_document/definition.rb +2 -0
  46. data/lib/solargraph/language_server/message/text_document/formatting.rb +16 -2
  47. data/lib/solargraph/language_server/message/text_document/type_definition.rb +1 -0
  48. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
  49. data/lib/solargraph/language_server/progress.rb +8 -0
  50. data/lib/solargraph/language_server/request.rb +1 -0
  51. data/lib/solargraph/library.rb +8 -15
  52. data/lib/solargraph/location.rb +2 -0
  53. data/lib/solargraph/logging.rb +11 -2
  54. data/lib/solargraph/page.rb +4 -0
  55. data/lib/solargraph/parser/comment_ripper.rb +8 -1
  56. data/lib/solargraph/parser/flow_sensitive_typing.rb +32 -4
  57. data/lib/solargraph/parser/node_methods.rb +2 -2
  58. data/lib/solargraph/parser/node_processor/base.rb +1 -1
  59. data/lib/solargraph/parser/node_processor.rb +6 -2
  60. data/lib/solargraph/parser/parser_gem/class_methods.rb +1 -1
  61. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +1 -0
  62. data/lib/solargraph/parser/parser_gem/node_chainer.rb +3 -1
  63. data/lib/solargraph/parser/parser_gem/node_methods.rb +4 -2
  64. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +3 -2
  65. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +2 -0
  66. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +3 -0
  67. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +35 -14
  68. data/lib/solargraph/parser/region.rb +3 -0
  69. data/lib/solargraph/parser/snippet.rb +2 -0
  70. data/lib/solargraph/pin/base.rb +50 -8
  71. data/lib/solargraph/pin/base_variable.rb +1 -2
  72. data/lib/solargraph/pin/callable.rb +9 -0
  73. data/lib/solargraph/pin/closure.rb +2 -0
  74. data/lib/solargraph/pin/common.rb +6 -2
  75. data/lib/solargraph/pin/constant.rb +2 -0
  76. data/lib/solargraph/pin/delegated_method.rb +1 -0
  77. data/lib/solargraph/pin/local_variable.rb +4 -1
  78. data/lib/solargraph/pin/method.rb +8 -5
  79. data/lib/solargraph/pin/method_alias.rb +3 -0
  80. data/lib/solargraph/pin/parameter.rb +18 -8
  81. data/lib/solargraph/pin/proxy_type.rb +1 -0
  82. data/lib/solargraph/pin/reference/override.rb +15 -1
  83. data/lib/solargraph/pin/reference/superclass.rb +5 -0
  84. data/lib/solargraph/pin/reference.rb +26 -0
  85. data/lib/solargraph/pin/search.rb +3 -1
  86. data/lib/solargraph/pin/signature.rb +2 -0
  87. data/lib/solargraph/pin/symbol.rb +5 -0
  88. data/lib/solargraph/pin_cache.rb +64 -4
  89. data/lib/solargraph/position.rb +2 -0
  90. data/lib/solargraph/range.rb +1 -0
  91. data/lib/solargraph/rbs_map/conversions.rb +7 -5
  92. data/lib/solargraph/rbs_map/core_map.rb +3 -0
  93. data/lib/solargraph/rbs_map.rb +15 -2
  94. data/lib/solargraph/shell.rb +3 -0
  95. data/lib/solargraph/source/chain/link.rb +10 -1
  96. data/lib/solargraph/source/chain.rb +9 -2
  97. data/lib/solargraph/source/change.rb +2 -2
  98. data/lib/solargraph/source/cursor.rb +2 -3
  99. data/lib/solargraph/source/source_chainer.rb +1 -1
  100. data/lib/solargraph/source.rb +5 -2
  101. data/lib/solargraph/source_map/clip.rb +1 -1
  102. data/lib/solargraph/source_map/data.rb +4 -0
  103. data/lib/solargraph/source_map/mapper.rb +4 -2
  104. data/lib/solargraph/source_map.rb +21 -14
  105. data/lib/solargraph/type_checker/param_def.rb +2 -0
  106. data/lib/solargraph/type_checker/rules.rb +8 -0
  107. data/lib/solargraph/type_checker.rb +173 -120
  108. data/lib/solargraph/version.rb +1 -1
  109. data/lib/solargraph/workspace/config.rb +0 -2
  110. data/lib/solargraph/workspace/require_paths.rb +98 -0
  111. data/lib/solargraph/workspace.rb +16 -48
  112. data/lib/solargraph/yard_map/mapper/to_method.rb +2 -2
  113. data/lib/solargraph/yardoc.rb +16 -3
  114. data/lib/solargraph.rb +2 -0
  115. data/rbs/fills/tuple.rbs +2 -3
  116. data/sig/shims/parser/3.2.0.1/builders/default.rbs +195 -0
  117. data/sig/shims/thor/1.2.0.1/.rbs_meta.yaml +9 -0
  118. data/sig/shims/thor/1.2.0.1/manifest.yaml +7 -0
  119. data/sig/shims/thor/1.2.0.1/thor.rbs +17 -0
  120. data/solargraph.gemspec +14 -4
  121. metadata +123 -9
  122. data/lib/.rubocop.yml +0 -22
data/rbs/fills/tuple.rbs CHANGED
@@ -45,7 +45,6 @@ module Solargraph
45
45
  | (7 index) -> H
46
46
  | (8 index) -> I
47
47
  | (9 index) -> J
48
- | (0 index) -> K
49
48
  | (int index) -> nil
50
49
 
51
50
  # <!--
@@ -133,7 +132,7 @@ module Solargraph
133
132
  | [T] (7 index, T default) -> (H | T)
134
133
  | [T] (8 index, T default) -> (I | T)
135
134
  | [T] (9 index, T default) -> (J | T)
136
- | [T] (int index, T default) -> (A | B | C | D | E | F |G | H | I | J | T)
135
+ | [T] (int index, T default) -> (A | B | C | D | E | F | G | H | I | J | T)
137
136
  | [T] (0 index) { (int index) -> T } -> (A | T)
138
137
  | [T] (1 index) { (int index) -> T } -> (B | T)
139
138
  | [T] (2 index) { (int index) -> T } -> (C | T)
@@ -144,7 +143,7 @@ module Solargraph
144
143
  | [T] (7 index) { (int index) -> T } -> (H | T)
145
144
  | [T] (8 index) { (int index) -> T } -> (I | T)
146
145
  | [T] (9 index) { (int index) -> T } -> (J | T)
147
- | [T] (int index) { (int index) -> T } -> (A | B | C | D | E | F |G | H | I | J | T)
146
+ | [T] (int index) { (int index) -> T } -> (A | B | C | D | E | F | G | H | I | J | T)
148
147
  end
149
148
  end
150
149
  end
@@ -0,0 +1,195 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Parser
4
+ ##
5
+ # Default AST builder. Uses {AST::Node}s.
6
+ #
7
+ module Builders
8
+ class Default
9
+ ##
10
+ # AST compatibility attribute; since `-> {}` is not semantically
11
+ # equivalent to `lambda {}`, all new code should set this attribute
12
+ # to true.
13
+ #
14
+ # If set to false (the default), `-> {}` is emitted as
15
+ # `s(:block, s(:send, nil, :lambda), s(:args), nil)`.
16
+ #
17
+ # If set to true, `-> {}` is emitted as
18
+ # `s(:block, s(:lambda), s(:args), nil)`.
19
+ #
20
+ # @return [Boolean]
21
+ attr_accessor self.emit_lambda: bool
22
+
23
+ ##
24
+ # AST compatibility attribute; block arguments of `m { |a| }` are
25
+ # not semantically equivalent to block arguments of `m { |a,| }` or `m { |a, b| }`,
26
+ # all new code should set this attribute to true.
27
+ #
28
+ # If set to false (the default), arguments of `m { |a| }` are emitted as
29
+ # `s(:args, s(:arg, :a))`.
30
+ #
31
+ # If set to true, arguments of `m { |a| }` are emitted as
32
+ # `s(:args, s(:procarg0, :a)).
33
+ #
34
+ # @return [Boolean]
35
+ attr_accessor self.emit_procarg0: bool
36
+
37
+ ##
38
+ # AST compatibility attribute; locations of `__ENCODING__` are not the same
39
+ # as locations of `Encoding::UTF_8` causing problems during rewriting,
40
+ # all new code should set this attribute to true.
41
+ #
42
+ # If set to false (the default), `__ENCODING__` is emitted as
43
+ # ` s(:const, s(:const, nil, :Encoding), :UTF_8)`.
44
+ #
45
+ # If set to true, `__ENCODING__` is emitted as
46
+ # `s(:__ENCODING__)`.
47
+ #
48
+ # @return [Boolean]
49
+ attr_accessor self.emit_encoding: bool
50
+
51
+ ##
52
+ # AST compatibility attribute; indexed assignment, `x[] = 1`, is not
53
+ # semantically equivalent to calling the method directly, `x.[]=(1)`.
54
+ # Specifically, in the former case, the expression's value is always 1,
55
+ # and in the latter case, the expression's value is the return value
56
+ # of the `[]=` method.
57
+ #
58
+ # If set to false (the default), `self[1]` is emitted as
59
+ # `s(:send, s(:self), :[], s(:int, 1))`, and `self[1] = 2` is
60
+ # emitted as `s(:send, s(:self), :[]=, s(:int, 1), s(:int, 2))`.
61
+ #
62
+ # If set to true, `self[1]` is emitted as
63
+ # `s(:index, s(:self), s(:int, 1))`, and `self[1] = 2` is
64
+ # emitted as `s(:indexasgn, s(:self), s(:int, 1), s(:int, 2))`.
65
+ #
66
+ # @return [Boolean]
67
+ attr_accessor self.emit_index: bool
68
+
69
+ ##
70
+ # AST compatibility attribute; causes a single non-mlhs
71
+ # block argument to be wrapped in s(:procarg0).
72
+ #
73
+ # If set to false (the default), block arguments `|a|` are emitted as
74
+ # `s(:args, s(:procarg0, :a))`
75
+ #
76
+ # If set to true, block arguments `|a|` are emitted as
77
+ # `s(:args, s(:procarg0, s(:arg, :a))`
78
+ #
79
+ # @return [Boolean]
80
+ attr_accessor self.emit_arg_inside_procarg0: bool
81
+
82
+ ##
83
+ # AST compatibility attribute; arguments forwarding initially
84
+ # didn't have support for leading arguments
85
+ # (i.e. `def m(a, ...); end` was a syntax error). However, Ruby 3.0
86
+ # added support for any number of arguments in front of the `...`.
87
+ #
88
+ # If set to false (the default):
89
+ # 1. `def m(...) end` is emitted as
90
+ # s(:def, :m, s(:forward_args), nil)
91
+ # 2. `def m(a, b, ...) end` is emitted as
92
+ # s(:def, :m,
93
+ # s(:args, s(:arg, :a), s(:arg, :b), s(:forward_arg)))
94
+ #
95
+ # If set to true it uses a single format:
96
+ # 1. `def m(...) end` is emitted as
97
+ # s(:def, :m, s(:args, s(:forward_arg)))
98
+ # 2. `def m(a, b, ...) end` is emitted as
99
+ # s(:def, :m, s(:args, s(:arg, :a), s(:arg, :b), s(:forward_arg)))
100
+ #
101
+ # It does't matter that much on 2.7 (because there can't be any leading arguments),
102
+ # but on 3.0 it should be better enabled to use a single AST format.
103
+ #
104
+ # @return [Boolean]
105
+ attr_accessor self.emit_forward_arg: bool
106
+
107
+ ##
108
+ # AST compatibility attribute; Starting from Ruby 2.7 keyword arguments
109
+ # of method calls that are passed explicitly as a hash (i.e. with curly braces)
110
+ # are treated as positional arguments and Ruby 2.7 emits a warning on such method
111
+ # call. Ruby 3.0 given an ArgumentError.
112
+ #
113
+ # If set to false (the default) the last hash argument is emitted as `hash`:
114
+ #
115
+ # ```
116
+ # (send nil :foo
117
+ # (hash
118
+ # (pair
119
+ # (sym :bar)
120
+ # (int 42))))
121
+ # ```
122
+ #
123
+ # If set to true it is emitted as `kwargs`:
124
+ #
125
+ # ```
126
+ # (send nil :foo
127
+ # (kwargs
128
+ # (pair
129
+ # (sym :bar)
130
+ # (int 42))))
131
+ # ```
132
+ #
133
+ # Note that `kwargs` node is just a replacement for `hash` argument,
134
+ # so if there's are multiple arguments (or a `kwsplat`) all of them
135
+ # are wrapped into `kwargs` instead of `hash`:
136
+ #
137
+ # ```
138
+ # (send nil :foo
139
+ # (kwargs
140
+ # (pair
141
+ # (sym :a)
142
+ # (int 42))
143
+ # (kwsplat
144
+ # (send nil :b))
145
+ # (pair
146
+ # (sym :c)
147
+ # (int 10))))
148
+ # ```
149
+ attr_accessor self.emit_kwargs: bool
150
+
151
+ ##
152
+ # AST compatibility attribute; Starting from 3.0 Ruby returns
153
+ # true/false from single-line pattern matching with `in` keyword.
154
+ #
155
+ # Before 3.0 there was an exception if given value doesn't match pattern.
156
+ #
157
+ # NOTE: This attribute affects only Ruby 2.7 grammar.
158
+ # 3.0 grammar always emits `match_pattern`/`match_pattern_p`
159
+ #
160
+ # If compatibility attribute set to false `foo in bar` is emitted as `in_match`:
161
+ #
162
+ # ```
163
+ # (in-match
164
+ # (send nil :foo)
165
+ # (match-var :bar))
166
+ # ```
167
+ #
168
+ # If set to true it's emitted as `match_pattern_p`:
169
+ # ```
170
+ # (match-pattern-p
171
+ # (send nil :foo)
172
+ # (match-var :bar))
173
+ # ```
174
+ attr_accessor self.emit_match_pattern: bool
175
+
176
+ ##
177
+ # If set to true (the default), `__FILE__` and `__LINE__` are transformed to
178
+ # literal nodes. For example, `s(:str, "lib/foo.rb")` and `s(:int, 10)`.
179
+ #
180
+ # If set to false, `__FILE__` and `__LINE__` are emitted as-is,
181
+ # i.e. as `s(:__FILE__)` and `s(:__LINE__)` nodes.
182
+ #
183
+ # Source maps are identical in both cases.
184
+ #
185
+ # @return [Boolean]
186
+ attr_accessor emit_file_line_as_literals: bool
187
+
188
+ def value: (untyped token) -> untyped
189
+
190
+ def string_value: (untyped token) -> String
191
+
192
+ def loc: (untyped token) -> untyped
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: thor
3
+ version: '1.2'
4
+ source:
5
+ type: git
6
+ name: ruby/gem_rbs_collection
7
+ revision: 98541aabafdf403b16ebae6fe4060d18bee75e93
8
+ remote: https://github.com/ruby/gem_rbs_collection.git
9
+ repo_dir: gems
@@ -0,0 +1,7 @@
1
+ # manifest.yaml describes dependencies which do not appear in the gemspec.
2
+ # If this gem includes such dependencies, comment-out the following lines and
3
+ # declare the dependencies.
4
+ # If all dependencies appear in the gemspec, you should remove this file.
5
+ #
6
+ # dependencies:
7
+ # - name: pathname
@@ -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
@@ -11,7 +11,10 @@ Gem::Specification.new do |s|
11
11
  s.authors = ["Fred Snyder"]
12
12
  s.email = 'admin@castwide.com'
13
13
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
14
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
14
+ # @sg-ignore Need backtick support
15
+ # @type [String]
16
+ all_files = `git ls-files -z`
17
+ all_files.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
18
  end
16
19
  s.homepage = 'https://solargraph.org'
17
20
  s.license = 'MIT'
@@ -35,19 +38,26 @@ Gem::Specification.new do |s|
35
38
  s.add_runtime_dependency 'ostruct', '~> 0.6'
36
39
  s.add_runtime_dependency 'parser', '~> 3.0'
37
40
  s.add_runtime_dependency 'prism', '~> 1.4'
38
- s.add_runtime_dependency 'rbs', '~> 3.6.1'
41
+ s.add_runtime_dependency 'rbs', ['>= 3.6.1', '<= 4.0.0.dev.4']
39
42
  s.add_runtime_dependency 'reverse_markdown', '~> 3.0'
40
- s.add_runtime_dependency 'rubocop', '~> 1.38'
43
+ s.add_runtime_dependency 'rubocop', '~> 1.76'
41
44
  s.add_runtime_dependency 'thor', '~> 1.0'
42
45
  s.add_runtime_dependency 'tilt', '~> 2.0'
43
46
  s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
44
47
  s.add_runtime_dependency 'yard-solargraph', '~> 0.1'
48
+ s.add_runtime_dependency 'yard-activesupport-concern', '~> 0.0'
45
49
 
46
50
  s.add_development_dependency 'pry', '~> 0.15'
47
51
  s.add_development_dependency 'public_suffix', '~> 3.1'
48
52
  s.add_development_dependency 'rake', '~> 13.2'
49
53
  s.add_development_dependency 'rspec', '~> 3.5'
50
- s.add_development_dependency 'simplecov', '~> 0.14'
54
+ s.add_development_dependency 'rubocop-rake', '~> 0.7'
55
+ s.add_development_dependency 'rubocop-rspec', '~> 3.6'
56
+ s.add_development_dependency 'rubocop-yard', '~> 1.0'
57
+ s.add_development_dependency 'simplecov', '~> 0.21'
58
+ s.add_development_dependency 'simplecov-lcov', '~> 0.8'
59
+ s.add_development_dependency 'undercover', '~> 0.7'
60
+ s.add_development_dependency 'overcommit', '~> 0.68.0'
51
61
  s.add_development_dependency 'webmock', '~> 3.6'
52
62
  # work around missing yard dependency needed as of Ruby 3.5
53
63
  s.add_development_dependency 'irb', '~> 1.15'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.56.2
4
+ version: 0.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-07-29 00:00:00.000000000 Z
10
+ date: 2025-09-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: backport
@@ -187,16 +187,22 @@ dependencies:
187
187
  name: rbs
188
188
  requirement: !ruby/object:Gem::Requirement
189
189
  requirements:
190
- - - "~>"
190
+ - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: 3.6.1
193
+ - - "<="
194
+ - !ruby/object:Gem::Version
195
+ version: 4.0.0.dev.4
193
196
  type: :runtime
194
197
  prerelease: false
195
198
  version_requirements: !ruby/object:Gem::Requirement
196
199
  requirements:
197
- - - "~>"
200
+ - - ">="
198
201
  - !ruby/object:Gem::Version
199
202
  version: 3.6.1
203
+ - - "<="
204
+ - !ruby/object:Gem::Version
205
+ version: 4.0.0.dev.4
200
206
  - !ruby/object:Gem::Dependency
201
207
  name: reverse_markdown
202
208
  requirement: !ruby/object:Gem::Requirement
@@ -217,14 +223,14 @@ dependencies:
217
223
  requirements:
218
224
  - - "~>"
219
225
  - !ruby/object:Gem::Version
220
- version: '1.38'
226
+ version: '1.76'
221
227
  type: :runtime
222
228
  prerelease: false
223
229
  version_requirements: !ruby/object:Gem::Requirement
224
230
  requirements:
225
231
  - - "~>"
226
232
  - !ruby/object:Gem::Version
227
- version: '1.38'
233
+ version: '1.76'
228
234
  - !ruby/object:Gem::Dependency
229
235
  name: thor
230
236
  requirement: !ruby/object:Gem::Requirement
@@ -287,6 +293,20 @@ dependencies:
287
293
  - - "~>"
288
294
  - !ruby/object:Gem::Version
289
295
  version: '0.1'
296
+ - !ruby/object:Gem::Dependency
297
+ name: yard-activesupport-concern
298
+ requirement: !ruby/object:Gem::Requirement
299
+ requirements:
300
+ - - "~>"
301
+ - !ruby/object:Gem::Version
302
+ version: '0.0'
303
+ type: :runtime
304
+ prerelease: false
305
+ version_requirements: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - "~>"
308
+ - !ruby/object:Gem::Version
309
+ version: '0.0'
290
310
  - !ruby/object:Gem::Dependency
291
311
  name: pry
292
312
  requirement: !ruby/object:Gem::Requirement
@@ -343,20 +363,104 @@ dependencies:
343
363
  - - "~>"
344
364
  - !ruby/object:Gem::Version
345
365
  version: '3.5'
366
+ - !ruby/object:Gem::Dependency
367
+ name: rubocop-rake
368
+ requirement: !ruby/object:Gem::Requirement
369
+ requirements:
370
+ - - "~>"
371
+ - !ruby/object:Gem::Version
372
+ version: '0.7'
373
+ type: :development
374
+ prerelease: false
375
+ version_requirements: !ruby/object:Gem::Requirement
376
+ requirements:
377
+ - - "~>"
378
+ - !ruby/object:Gem::Version
379
+ version: '0.7'
380
+ - !ruby/object:Gem::Dependency
381
+ name: rubocop-rspec
382
+ requirement: !ruby/object:Gem::Requirement
383
+ requirements:
384
+ - - "~>"
385
+ - !ruby/object:Gem::Version
386
+ version: '3.6'
387
+ type: :development
388
+ prerelease: false
389
+ version_requirements: !ruby/object:Gem::Requirement
390
+ requirements:
391
+ - - "~>"
392
+ - !ruby/object:Gem::Version
393
+ version: '3.6'
394
+ - !ruby/object:Gem::Dependency
395
+ name: rubocop-yard
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: '1.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.0'
346
408
  - !ruby/object:Gem::Dependency
347
409
  name: simplecov
348
410
  requirement: !ruby/object:Gem::Requirement
349
411
  requirements:
350
412
  - - "~>"
351
413
  - !ruby/object:Gem::Version
352
- version: '0.14'
414
+ version: '0.21'
415
+ type: :development
416
+ prerelease: false
417
+ version_requirements: !ruby/object:Gem::Requirement
418
+ requirements:
419
+ - - "~>"
420
+ - !ruby/object:Gem::Version
421
+ version: '0.21'
422
+ - !ruby/object:Gem::Dependency
423
+ name: simplecov-lcov
424
+ requirement: !ruby/object:Gem::Requirement
425
+ requirements:
426
+ - - "~>"
427
+ - !ruby/object:Gem::Version
428
+ version: '0.8'
429
+ type: :development
430
+ prerelease: false
431
+ version_requirements: !ruby/object:Gem::Requirement
432
+ requirements:
433
+ - - "~>"
434
+ - !ruby/object:Gem::Version
435
+ version: '0.8'
436
+ - !ruby/object:Gem::Dependency
437
+ name: undercover
438
+ requirement: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - "~>"
441
+ - !ruby/object:Gem::Version
442
+ version: '0.7'
443
+ type: :development
444
+ prerelease: false
445
+ version_requirements: !ruby/object:Gem::Requirement
446
+ requirements:
447
+ - - "~>"
448
+ - !ruby/object:Gem::Version
449
+ version: '0.7'
450
+ - !ruby/object:Gem::Dependency
451
+ name: overcommit
452
+ requirement: !ruby/object:Gem::Requirement
453
+ requirements:
454
+ - - "~>"
455
+ - !ruby/object:Gem::Version
456
+ version: 0.68.0
353
457
  type: :development
354
458
  prerelease: false
355
459
  version_requirements: !ruby/object:Gem::Requirement
356
460
  requirements:
357
461
  - - "~>"
358
462
  - !ruby/object:Gem::Version
359
- version: '0.14'
463
+ version: 0.68.0
360
464
  - !ruby/object:Gem::Dependency
361
465
  name: webmock
362
466
  requirement: !ruby/object:Gem::Requirement
@@ -393,11 +497,15 @@ extensions: []
393
497
  extra_rdoc_files: []
394
498
  files:
395
499
  - ".github/FUNDING.yml"
500
+ - ".github/workflows/linting.yml"
396
501
  - ".github/workflows/plugins.yml"
397
502
  - ".github/workflows/rspec.yml"
398
503
  - ".github/workflows/typecheck.yml"
399
504
  - ".gitignore"
505
+ - ".overcommit.yml"
400
506
  - ".rspec"
507
+ - ".rubocop.yml"
508
+ - ".rubocop_todo.yml"
401
509
  - ".yardopts"
402
510
  - CHANGELOG.md
403
511
  - Gemfile
@@ -406,10 +514,10 @@ files:
406
514
  - Rakefile
407
515
  - SPONSORS.md
408
516
  - bin/solargraph
409
- - lib/.rubocop.yml
410
517
  - lib/solargraph.rb
411
518
  - lib/solargraph/api_map.rb
412
519
  - lib/solargraph/api_map/cache.rb
520
+ - lib/solargraph/api_map/constants.rb
413
521
  - lib/solargraph/api_map/index.rb
414
522
  - lib/solargraph/api_map/source_to_yard.rb
415
523
  - lib/solargraph/api_map/store.rb
@@ -418,6 +526,7 @@ files:
418
526
  - lib/solargraph/complex_type/type_methods.rb
419
527
  - lib/solargraph/complex_type/unique_type.rb
420
528
  - lib/solargraph/convention.rb
529
+ - lib/solargraph/convention/active_support_concern.rb
421
530
  - lib/solargraph/convention/base.rb
422
531
  - lib/solargraph/convention/data_definition.rb
423
532
  - lib/solargraph/convention/data_definition/data_assignment_node.rb
@@ -637,6 +746,7 @@ files:
637
746
  - lib/solargraph/views/search.erb
638
747
  - lib/solargraph/workspace.rb
639
748
  - lib/solargraph/workspace/config.rb
749
+ - lib/solargraph/workspace/require_paths.rb
640
750
  - lib/solargraph/yard_map.rb
641
751
  - lib/solargraph/yard_map/cache.rb
642
752
  - lib/solargraph/yard_map/helpers.rb
@@ -649,6 +759,10 @@ files:
649
759
  - lib/solargraph/yardoc.rb
650
760
  - rbs/fills/tuple.rbs
651
761
  - rbs_collection.yaml
762
+ - sig/shims/parser/3.2.0.1/builders/default.rbs
763
+ - sig/shims/thor/1.2.0.1/.rbs_meta.yaml
764
+ - sig/shims/thor/1.2.0.1/manifest.yaml
765
+ - sig/shims/thor/1.2.0.1/thor.rbs
652
766
  - solargraph.gemspec
653
767
  homepage: https://solargraph.org
654
768
  licenses:
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