solargraph 0.56.2 → 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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linting.yml +127 -0
  3. data/.github/workflows/plugins.yml +183 -7
  4. data/.github/workflows/rspec.yml +55 -5
  5. data/.github/workflows/typecheck.yml +6 -3
  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 +1279 -0
  11. data/.yardopts +1 -0
  12. data/CHANGELOG.md +69 -0
  13. data/README.md +8 -4
  14. data/Rakefile +125 -13
  15. data/bin/solargraph +8 -5
  16. data/lib/solargraph/api_map/cache.rb +3 -2
  17. data/lib/solargraph/api_map/constants.rb +279 -0
  18. data/lib/solargraph/api_map/index.rb +49 -31
  19. data/lib/solargraph/api_map/source_to_yard.rb +13 -4
  20. data/lib/solargraph/api_map/store.rb +144 -26
  21. data/lib/solargraph/api_map.rb +217 -245
  22. data/lib/solargraph/bench.rb +1 -0
  23. data/lib/solargraph/complex_type/type_methods.rb +6 -0
  24. data/lib/solargraph/complex_type/unique_type.rb +19 -12
  25. data/lib/solargraph/complex_type.rb +24 -3
  26. data/lib/solargraph/convention/active_support_concern.rb +111 -0
  27. data/lib/solargraph/convention/base.rb +17 -0
  28. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +1 -0
  29. data/lib/solargraph/convention/data_definition/data_definition_node.rb +4 -2
  30. data/lib/solargraph/convention/data_definition.rb +2 -1
  31. data/lib/solargraph/convention/gemspec.rb +1 -1
  32. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +1 -0
  33. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +3 -1
  34. data/lib/solargraph/convention/struct_definition.rb +36 -13
  35. data/lib/solargraph/convention.rb +31 -2
  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 +44 -13
  39. data/lib/solargraph/environ.rb +9 -2
  40. data/lib/solargraph/equality.rb +1 -0
  41. data/lib/solargraph/gem_pins.rb +21 -11
  42. data/lib/solargraph/language_server/host/dispatch.rb +2 -0
  43. data/lib/solargraph/language_server/host/message_worker.rb +3 -0
  44. data/lib/solargraph/language_server/host.rb +12 -5
  45. data/lib/solargraph/language_server/message/base.rb +2 -1
  46. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +1 -1
  47. data/lib/solargraph/language_server/message/text_document/definition.rb +2 -0
  48. data/lib/solargraph/language_server/message/text_document/formatting.rb +19 -2
  49. data/lib/solargraph/language_server/message/text_document/type_definition.rb +1 -0
  50. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
  51. data/lib/solargraph/language_server/progress.rb +8 -0
  52. data/lib/solargraph/language_server/request.rb +4 -1
  53. data/lib/solargraph/library.rb +11 -18
  54. data/lib/solargraph/location.rb +3 -0
  55. data/lib/solargraph/logging.rb +11 -2
  56. data/lib/solargraph/page.rb +3 -0
  57. data/lib/solargraph/parser/comment_ripper.rb +8 -1
  58. data/lib/solargraph/parser/flow_sensitive_typing.rb +33 -5
  59. data/lib/solargraph/parser/node_processor/base.rb +1 -1
  60. data/lib/solargraph/parser/node_processor.rb +6 -2
  61. data/lib/solargraph/parser/parser_gem/class_methods.rb +3 -13
  62. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +1 -0
  63. data/lib/solargraph/parser/parser_gem/node_chainer.rb +3 -1
  64. data/lib/solargraph/parser/parser_gem/node_methods.rb +5 -16
  65. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +1 -0
  66. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +3 -2
  67. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +2 -0
  68. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +3 -0
  69. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +64 -8
  70. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +12 -3
  71. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +36 -16
  72. data/lib/solargraph/parser/region.rb +3 -0
  73. data/lib/solargraph/parser/snippet.rb +2 -0
  74. data/lib/solargraph/pin/base.rb +77 -14
  75. data/lib/solargraph/pin/base_variable.rb +6 -5
  76. data/lib/solargraph/pin/block.rb +3 -2
  77. data/lib/solargraph/pin/callable.rb +14 -1
  78. data/lib/solargraph/pin/closure.rb +5 -7
  79. data/lib/solargraph/pin/common.rb +6 -2
  80. data/lib/solargraph/pin/constant.rb +2 -0
  81. data/lib/solargraph/pin/local_variable.rb +1 -2
  82. data/lib/solargraph/pin/method.rb +28 -9
  83. data/lib/solargraph/pin/method_alias.rb +3 -0
  84. data/lib/solargraph/pin/parameter.rb +24 -10
  85. data/lib/solargraph/pin/proxy_type.rb +5 -1
  86. data/lib/solargraph/pin/reference/override.rb +15 -1
  87. data/lib/solargraph/pin/reference/superclass.rb +5 -0
  88. data/lib/solargraph/pin/reference.rb +17 -0
  89. data/lib/solargraph/pin/search.rb +6 -1
  90. data/lib/solargraph/pin/signature.rb +2 -0
  91. data/lib/solargraph/pin/symbol.rb +5 -0
  92. data/lib/solargraph/pin_cache.rb +64 -4
  93. data/lib/solargraph/position.rb +3 -0
  94. data/lib/solargraph/range.rb +5 -0
  95. data/lib/solargraph/rbs_map/conversions.rb +29 -6
  96. data/lib/solargraph/rbs_map/core_fills.rb +18 -0
  97. data/lib/solargraph/rbs_map/core_map.rb +14 -7
  98. data/lib/solargraph/rbs_map.rb +14 -1
  99. data/lib/solargraph/shell.rb +85 -1
  100. data/lib/solargraph/source/chain/call.rb +7 -3
  101. data/lib/solargraph/source/chain/constant.rb +3 -66
  102. data/lib/solargraph/source/chain/if.rb +1 -1
  103. data/lib/solargraph/source/chain/link.rb +11 -2
  104. data/lib/solargraph/source/chain/or.rb +1 -1
  105. data/lib/solargraph/source/chain.rb +11 -2
  106. data/lib/solargraph/source/change.rb +2 -2
  107. data/lib/solargraph/source/cursor.rb +2 -3
  108. data/lib/solargraph/source/source_chainer.rb +1 -1
  109. data/lib/solargraph/source.rb +6 -3
  110. data/lib/solargraph/source_map/clip.rb +18 -26
  111. data/lib/solargraph/source_map/data.rb +4 -0
  112. data/lib/solargraph/source_map/mapper.rb +2 -2
  113. data/lib/solargraph/source_map.rb +28 -16
  114. data/lib/solargraph/type_checker/param_def.rb +2 -0
  115. data/lib/solargraph/type_checker/rules.rb +30 -8
  116. data/lib/solargraph/type_checker.rb +301 -186
  117. data/lib/solargraph/version.rb +1 -1
  118. data/lib/solargraph/workspace/config.rb +21 -5
  119. data/lib/solargraph/workspace/require_paths.rb +97 -0
  120. data/lib/solargraph/workspace.rb +30 -67
  121. data/lib/solargraph/yard_map/mapper/to_method.rb +4 -3
  122. data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -0
  123. data/lib/solargraph/yard_map/to_method.rb +2 -1
  124. data/lib/solargraph/yardoc.rb +39 -3
  125. data/lib/solargraph.rb +2 -0
  126. data/rbs/fills/bundler/0/bundler.rbs +4271 -0
  127. data/rbs/fills/open3/0/open3.rbs +172 -0
  128. data/rbs/fills/rubygems/0/basic_specification.rbs +326 -0
  129. data/rbs/fills/rubygems/0/errors.rbs +364 -0
  130. data/rbs/fills/rubygems/0/spec_fetcher.rbs +107 -0
  131. data/rbs/fills/rubygems/0/specification.rbs +1753 -0
  132. data/rbs/fills/{tuple.rbs → tuple/tuple.rbs} +2 -3
  133. data/rbs_collection.yaml +4 -4
  134. data/sig/shims/ast/0/node.rbs +5 -0
  135. data/sig/shims/ast/2.4/.rbs_meta.yaml +9 -0
  136. data/sig/shims/ast/2.4/ast.rbs +73 -0
  137. data/sig/shims/parser/3.2.0.1/builders/default.rbs +195 -0
  138. data/sig/shims/parser/3.2.0.1/manifest.yaml +7 -0
  139. data/sig/shims/parser/3.2.0.1/parser.rbs +201 -0
  140. data/sig/shims/parser/3.2.0.1/polyfill.rbs +4 -0
  141. data/sig/shims/thor/1.2.0.1/.rbs_meta.yaml +9 -0
  142. data/sig/shims/thor/1.2.0.1/manifest.yaml +7 -0
  143. data/sig/shims/thor/1.2.0.1/thor.rbs +17 -0
  144. data/solargraph.gemspec +26 -5
  145. metadata +181 -13
  146. data/lib/.rubocop.yml +0 -22
  147. data/lib/solargraph/parser/node_methods.rb +0 -97
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,1279 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --exclude-limit 5 --no-offense-counts --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.80.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # This cop supports safe autocorrection (--autocorrect).
10
+ Gemspec/AddRuntimeDependency:
11
+ Exclude:
12
+ - 'solargraph.gemspec'
13
+
14
+ # This cop supports safe autocorrection (--autocorrect).
15
+ # Configuration parameters: Severity.
16
+ Gemspec/DeprecatedAttributeAssignment:
17
+ Exclude:
18
+ - 'solargraph.gemspec'
19
+ - 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
20
+
21
+ # Configuration parameters: EnforcedStyle, AllowedGems.
22
+ # SupportedStyles: Gemfile, gems.rb, gemspec
23
+ Gemspec/DevelopmentDependencies:
24
+ Exclude:
25
+ - 'solargraph.gemspec'
26
+
27
+ # This cop supports safe autocorrection (--autocorrect).
28
+ # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
29
+ Gemspec/OrderedDependencies:
30
+ Exclude:
31
+ - 'solargraph.gemspec'
32
+
33
+ # This cop supports safe autocorrection (--autocorrect).
34
+ # Configuration parameters: Severity.
35
+ Gemspec/RequireMFA:
36
+ Exclude:
37
+ - 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
38
+ - 'spec/fixtures/rubocop-custom-version/specifications/rubocop-0.0.0.gemspec'
39
+
40
+ # Configuration parameters: Severity.
41
+ Gemspec/RequiredRubyVersion:
42
+ Exclude:
43
+ - 'spec/fixtures/rdoc-lib/rdoc-lib.gemspec'
44
+ - 'spec/fixtures/rubocop-custom-version/specifications/rubocop-0.0.0.gemspec'
45
+ - 'spec/fixtures/vendored/vendor/do_not_use.gemspec'
46
+
47
+ # This cop supports safe autocorrection (--autocorrect).
48
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
49
+ # SupportedStyles: with_first_argument, with_fixed_indentation
50
+ Layout/ArgumentAlignment:
51
+ Exclude:
52
+ - 'lib/solargraph/pin/callable.rb'
53
+ - 'spec/source/source_chainer_spec.rb'
54
+
55
+ # This cop supports safe autocorrection (--autocorrect).
56
+ # Configuration parameters: EnforcedStyleAlignWith.
57
+ # SupportedStylesAlignWith: either, start_of_block, start_of_line
58
+ Layout/BlockAlignment:
59
+ Exclude:
60
+ - 'spec/source_map/mapper_spec.rb'
61
+
62
+ # This cop supports safe autocorrection (--autocorrect).
63
+ Layout/ClosingHeredocIndentation:
64
+ Exclude:
65
+ - 'spec/diagnostics/rubocop_spec.rb'
66
+
67
+ # This cop supports safe autocorrection (--autocorrect).
68
+ # Configuration parameters: AllowForAlignment.
69
+ Layout/CommentIndentation:
70
+ Exclude:
71
+ - 'lib/solargraph/language_server/host.rb'
72
+ - 'lib/solargraph/parser/parser_gem/node_methods.rb'
73
+ - 'lib/solargraph/source_map/mapper.rb'
74
+
75
+ # This cop supports safe autocorrection (--autocorrect).
76
+ Layout/ElseAlignment:
77
+ Enabled: false
78
+
79
+ # This cop supports safe autocorrection (--autocorrect).
80
+ # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
81
+ Layout/EmptyLineBetweenDefs:
82
+ Exclude:
83
+ - 'lib/solargraph/doc_map.rb'
84
+ - 'lib/solargraph/language_server/message/initialize.rb'
85
+ - 'lib/solargraph/pin/delegated_method.rb'
86
+
87
+ # This cop supports safe autocorrection (--autocorrect).
88
+ Layout/EmptyLines:
89
+ Enabled: false
90
+
91
+ # This cop supports safe autocorrection (--autocorrect).
92
+ # Configuration parameters: EnforcedStyle.
93
+ # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
94
+ Layout/EmptyLinesAroundModuleBody:
95
+ Exclude:
96
+ - 'lib/solargraph/api_map/source_to_yard.rb'
97
+
98
+ # This cop supports safe autocorrection (--autocorrect).
99
+ # Configuration parameters: EnforcedStyleAlignWith, Severity.
100
+ # SupportedStylesAlignWith: keyword, variable, start_of_line
101
+ Layout/EndAlignment:
102
+ Enabled: false
103
+
104
+ # Configuration parameters: EnforcedStyle.
105
+ # SupportedStyles: native, lf, crlf
106
+ Layout/EndOfLine:
107
+ Exclude:
108
+ - 'Gemfile'
109
+ - 'Rakefile'
110
+ - 'lib/solargraph/source/encoding_fixes.rb'
111
+ - 'solargraph.gemspec'
112
+
113
+ # This cop supports safe autocorrection (--autocorrect).
114
+ # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
115
+ Layout/ExtraSpacing:
116
+ Exclude:
117
+ - 'lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb'
118
+ - 'lib/solargraph/pin/closure.rb'
119
+ - 'lib/solargraph/rbs_map/conversions.rb'
120
+ - 'lib/solargraph/type_checker.rb'
121
+ - 'spec/spec_helper.rb'
122
+
123
+ # This cop supports safe autocorrection (--autocorrect).
124
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
125
+ # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
126
+ Layout/FirstArgumentIndentation:
127
+ Exclude:
128
+ - 'lib/solargraph/parser/parser_gem/node_processors/args_node.rb'
129
+ - 'spec/source/source_chainer_spec.rb'
130
+
131
+ # This cop supports safe autocorrection (--autocorrect).
132
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
133
+ # SupportedStyles: special_inside_parentheses, consistent, align_brackets
134
+ Layout/FirstArrayElementIndentation:
135
+ Exclude:
136
+ - 'lib/solargraph/source.rb'
137
+ - 'spec/diagnostics/update_errors_spec.rb'
138
+ - 'spec/source/cursor_spec.rb'
139
+ - 'spec/source/source_chainer_spec.rb'
140
+ - 'spec/source_spec.rb'
141
+
142
+ # This cop supports safe autocorrection (--autocorrect).
143
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
144
+ # SupportedStyles: special_inside_parentheses, consistent, align_braces
145
+ Layout/FirstHashElementIndentation:
146
+ Enabled: false
147
+
148
+ # This cop supports safe autocorrection (--autocorrect).
149
+ # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
150
+ # SupportedHashRocketStyles: key, separator, table
151
+ # SupportedColonStyles: key, separator, table
152
+ # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
153
+ Layout/HashAlignment:
154
+ Exclude:
155
+ - 'lib/solargraph/workspace/config.rb'
156
+
157
+ # This cop supports safe autocorrection (--autocorrect).
158
+ Layout/HeredocIndentation:
159
+ Exclude:
160
+ - 'spec/diagnostics/rubocop_spec.rb'
161
+ - 'spec/yard_map/mapper/to_method_spec.rb'
162
+
163
+ # This cop supports safe autocorrection (--autocorrect).
164
+ # Configuration parameters: Width, AllowedPatterns.
165
+ Layout/IndentationWidth:
166
+ Enabled: false
167
+
168
+ # This cop supports safe autocorrection (--autocorrect).
169
+ # Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment, AllowRBSInlineAnnotation, AllowSteepAnnotation.
170
+ Layout/LeadingCommentSpace:
171
+ Exclude:
172
+ - 'lib/solargraph/complex_type.rb'
173
+ - 'lib/solargraph/rbs_map/conversions.rb'
174
+ - 'lib/solargraph/source/chain/call.rb'
175
+ - 'lib/solargraph/source_map/clip.rb'
176
+
177
+ # This cop supports safe autocorrection (--autocorrect).
178
+ # Configuration parameters: EnforcedStyle.
179
+ # SupportedStyles: space, no_space
180
+ Layout/LineContinuationSpacing:
181
+ Exclude:
182
+ - 'lib/solargraph/diagnostics/rubocop_helpers.rb'
183
+
184
+ # This cop supports safe autocorrection (--autocorrect).
185
+ # Configuration parameters: EnforcedStyle.
186
+ # SupportedStyles: symmetrical, new_line, same_line
187
+ Layout/MultilineMethodCallBraceLayout:
188
+ Exclude:
189
+ - 'lib/solargraph/parser/parser_gem/node_processors/send_node.rb'
190
+ - 'spec/source/source_chainer_spec.rb'
191
+
192
+ # This cop supports safe autocorrection (--autocorrect).
193
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
194
+ # SupportedStyles: aligned, indented, indented_relative_to_receiver
195
+ Layout/MultilineMethodCallIndentation:
196
+ Enabled: false
197
+
198
+ # This cop supports safe autocorrection (--autocorrect).
199
+ # Configuration parameters: EnforcedStyle, IndentationWidth.
200
+ # SupportedStyles: aligned, indented
201
+ Layout/MultilineOperationIndentation:
202
+ Exclude:
203
+ - 'lib/solargraph/api_map.rb'
204
+ - 'lib/solargraph/language_server/host/dispatch.rb'
205
+ - 'lib/solargraph/source.rb'
206
+
207
+ # This cop supports safe autocorrection (--autocorrect).
208
+ Layout/SpaceAfterComma:
209
+ Exclude:
210
+ - 'spec/source/cursor_spec.rb'
211
+
212
+ # This cop supports safe autocorrection (--autocorrect).
213
+ # Configuration parameters: EnforcedStyle.
214
+ # SupportedStyles: space, no_space
215
+ Layout/SpaceAroundEqualsInParameterDefault:
216
+ Enabled: false
217
+
218
+ # This cop supports safe autocorrection (--autocorrect).
219
+ Layout/SpaceAroundKeyword:
220
+ Exclude:
221
+ - 'spec/rbs_map/conversions_spec.rb'
222
+
223
+ # This cop supports safe autocorrection (--autocorrect).
224
+ # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
225
+ # SupportedStylesForExponentOperator: space, no_space
226
+ # SupportedStylesForRationalLiterals: space, no_space
227
+ Layout/SpaceAroundOperators:
228
+ Enabled: false
229
+
230
+ # This cop supports safe autocorrection (--autocorrect).
231
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
232
+ # SupportedStyles: space, no_space
233
+ # SupportedStylesForEmptyBraces: space, no_space
234
+ Layout/SpaceBeforeBlockBraces:
235
+ Enabled: false
236
+
237
+ # This cop supports safe autocorrection (--autocorrect).
238
+ Layout/SpaceBeforeComma:
239
+ Exclude:
240
+ - 'spec/source/cursor_spec.rb'
241
+
242
+ # This cop supports safe autocorrection (--autocorrect).
243
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
244
+ # SupportedStyles: space, no_space
245
+ # SupportedStylesForEmptyBraces: space, no_space
246
+ Layout/SpaceInsideBlockBraces:
247
+ Enabled: false
248
+
249
+ # This cop supports safe autocorrection (--autocorrect).
250
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
251
+ # SupportedStyles: space, no_space, compact
252
+ # SupportedStylesForEmptyBraces: space, no_space
253
+ Layout/SpaceInsideHashLiteralBraces:
254
+ Exclude:
255
+ - 'lib/solargraph/language_server/message/extended/search.rb'
256
+ - 'lib/solargraph/language_server/message/initialize.rb'
257
+ - 'lib/solargraph/workspace/config.rb'
258
+ - 'spec/language_server/host/message_worker_spec.rb'
259
+ - 'spec/language_server/message/extended/check_gem_version_spec.rb'
260
+
261
+ # This cop supports safe autocorrection (--autocorrect).
262
+ # Configuration parameters: EnforcedStyle.
263
+ # SupportedStyles: space, compact, no_space
264
+ Layout/SpaceInsideParens:
265
+ Exclude:
266
+ - 'lib/solargraph/pin/namespace.rb'
267
+ - 'lib/solargraph/source_map.rb'
268
+
269
+ # This cop supports safe autocorrection (--autocorrect).
270
+ # Configuration parameters: AllowInHeredoc.
271
+ Layout/TrailingWhitespace:
272
+ Exclude:
273
+ - 'lib/solargraph/language_server/message/client/register_capability.rb'
274
+ - 'spec/api_map/config_spec.rb'
275
+
276
+ # This cop supports safe autocorrection (--autocorrect).
277
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
278
+ Lint/AmbiguousBlockAssociation:
279
+ Exclude:
280
+ - 'lib/solargraph/language_server/host.rb'
281
+
282
+ # This cop supports safe autocorrection (--autocorrect).
283
+ Lint/AmbiguousOperator:
284
+ Enabled: false
285
+
286
+ # This cop supports safe autocorrection (--autocorrect).
287
+ Lint/AmbiguousOperatorPrecedence:
288
+ Exclude:
289
+ - 'lib/solargraph/pin/method.rb'
290
+ - 'lib/solargraph/source.rb'
291
+
292
+ # This cop supports unsafe autocorrection (--autocorrect-all).
293
+ # Configuration parameters: RequireParenthesesForMethodChains.
294
+ Lint/AmbiguousRange:
295
+ Enabled: false
296
+
297
+ # This cop supports unsafe autocorrection (--autocorrect-all).
298
+ # Configuration parameters: AllowSafeAssignment.
299
+ Lint/AssignmentInCondition:
300
+ Exclude:
301
+ - 'lib/solargraph/library.rb'
302
+
303
+ Lint/BinaryOperatorWithIdenticalOperands:
304
+ Exclude:
305
+ - 'lib/solargraph/api_map/source_to_yard.rb'
306
+
307
+ # This cop supports unsafe autocorrection (--autocorrect-all).
308
+ Lint/BooleanSymbol:
309
+ Exclude:
310
+ - 'lib/solargraph/convention/struct_definition/struct_definition_node.rb'
311
+ - 'lib/solargraph/parser/parser_gem/node_methods.rb'
312
+ - 'lib/solargraph/source/chain/literal.rb'
313
+
314
+ # Configuration parameters: AllowedMethods.
315
+ # AllowedMethods: enums
316
+ Lint/ConstantDefinitionInBlock:
317
+ Exclude:
318
+ - 'spec/complex_type_spec.rb'
319
+
320
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
321
+ Lint/DuplicateBranch:
322
+ Exclude:
323
+ - 'lib/solargraph/complex_type/type_methods.rb'
324
+ - 'lib/solargraph/parser/parser_gem/node_chainer.rb'
325
+ - 'lib/solargraph/pin/base.rb'
326
+ - 'lib/solargraph/rbs_map/conversions.rb'
327
+
328
+ Lint/DuplicateMethods:
329
+ Enabled: false
330
+
331
+ # Configuration parameters: AllowComments.
332
+ Lint/EmptyClass:
333
+ Enabled: false
334
+
335
+ # Configuration parameters: AllowComments.
336
+ Lint/EmptyFile:
337
+ Exclude:
338
+ - 'spec/fixtures/vendored/vendor/do_not_use.gemspec'
339
+
340
+ # This cop supports unsafe autocorrection (--autocorrect-all).
341
+ Lint/InterpolationCheck:
342
+ Exclude:
343
+ - 'spec/complex_type_spec.rb'
344
+ - 'spec/parser/node_methods_spec.rb'
345
+ - 'spec/source/chain_spec.rb'
346
+ - 'spec/source/cursor_spec.rb'
347
+
348
+ # Configuration parameters: AllowedParentClasses.
349
+ Lint/MissingSuper:
350
+ Exclude:
351
+ - 'lib/solargraph/source/chain/call.rb'
352
+ - 'lib/solargraph/source/chain/constant.rb'
353
+ - 'lib/solargraph/source/chain/if.rb'
354
+ - 'lib/solargraph/source/chain/literal.rb'
355
+ - 'lib/solargraph/source/chain/or.rb'
356
+
357
+ # This cop supports unsafe autocorrection (--autocorrect-all).
358
+ Lint/NonAtomicFileOperation:
359
+ Exclude:
360
+ - 'spec/diagnostics/rubocop_spec.rb'
361
+
362
+ # This cop supports safe autocorrection (--autocorrect).
363
+ Lint/ParenthesesAsGroupedExpression:
364
+ Exclude:
365
+ - 'lib/solargraph.rb'
366
+ - 'lib/solargraph/parser/parser_gem/node_chainer.rb'
367
+ - 'spec/language_server/host_spec.rb'
368
+ - 'spec/source_map/clip_spec.rb'
369
+
370
+ # This cop supports safe autocorrection (--autocorrect).
371
+ Lint/RedundantRequireStatement:
372
+ Exclude:
373
+ - 'spec/language_server/protocol_spec.rb'
374
+
375
+ # This cop supports unsafe autocorrection (--autocorrect-all).
376
+ # Configuration parameters: AllowedMethods, InferNonNilReceiver, AdditionalNilMethods.
377
+ # AllowedMethods: instance_of?, kind_of?, is_a?, eql?, respond_to?, equal?
378
+ # AdditionalNilMethods: present?, blank?, try, try!
379
+ Lint/RedundantSafeNavigation:
380
+ Exclude:
381
+ - 'lib/solargraph/api_map/source_to_yard.rb'
382
+ - 'lib/solargraph/rbs_map.rb'
383
+
384
+ # This cop supports safe autocorrection (--autocorrect).
385
+ Lint/RedundantStringCoercion:
386
+ Exclude:
387
+ - 'lib/solargraph/parser/parser_gem/node_chainer.rb'
388
+ - 'lib/solargraph/pin/conversions.rb'
389
+ - 'lib/solargraph/pin/method.rb'
390
+ - 'lib/solargraph/pin/namespace.rb'
391
+ - 'lib/solargraph/rbs_map/conversions.rb'
392
+
393
+ # This cop supports safe autocorrection (--autocorrect).
394
+ Lint/RedundantWithIndex:
395
+ Exclude:
396
+ - 'lib/solargraph/language_server/message/completion_item/resolve.rb'
397
+
398
+ # This cop supports safe autocorrection (--autocorrect).
399
+ # Configuration parameters: EnforcedStyle.
400
+ # SupportedStyles: strict, consistent
401
+ Lint/SymbolConversion:
402
+ Exclude:
403
+ - 'lib/solargraph/pin/base.rb'
404
+
405
+ # Configuration parameters: AllowKeywordBlockArguments.
406
+ Lint/UnderscorePrefixedVariableName:
407
+ Exclude:
408
+ - 'lib/solargraph/library.rb'
409
+
410
+ # Configuration parameters: Methods.
411
+ Lint/UnexpectedBlockArity:
412
+ Exclude:
413
+ - 'lib/solargraph/language_server/message/completion_item/resolve.rb'
414
+ - 'lib/solargraph/type_checker.rb'
415
+
416
+ Lint/UnmodifiedReduceAccumulator:
417
+ Exclude:
418
+ - 'lib/solargraph/pin/method.rb'
419
+
420
+ # This cop supports safe autocorrection (--autocorrect).
421
+ # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
422
+ Lint/UnusedBlockArgument:
423
+ Exclude:
424
+ - 'lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb'
425
+ - 'lib/solargraph/logging.rb'
426
+ - 'spec/language_server/transport/data_reader_spec.rb'
427
+
428
+ # This cop supports safe autocorrection (--autocorrect).
429
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
430
+ # NotImplementedExceptions: NotImplementedError
431
+ Lint/UnusedMethodArgument:
432
+ Enabled: false
433
+
434
+ # This cop supports safe autocorrection (--autocorrect).
435
+ # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
436
+ Lint/UselessAccessModifier:
437
+ Exclude:
438
+ - 'lib/solargraph/api_map.rb'
439
+
440
+ # This cop supports safe autocorrection (--autocorrect).
441
+ Lint/UselessAssignment:
442
+ Enabled: false
443
+
444
+ Lint/UselessConstantScoping:
445
+ Exclude:
446
+ - 'lib/solargraph/rbs_map/conversions.rb'
447
+
448
+ # This cop supports unsafe autocorrection (--autocorrect-all).
449
+ Lint/UselessMethodDefinition:
450
+ Exclude:
451
+ - 'lib/solargraph/pin/signature.rb'
452
+
453
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
454
+ Metrics/AbcSize:
455
+ Enabled: false
456
+
457
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
458
+ # AllowedMethods: refine
459
+ Metrics/BlockLength:
460
+ Max: 56
461
+
462
+ # Configuration parameters: CountBlocks, CountModifierForms.
463
+ Metrics/BlockNesting:
464
+ Max: 5
465
+
466
+ # Configuration parameters: CountComments, Max, CountAsOne.
467
+ Metrics/ClassLength:
468
+ Exclude:
469
+ - 'lib/solargraph/api_map.rb'
470
+ - 'lib/solargraph/language_server/host.rb'
471
+ - 'lib/solargraph/rbs_map/conversions.rb'
472
+ - 'lib/solargraph/type_checker.rb'
473
+
474
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
475
+ Metrics/CyclomaticComplexity:
476
+ Enabled: false
477
+
478
+ # Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.
479
+ Metrics/MethodLength:
480
+ Enabled: false
481
+
482
+ # Configuration parameters: CountComments, CountAsOne.
483
+ Metrics/ModuleLength:
484
+ Max: 169
485
+
486
+ # Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.
487
+ Metrics/ParameterLists:
488
+ Exclude:
489
+ - 'lib/solargraph/api_map.rb'
490
+ - 'lib/solargraph/pin/callable.rb'
491
+ - 'lib/solargraph/type_checker.rb'
492
+ - 'lib/solargraph/yard_map/mapper/to_method.rb'
493
+ - 'lib/solargraph/yard_map/to_method.rb'
494
+
495
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
496
+ Metrics/PerceivedComplexity:
497
+ Enabled: false
498
+
499
+ Naming/AccessorMethodName:
500
+ Exclude:
501
+ - 'lib/solargraph/api_map.rb'
502
+ - 'lib/solargraph/api_map/store.rb'
503
+ - 'lib/solargraph/language_server/message/base.rb'
504
+
505
+ # Configuration parameters: AsciiConstants.
506
+ Naming/AsciiIdentifiers:
507
+ Exclude:
508
+ - 'spec/fixtures/unicode.rb'
509
+
510
+ # Configuration parameters: ForbiddenDelimiters.
511
+ # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
512
+ Naming/HeredocDelimiterNaming:
513
+ Exclude:
514
+ - 'spec/yard_map/mapper/to_method_spec.rb'
515
+
516
+ # This cop supports unsafe autocorrection (--autocorrect-all).
517
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
518
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
519
+ Naming/MemoizedInstanceVariableName:
520
+ Enabled: false
521
+
522
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
523
+ # AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to
524
+ Naming/MethodParameterName:
525
+ Enabled: false
526
+
527
+ # Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates.
528
+ # AllowedMethods: call
529
+ # WaywardPredicates: nonzero?
530
+ Naming/PredicateMethod:
531
+ Enabled: false
532
+
533
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs.
534
+ # NamePrefix: is_, has_, have_, does_
535
+ # ForbiddenPrefixes: is_, has_, have_, does_
536
+ # AllowedMethods: is_a?
537
+ # MethodDefinitionMacros: define_method, define_singleton_method
538
+ Naming/PredicatePrefix:
539
+ Exclude:
540
+ - 'spec/**/*'
541
+ - 'lib/solargraph/api_map.rb'
542
+ - 'lib/solargraph/language_server/host.rb'
543
+ - 'lib/solargraph/parser/parser_gem/class_methods.rb'
544
+ - 'lib/solargraph/pin_cache.rb'
545
+ - 'lib/solargraph/workspace.rb'
546
+
547
+ # Configuration parameters: EnforcedStyle, AllowedIdentifiers, AllowedPatterns, ForbiddenIdentifiers, ForbiddenPatterns.
548
+ # SupportedStyles: snake_case, camelCase
549
+ Naming/VariableName:
550
+ Exclude:
551
+ - 'spec/fixtures/unicode.rb'
552
+
553
+ RSpec/Be:
554
+ Exclude:
555
+ - 'spec/rbs_map/stdlib_map_spec.rb'
556
+ - 'spec/rbs_map_spec.rb'
557
+ - 'spec/source/source_chainer_spec.rb'
558
+
559
+ # This cop supports unsafe autocorrection (--autocorrect-all).
560
+ RSpec/BeEq:
561
+ Exclude:
562
+ - 'spec/complex_type_spec.rb'
563
+ - 'spec/pin/method_spec.rb'
564
+
565
+ # This cop supports safe autocorrection (--autocorrect).
566
+ # Configuration parameters: EnforcedStyle.
567
+ # SupportedStyles: be, be_nil
568
+ RSpec/BeNil:
569
+ Exclude:
570
+ - 'spec/api_map/source_to_yard_spec.rb'
571
+ - 'spec/language_server/host_spec.rb'
572
+
573
+ RSpec/BeforeAfterAll:
574
+ Exclude:
575
+ - '**/spec/spec_helper.rb'
576
+ - '**/spec/rails_helper.rb'
577
+ - '**/spec/support/**/*.rb'
578
+ - 'spec/api_map_spec.rb'
579
+ - 'spec/doc_map_spec.rb'
580
+ - 'spec/language_server/host/dispatch_spec.rb'
581
+ - 'spec/language_server/protocol_spec.rb'
582
+
583
+ # Configuration parameters: Prefixes, AllowedPatterns.
584
+ # Prefixes: when, with, without
585
+ RSpec/ContextWording:
586
+ Enabled: false
587
+
588
+ # Configuration parameters: IgnoredMetadata.
589
+ RSpec/DescribeClass:
590
+ Exclude:
591
+ - '**/spec/features/**/*'
592
+ - '**/spec/requests/**/*'
593
+ - '**/spec/routing/**/*'
594
+ - '**/spec/system/**/*'
595
+ - '**/spec/views/**/*'
596
+ - 'spec/api_map_method_spec.rb'
597
+ - 'spec/complex_type_spec.rb'
598
+ - 'spec/source_map/node_processor_spec.rb'
599
+
600
+ # This cop supports unsafe autocorrection (--autocorrect-all).
601
+ # Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants.
602
+ # SupportedStyles: described_class, explicit
603
+ RSpec/DescribedClass:
604
+ Enabled: false
605
+
606
+ # This cop supports safe autocorrection (--autocorrect).
607
+ RSpec/EmptyLineAfterFinalLet:
608
+ Exclude:
609
+ - 'spec/workspace/config_spec.rb'
610
+
611
+ # Configuration parameters: Max, CountAsOne.
612
+ RSpec/ExampleLength:
613
+ Enabled: false
614
+
615
+ # This cop supports safe autocorrection (--autocorrect).
616
+ # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples.
617
+ # DisallowedExamples: works
618
+ RSpec/ExampleWording:
619
+ Exclude:
620
+ - 'spec/pin/base_spec.rb'
621
+ - 'spec/pin/method_spec.rb'
622
+
623
+ # This cop supports safe autocorrection (--autocorrect).
624
+ RSpec/ExcessiveDocstringSpacing:
625
+ Exclude:
626
+ - 'spec/rbs_map/conversions_spec.rb'
627
+ - 'spec/source/chain/call_spec.rb'
628
+
629
+ # This cop supports safe autocorrection (--autocorrect).
630
+ RSpec/ExpectActual:
631
+ Exclude:
632
+ - '**/spec/routing/**/*'
633
+ - 'spec/rbs_map/stdlib_map_spec.rb'
634
+ - 'spec/source_map/mapper_spec.rb'
635
+
636
+ # This cop supports safe autocorrection (--autocorrect).
637
+ # Configuration parameters: EnforcedStyle.
638
+ # SupportedStyles: implicit, each, example
639
+ RSpec/HookArgument:
640
+ Enabled: false
641
+
642
+ # This cop supports safe autocorrection (--autocorrect).
643
+ # Configuration parameters: .
644
+ # SupportedStyles: is_expected, should
645
+ RSpec/ImplicitExpect:
646
+ EnforcedStyle: should
647
+
648
+ # Configuration parameters: AssignmentOnly.
649
+ RSpec/InstanceVariable:
650
+ Enabled: false
651
+
652
+ # This cop supports safe autocorrection (--autocorrect).
653
+ RSpec/LeadingSubject:
654
+ Exclude:
655
+ - 'spec/rbs_map/conversions_spec.rb'
656
+
657
+ RSpec/LeakyConstantDeclaration:
658
+ Exclude:
659
+ - 'spec/complex_type_spec.rb'
660
+
661
+ # This cop supports safe autocorrection (--autocorrect).
662
+ RSpec/LetBeforeExamples:
663
+ Exclude:
664
+ - 'spec/complex_type_spec.rb'
665
+
666
+ RSpec/MissingExampleGroupArgument:
667
+ Exclude:
668
+ - 'spec/diagnostics/rubocop_helpers_spec.rb'
669
+
670
+ RSpec/MultipleExpectations:
671
+ Max: 14
672
+
673
+ # Configuration parameters: AllowedGroups.
674
+ RSpec/NestedGroups:
675
+ Max: 4
676
+
677
+ # Configuration parameters: AllowedPatterns.
678
+ # AllowedPatterns: ^expect_, ^assert_
679
+ RSpec/NoExpectationExample:
680
+ Enabled: false
681
+
682
+ # This cop supports safe autocorrection (--autocorrect).
683
+ # Configuration parameters: EnforcedStyle.
684
+ # SupportedStyles: not_to, to_not
685
+ RSpec/NotToNot:
686
+ Exclude:
687
+ - 'spec/api_map_spec.rb'
688
+ - 'spec/rbs_map/core_map_spec.rb'
689
+
690
+ RSpec/PendingWithoutReason:
691
+ Enabled: false
692
+
693
+ # This cop supports unsafe autocorrection (--autocorrect-all).
694
+ # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
695
+ # SupportedStyles: inflected, explicit
696
+ RSpec/PredicateMatcher:
697
+ Exclude:
698
+ - 'spec/language_server/message/workspace/did_change_configuration_spec.rb'
699
+ - 'spec/source_spec.rb'
700
+
701
+ # This cop supports unsafe autocorrection (--autocorrect-all).
702
+ RSpec/ReceiveMessages:
703
+ Exclude:
704
+ - 'spec/language_server/host_spec.rb'
705
+
706
+ RSpec/RemoveConst:
707
+ Exclude:
708
+ - 'spec/diagnostics/rubocop_helpers_spec.rb'
709
+
710
+ RSpec/RepeatedDescription:
711
+ Enabled: false
712
+
713
+ RSpec/RepeatedExample:
714
+ Exclude:
715
+ - 'spec/api_map_spec.rb'
716
+ - 'spec/parser/node_methods_spec.rb'
717
+ - 'spec/source/cursor_spec.rb'
718
+ - 'spec/source_map/clip_spec.rb'
719
+ - 'spec/type_checker/levels/strict_spec.rb'
720
+
721
+ # This cop supports safe autocorrection (--autocorrect).
722
+ RSpec/ScatteredLet:
723
+ Exclude:
724
+ - 'spec/complex_type_spec.rb'
725
+
726
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
727
+ RSpec/VerifiedDoubles:
728
+ Enabled: false
729
+
730
+ Security/MarshalLoad:
731
+ Exclude:
732
+ - 'lib/solargraph/pin_cache.rb'
733
+
734
+ # This cop supports unsafe autocorrection (--autocorrect-all).
735
+ # Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols, AllowModifiersOnAttrs, AllowModifiersOnAliasMethod.
736
+ # SupportedStyles: inline, group
737
+ Style/AccessModifierDeclarations:
738
+ Enabled: false
739
+
740
+ # This cop supports safe autocorrection (--autocorrect).
741
+ # Configuration parameters: EnforcedStyle.
742
+ # SupportedStyles: separated, grouped
743
+ Style/AccessorGrouping:
744
+ Exclude:
745
+ - 'lib/solargraph/parser/flow_sensitive_typing.rb'
746
+ - 'lib/solargraph/pin/base.rb'
747
+ - 'lib/solargraph/pin/method.rb'
748
+ - 'lib/solargraph/rbs_map.rb'
749
+
750
+ # This cop supports unsafe autocorrection (--autocorrect-all).
751
+ # Configuration parameters: EnforcedStyle.
752
+ # SupportedStyles: always, conditionals
753
+ Style/AndOr:
754
+ Enabled: false
755
+
756
+ # This cop supports safe autocorrection (--autocorrect).
757
+ # Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
758
+ # RedundantRestArgumentNames: args, arguments
759
+ # RedundantKeywordRestArgumentNames: kwargs, options, opts
760
+ # RedundantBlockArgumentNames: blk, block, proc
761
+ Style/ArgumentsForwarding:
762
+ Exclude:
763
+ - 'lib/solargraph/api_map.rb'
764
+ - 'lib/solargraph/complex_type.rb'
765
+
766
+ # This cop supports safe autocorrection (--autocorrect).
767
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
768
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
769
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
770
+ # FunctionalMethods: let, let!, subject, watch
771
+ # AllowedMethods: lambda, proc, it
772
+ Style/BlockDelimiters:
773
+ Enabled: false
774
+
775
+ # This cop supports unsafe autocorrection (--autocorrect-all).
776
+ # Configuration parameters: MinBranchesCount.
777
+ Style/CaseLikeIf:
778
+ Enabled: false
779
+
780
+ # This cop supports unsafe autocorrection (--autocorrect-all).
781
+ # Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules.
782
+ # SupportedStyles: nested, compact
783
+ # SupportedStylesForClasses: ~, nested, compact
784
+ # SupportedStylesForModules: ~, nested, compact
785
+ Style/ClassAndModuleChildren:
786
+ Enabled: false
787
+
788
+ # This cop supports unsafe autocorrection (--autocorrect-all).
789
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
790
+ # AllowedMethods: ==, equal?, eql?
791
+ Style/ClassEqualityComparison:
792
+ Exclude:
793
+ - 'lib/solargraph/gem_pins.rb'
794
+ - 'lib/solargraph/pin/base.rb'
795
+
796
+ # This cop supports unsafe autocorrection (--autocorrect-all).
797
+ # Configuration parameters: AllowedReceivers.
798
+ Style/CollectionCompact:
799
+ Exclude:
800
+ - 'lib/solargraph/pin/constant.rb'
801
+
802
+ # This cop supports safe autocorrection (--autocorrect).
803
+ Style/ColonMethodCall:
804
+ Exclude:
805
+ - 'spec/type_checker_spec.rb'
806
+
807
+ # This cop supports unsafe autocorrection (--autocorrect-all).
808
+ Style/CombinableLoops:
809
+ Exclude:
810
+ - 'lib/solargraph/pin/parameter.rb'
811
+
812
+ # This cop supports unsafe autocorrection (--autocorrect-all).
813
+ Style/ConcatArrayLiterals:
814
+ Exclude:
815
+ - 'lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb'
816
+
817
+ # This cop supports safe autocorrection (--autocorrect).
818
+ # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
819
+ # SupportedStyles: assign_to_condition, assign_inside_condition
820
+ Style/ConditionalAssignment:
821
+ Exclude:
822
+ - 'lib/solargraph/api_map/source_to_yard.rb'
823
+ - 'lib/solargraph/parser/parser_gem/node_processors/defs_node.rb'
824
+ - 'lib/solargraph/source/chain/call.rb'
825
+
826
+ # Configuration parameters: AllowedConstants.
827
+ Style/Documentation:
828
+ Enabled: false
829
+
830
+ # This cop supports safe autocorrection (--autocorrect).
831
+ Style/EmptyLambdaParameter:
832
+ Exclude:
833
+ - 'spec/rbs_map/core_map_spec.rb'
834
+
835
+ # This cop supports safe autocorrection (--autocorrect).
836
+ # Configuration parameters: EnforcedStyle.
837
+ # SupportedStyles: compact, expanded
838
+ Style/EmptyMethod:
839
+ Exclude:
840
+ - 'lib/solargraph/language_server/message/client/register_capability.rb'
841
+ - 'lib/solargraph/pin/base.rb'
842
+ - 'spec/fixtures/formattable.rb'
843
+ - 'spec/fixtures/rdoc-lib/lib/example.rb'
844
+ - 'spec/fixtures/workspace-with-gemfile/lib/thing.rb'
845
+
846
+ # This cop supports safe autocorrection (--autocorrect).
847
+ # Configuration parameters: EnforcedStyle.
848
+ # SupportedStyles: trailing_conditional, ternary
849
+ Style/EmptyStringInsideInterpolation:
850
+ Exclude:
851
+ - 'lib/solargraph/library.rb'
852
+ - 'lib/solargraph/pin/documenting.rb'
853
+ - 'lib/solargraph/shell.rb'
854
+
855
+ # This cop supports safe autocorrection (--autocorrect).
856
+ Style/ExpandPathArguments:
857
+ Exclude:
858
+ - 'solargraph.gemspec'
859
+
860
+ # This cop supports safe autocorrection (--autocorrect).
861
+ # Configuration parameters: AllowedVars, DefaultToNil.
862
+ Style/FetchEnvVar:
863
+ Exclude:
864
+ - 'spec/api_map/config_spec.rb'
865
+ - 'spec/spec_helper.rb'
866
+
867
+ # This cop supports unsafe autocorrection (--autocorrect-all).
868
+ # Configuration parameters: EnforcedStyle.
869
+ # SupportedStyles: left_coerce, right_coerce, single_coerce, fdiv
870
+ Style/FloatDivision:
871
+ Exclude:
872
+ - 'lib/solargraph/library.rb'
873
+ - 'lib/solargraph/pin/search.rb'
874
+
875
+ # This cop supports unsafe autocorrection (--autocorrect-all).
876
+ # Configuration parameters: EnforcedStyle.
877
+ # SupportedStyles: always, always_true, never
878
+ Style/FrozenStringLiteralComment:
879
+ Enabled: false
880
+
881
+ # This cop supports unsafe autocorrection (--autocorrect-all).
882
+ Style/GlobalStdStream:
883
+ Exclude:
884
+ - 'lib/solargraph/logging.rb'
885
+ - 'lib/solargraph/pin/base.rb'
886
+ - 'lib/solargraph/shell.rb'
887
+ - 'spec/logging_spec.rb'
888
+
889
+ # This cop supports safe autocorrection (--autocorrect).
890
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
891
+ Style/GuardClause:
892
+ Enabled: false
893
+
894
+ # This cop supports unsafe autocorrection (--autocorrect-all).
895
+ # Configuration parameters: AllowSplatArgument.
896
+ Style/HashConversion:
897
+ Exclude:
898
+ - 'lib/solargraph/doc_map.rb'
899
+
900
+ # This cop supports unsafe autocorrection (--autocorrect-all).
901
+ # Configuration parameters: AllowedReceivers.
902
+ # AllowedReceivers: Thread.current
903
+ Style/HashEachMethods:
904
+ Exclude:
905
+ - 'lib/solargraph/library.rb'
906
+ - 'lib/solargraph/source.rb'
907
+
908
+ # This cop supports safe autocorrection (--autocorrect).
909
+ # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
910
+ # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
911
+ # SupportedShorthandSyntax: always, never, either, consistent, either_consistent
912
+ Style/HashSyntax:
913
+ Exclude:
914
+ - 'spec/source/chain/class_variable_spec.rb'
915
+ - 'spec/source/cursor_spec.rb'
916
+ - 'spec/source/source_chainer_spec.rb'
917
+
918
+ # This cop supports unsafe autocorrection (--autocorrect-all).
919
+ Style/IdenticalConditionalBranches:
920
+ Exclude:
921
+ - 'lib/solargraph/library.rb'
922
+ - 'lib/solargraph/type_checker.rb'
923
+
924
+ # This cop supports safe autocorrection (--autocorrect).
925
+ # Configuration parameters: AllowIfModifier.
926
+ Style/IfInsideElse:
927
+ Enabled: false
928
+
929
+ # This cop supports safe autocorrection (--autocorrect).
930
+ Style/IfUnlessModifier:
931
+ Enabled: false
932
+
933
+ # This cop supports safe autocorrection (--autocorrect).
934
+ # Configuration parameters: EnforcedStyle.
935
+ # SupportedStyles: call, braces
936
+ Style/LambdaCall:
937
+ Exclude:
938
+ - 'lib/solargraph/library.rb'
939
+
940
+ # This cop supports unsafe autocorrection (--autocorrect-all).
941
+ Style/MapIntoArray:
942
+ Exclude:
943
+ - 'lib/solargraph/diagnostics/update_errors.rb'
944
+ - 'lib/solargraph/parser/parser_gem/node_chainer.rb'
945
+ - 'lib/solargraph/type_checker/param_def.rb'
946
+
947
+ # This cop supports unsafe autocorrection (--autocorrect-all).
948
+ Style/MapToHash:
949
+ Exclude:
950
+ - 'lib/solargraph/bench.rb'
951
+
952
+ # This cop supports unsafe autocorrection (--autocorrect-all).
953
+ Style/MapToSet:
954
+ Exclude:
955
+ - 'lib/solargraph/library.rb'
956
+ - 'spec/source_map/clip_spec.rb'
957
+
958
+ # This cop supports safe autocorrection (--autocorrect).
959
+ # Configuration parameters: EnforcedStyle.
960
+ # SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
961
+ Style/MethodDefParentheses:
962
+ Enabled: false
963
+
964
+ Style/MultilineBlockChain:
965
+ Exclude:
966
+ - 'lib/solargraph/pin/search.rb'
967
+
968
+ # This cop supports safe autocorrection (--autocorrect).
969
+ Style/MultilineIfModifier:
970
+ Exclude:
971
+ - 'lib/solargraph/pin/callable.rb'
972
+
973
+ # This cop supports safe autocorrection (--autocorrect).
974
+ Style/MultilineTernaryOperator:
975
+ Exclude:
976
+ - 'lib/solargraph/language_server/host.rb'
977
+
978
+ # This cop supports safe autocorrection (--autocorrect).
979
+ # Configuration parameters: AllowMethodComparison, ComparisonsThreshold.
980
+ Style/MultipleComparison:
981
+ Enabled: false
982
+
983
+ # This cop supports unsafe autocorrection (--autocorrect-all).
984
+ # Configuration parameters: EnforcedStyle.
985
+ # SupportedStyles: literals, strict
986
+ Style/MutableConstant:
987
+ Enabled: false
988
+
989
+ # This cop supports safe autocorrection (--autocorrect).
990
+ # Configuration parameters: EnforcedStyle.
991
+ # SupportedStyles: both, prefix, postfix
992
+ Style/NegatedIf:
993
+ Exclude:
994
+ - 'lib/solargraph/language_server/host/diagnoser.rb'
995
+
996
+ # This cop supports safe autocorrection (--autocorrect).
997
+ Style/NegatedIfElseCondition:
998
+ Exclude:
999
+ - 'lib/solargraph/diagnostics/rubocop.rb'
1000
+ - 'lib/solargraph/language_server/message/extended/document_gems.rb'
1001
+ - 'lib/solargraph/parser/parser_gem/node_methods.rb'
1002
+ - 'lib/solargraph/shell.rb'
1003
+ - 'lib/solargraph/type_checker.rb'
1004
+
1005
+ # This cop supports safe autocorrection (--autocorrect).
1006
+ Style/NestedTernaryOperator:
1007
+ Exclude:
1008
+ - 'lib/solargraph/pin/conversions.rb'
1009
+ - 'lib/solargraph/pin/method.rb'
1010
+
1011
+ # This cop supports safe autocorrection (--autocorrect).
1012
+ # Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals.
1013
+ # SupportedStyles: skip_modifier_ifs, always
1014
+ Style/Next:
1015
+ Exclude:
1016
+ - 'lib/solargraph/parser/parser_gem/node_processors/send_node.rb'
1017
+ - 'lib/solargraph/pin/signature.rb'
1018
+ - 'lib/solargraph/source_map/clip.rb'
1019
+ - 'lib/solargraph/type_checker/checks.rb'
1020
+
1021
+ # This cop supports safe autocorrection (--autocorrect).
1022
+ # Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
1023
+ Style/NumericLiterals:
1024
+ MinDigits: 6
1025
+
1026
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1027
+ # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
1028
+ # SupportedStyles: predicate, comparison
1029
+ Style/NumericPredicate:
1030
+ Enabled: false
1031
+
1032
+ Style/OpenStructUse:
1033
+ Exclude:
1034
+ - 'lib/solargraph/page.rb'
1035
+
1036
+ # Configuration parameters: AllowedMethods.
1037
+ # AllowedMethods: respond_to_missing?
1038
+ Style/OptionalBooleanParameter:
1039
+ Enabled: false
1040
+
1041
+ # This cop supports safe autocorrection (--autocorrect).
1042
+ # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
1043
+ Style/ParenthesesAroundCondition:
1044
+ Exclude:
1045
+ - 'lib/solargraph/parser/parser_gem/node_processors/send_node.rb'
1046
+ - 'lib/solargraph/type_checker.rb'
1047
+
1048
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1049
+ # Configuration parameters: EnforcedStyle.
1050
+ # SupportedStyles: short, verbose
1051
+ Style/PreferredHashMethods:
1052
+ Exclude:
1053
+ - 'lib/solargraph/language_server/message.rb'
1054
+
1055
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1056
+ # Configuration parameters: Methods.
1057
+ Style/RedundantArgument:
1058
+ Exclude:
1059
+ - 'lib/solargraph/source_map/mapper.rb'
1060
+
1061
+ # This cop supports safe autocorrection (--autocorrect).
1062
+ Style/RedundantAssignment:
1063
+ Exclude:
1064
+ - 'lib/solargraph/language_server/host/dispatch.rb'
1065
+ - 'lib/solargraph/workspace/config.rb'
1066
+
1067
+ # This cop supports safe autocorrection (--autocorrect).
1068
+ Style/RedundantBegin:
1069
+ Exclude:
1070
+ - 'lib/solargraph/language_server/transport/data_reader.rb'
1071
+ - 'lib/solargraph/shell.rb'
1072
+ - 'lib/solargraph/source/cursor.rb'
1073
+ - 'lib/solargraph/source/encoding_fixes.rb'
1074
+ - 'lib/solargraph/workspace.rb'
1075
+
1076
+ # This cop supports safe autocorrection (--autocorrect).
1077
+ Style/RedundantException:
1078
+ Exclude:
1079
+ - 'spec/language_server/host_spec.rb'
1080
+
1081
+ # This cop supports safe autocorrection (--autocorrect).
1082
+ Style/RedundantFreeze:
1083
+ Exclude:
1084
+ - 'lib/solargraph/complex_type.rb'
1085
+ - 'lib/solargraph/source_map/mapper.rb'
1086
+
1087
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1088
+ Style/RedundantInterpolation:
1089
+ Exclude:
1090
+ - 'lib/solargraph/parser/parser_gem/node_chainer.rb'
1091
+ - 'lib/solargraph/source_map/mapper.rb'
1092
+
1093
+ # This cop supports safe autocorrection (--autocorrect).
1094
+ Style/RedundantParentheses:
1095
+ Enabled: false
1096
+
1097
+ # This cop supports safe autocorrection (--autocorrect).
1098
+ Style/RedundantRegexpArgument:
1099
+ Exclude:
1100
+ - 'lib/solargraph/api_map/index.rb'
1101
+ - 'lib/solargraph/workspace/config.rb'
1102
+ - 'spec/diagnostics/rubocop_helpers_spec.rb'
1103
+ - 'spec/diagnostics/rubocop_spec.rb'
1104
+ - 'spec/language_server/host_spec.rb'
1105
+
1106
+ # This cop supports safe autocorrection (--autocorrect).
1107
+ Style/RedundantRegexpEscape:
1108
+ Enabled: false
1109
+
1110
+ # This cop supports safe autocorrection (--autocorrect).
1111
+ # Configuration parameters: AllowMultipleReturnValues.
1112
+ Style/RedundantReturn:
1113
+ Exclude:
1114
+ - 'lib/solargraph/complex_type/type_methods.rb'
1115
+ - 'lib/solargraph/doc_map.rb'
1116
+ - 'lib/solargraph/parser/parser_gem/node_methods.rb'
1117
+ - 'lib/solargraph/source/chain/z_super.rb'
1118
+
1119
+ # This cop supports safe autocorrection (--autocorrect).
1120
+ Style/RedundantSelf:
1121
+ Enabled: false
1122
+
1123
+ # This cop supports safe autocorrection (--autocorrect).
1124
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
1125
+ # SupportedStyles: slashes, percent_r, mixed
1126
+ Style/RegexpLiteral:
1127
+ Exclude:
1128
+ - 'lib/solargraph/language_server/uri_helpers.rb'
1129
+ - 'lib/solargraph/workspace/config.rb'
1130
+
1131
+ # This cop supports safe autocorrection (--autocorrect).
1132
+ # Configuration parameters: EnforcedStyle.
1133
+ # SupportedStyles: implicit, explicit
1134
+ Style/RescueStandardError:
1135
+ Exclude:
1136
+ - 'lib/solargraph/pin/base.rb'
1137
+
1138
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1139
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
1140
+ # AllowedMethods: present?, blank?, presence, try, try!
1141
+ Style/SafeNavigation:
1142
+ Enabled: false
1143
+
1144
+ # Configuration parameters: Max.
1145
+ Style/SafeNavigationChainLength:
1146
+ Exclude:
1147
+ - 'lib/solargraph/doc_map.rb'
1148
+
1149
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1150
+ Style/SlicingWithRange:
1151
+ Enabled: false
1152
+
1153
+ # This cop supports safe autocorrection (--autocorrect).
1154
+ # Configuration parameters: AllowModifier.
1155
+ Style/SoleNestedConditional:
1156
+ Enabled: false
1157
+
1158
+ # This cop supports safe autocorrection (--autocorrect).
1159
+ Style/StderrPuts:
1160
+ Exclude:
1161
+ - 'lib/solargraph/pin/base.rb'
1162
+ - 'lib/solargraph/shell.rb'
1163
+
1164
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1165
+ # Configuration parameters: Mode.
1166
+ Style/StringConcatenation:
1167
+ Enabled: false
1168
+
1169
+ # This cop supports safe autocorrection (--autocorrect).
1170
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
1171
+ # SupportedStyles: single_quotes, double_quotes
1172
+ Style/StringLiterals:
1173
+ Enabled: false
1174
+
1175
+ # This cop supports safe autocorrection (--autocorrect).
1176
+ Style/SuperArguments:
1177
+ Exclude:
1178
+ - 'lib/solargraph/pin/base_variable.rb'
1179
+ - 'lib/solargraph/pin/callable.rb'
1180
+ - 'lib/solargraph/pin/method.rb'
1181
+ - 'lib/solargraph/pin/signature.rb'
1182
+
1183
+ # This cop supports safe autocorrection (--autocorrect).
1184
+ # Configuration parameters: EnforcedStyle, MinSize.
1185
+ # SupportedStyles: percent, brackets
1186
+ Style/SymbolArray:
1187
+ Enabled: false
1188
+
1189
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1190
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
1191
+ # AllowedMethods: define_method
1192
+ Style/SymbolProc:
1193
+ Enabled: false
1194
+
1195
+ # This cop supports safe autocorrection (--autocorrect).
1196
+ # Configuration parameters: EnforcedStyle, AllowSafeAssignment.
1197
+ # SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
1198
+ Style/TernaryParentheses:
1199
+ Exclude:
1200
+ - 'lib/solargraph/source_map/mapper.rb'
1201
+
1202
+ # This cop supports safe autocorrection (--autocorrect).
1203
+ # Configuration parameters: EnforcedStyleForMultiline.
1204
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
1205
+ Style/TrailingCommaInArguments:
1206
+ Enabled: false
1207
+
1208
+ # This cop supports safe autocorrection (--autocorrect).
1209
+ # Configuration parameters: EnforcedStyleForMultiline.
1210
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
1211
+ Style/TrailingCommaInArrayLiteral:
1212
+ Exclude:
1213
+ - 'lib/solargraph/language_server/message/text_document/formatting.rb'
1214
+ - 'lib/solargraph/rbs_map/core_fills.rb'
1215
+
1216
+ # This cop supports safe autocorrection (--autocorrect).
1217
+ # Configuration parameters: EnforcedStyleForMultiline.
1218
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
1219
+ Style/TrailingCommaInHashLiteral:
1220
+ Enabled: false
1221
+
1222
+ # This cop supports safe autocorrection (--autocorrect).
1223
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
1224
+ # AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
1225
+ Style/TrivialAccessors:
1226
+ Exclude:
1227
+ - 'lib/solargraph/language_server/message/extended/check_gem_version.rb'
1228
+ - 'lib/solargraph/pin/keyword.rb'
1229
+
1230
+ # This cop supports safe autocorrection (--autocorrect).
1231
+ Style/WhileUntilModifier:
1232
+ Exclude:
1233
+ - 'lib/solargraph/complex_type.rb'
1234
+
1235
+ # This cop supports safe autocorrection (--autocorrect).
1236
+ # Configuration parameters: EnforcedStyle, MinSize, WordRegex.
1237
+ # SupportedStyles: percent, brackets
1238
+ Style/WordArray:
1239
+ Enabled: false
1240
+
1241
+ # This cop supports safe autocorrection (--autocorrect).
1242
+ Style/YAMLFileRead:
1243
+ Exclude:
1244
+ - 'lib/solargraph/workspace/config.rb'
1245
+
1246
+ # This cop supports unsafe autocorrection (--autocorrect-all).
1247
+ Style/ZeroLengthPredicate:
1248
+ Exclude:
1249
+ - 'lib/solargraph/language_server/host.rb'
1250
+ - 'lib/solargraph/pin/method.rb'
1251
+ - 'lib/solargraph/source/chain/array.rb'
1252
+ - 'spec/language_server/protocol_spec.rb'
1253
+
1254
+ # This cop supports safe autocorrection (--autocorrect).
1255
+ # Configuration parameters: EnforcedStyle.
1256
+ # SupportedStyles: long, short
1257
+ YARD/CollectionType:
1258
+ Exclude:
1259
+ - 'lib/solargraph/range.rb'
1260
+
1261
+ # This cop supports safe autocorrection (--autocorrect).
1262
+ # Configuration parameters: EnforcedStylePrototypeName.
1263
+ # SupportedStylesPrototypeName: before, after
1264
+ YARD/MismatchName:
1265
+ Enabled: false
1266
+
1267
+ YARD/TagTypeSyntax:
1268
+ Exclude:
1269
+ - 'lib/solargraph/api_map/constants.rb'
1270
+ - 'lib/solargraph/language_server/host.rb'
1271
+ - 'lib/solargraph/parser/comment_ripper.rb'
1272
+ - 'lib/solargraph/pin/method.rb'
1273
+ - 'lib/solargraph/type_checker.rb'
1274
+
1275
+ # This cop supports safe autocorrection (--autocorrect).
1276
+ # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
1277
+ # URISchemes: http, https
1278
+ Layout/LineLength:
1279
+ Max: 244