rubocop 0.93.1 → 1.79.2

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 (881) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +1 -1
  3. data/README.md +133 -103
  4. data/assets/output.css.erb +159 -0
  5. data/assets/output.html.erb +2 -161
  6. data/config/default.yml +1864 -271
  7. data/config/internal_affairs.yml +31 -0
  8. data/config/obsoletion.yml +243 -0
  9. data/exe/rubocop +16 -9
  10. data/lib/rubocop/arguments_env.rb +17 -0
  11. data/lib/rubocop/arguments_file.rb +17 -0
  12. data/lib/rubocop/cache_config.rb +29 -0
  13. data/lib/rubocop/cached_data.rb +22 -8
  14. data/lib/rubocop/cli/command/{auto_genenerate_config.rb → auto_generate_config.rb} +55 -29
  15. data/lib/rubocop/cli/command/execute_runner.rb +39 -19
  16. data/lib/rubocop/cli/command/init_dotfile.rb +2 -4
  17. data/lib/rubocop/cli/command/lsp.rb +19 -0
  18. data/lib/rubocop/cli/command/show_cops.rb +26 -7
  19. data/lib/rubocop/cli/command/show_docs_url.rb +48 -0
  20. data/lib/rubocop/cli/command/suggest_extensions.rb +132 -0
  21. data/lib/rubocop/cli/command/version.rb +2 -2
  22. data/lib/rubocop/cli.rb +108 -16
  23. data/lib/rubocop/comment_config.rb +107 -104
  24. data/lib/rubocop/config.rb +160 -58
  25. data/lib/rubocop/config_finder.rb +78 -0
  26. data/lib/rubocop/config_loader.rb +112 -102
  27. data/lib/rubocop/config_loader_resolver.rb +124 -47
  28. data/lib/rubocop/config_obsoletion/changed_enforced_styles.rb +33 -0
  29. data/lib/rubocop/config_obsoletion/changed_parameter.rb +26 -0
  30. data/lib/rubocop/config_obsoletion/cop_rule.rb +33 -0
  31. data/lib/rubocop/config_obsoletion/extracted_cop.rb +47 -0
  32. data/lib/rubocop/config_obsoletion/parameter_rule.rb +56 -0
  33. data/lib/rubocop/config_obsoletion/removed_cop.rb +41 -0
  34. data/lib/rubocop/config_obsoletion/renamed_cop.rb +49 -0
  35. data/lib/rubocop/config_obsoletion/rule.rb +41 -0
  36. data/lib/rubocop/config_obsoletion/split_cop.rb +27 -0
  37. data/lib/rubocop/config_obsoletion.rb +110 -238
  38. data/lib/rubocop/config_regeneration.rb +1 -1
  39. data/lib/rubocop/config_store.rb +13 -3
  40. data/lib/rubocop/config_validator.rb +110 -43
  41. data/lib/rubocop/cop/autocorrect_logic.rb +82 -18
  42. data/lib/rubocop/cop/badge.rb +21 -26
  43. data/lib/rubocop/cop/base.rb +235 -118
  44. data/lib/rubocop/cop/bundler/duplicated_gem.rb +33 -16
  45. data/lib/rubocop/cop/bundler/duplicated_group.rb +127 -0
  46. data/lib/rubocop/cop/bundler/gem_comment.rb +46 -13
  47. data/lib/rubocop/cop/bundler/gem_filename.rb +102 -0
  48. data/lib/rubocop/cop/bundler/gem_version.rb +132 -0
  49. data/lib/rubocop/cop/bundler/insecure_protocol_source.rb +46 -22
  50. data/lib/rubocop/cop/bundler/ordered_gems.rb +17 -20
  51. data/lib/rubocop/cop/commissioner.rb +57 -36
  52. data/lib/rubocop/cop/cop.rb +86 -54
  53. data/lib/rubocop/cop/corrector.rb +41 -22
  54. data/lib/rubocop/cop/correctors/alignment_corrector.rb +10 -27
  55. data/lib/rubocop/cop/correctors/condition_corrector.rb +1 -1
  56. data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +8 -14
  57. data/lib/rubocop/cop/correctors/empty_line_corrector.rb +1 -1
  58. data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +11 -18
  59. data/lib/rubocop/cop/correctors/if_then_corrector.rb +55 -0
  60. data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +10 -7
  61. data/lib/rubocop/cop/correctors/line_break_corrector.rb +13 -8
  62. data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +26 -12
  63. data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +10 -16
  64. data/lib/rubocop/cop/correctors/parentheses_corrector.rb +65 -4
  65. data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +17 -13
  66. data/lib/rubocop/cop/correctors/punctuation_corrector.rb +1 -1
  67. data/lib/rubocop/cop/correctors/require_library_corrector.rb +23 -0
  68. data/lib/rubocop/cop/correctors/space_corrector.rb +1 -1
  69. data/lib/rubocop/cop/correctors/string_literal_corrector.rb +7 -9
  70. data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +2 -2
  71. data/lib/rubocop/cop/documentation.rb +47 -3
  72. data/lib/rubocop/cop/exclude_limit.rb +26 -0
  73. data/lib/rubocop/cop/force.rb +13 -1
  74. data/lib/rubocop/cop/gemspec/add_runtime_dependency.rb +38 -0
  75. data/lib/rubocop/cop/gemspec/attribute_assignment.rb +91 -0
  76. data/lib/rubocop/cop/gemspec/dependency_version.rb +152 -0
  77. data/lib/rubocop/cop/gemspec/deprecated_attribute_assignment.rb +91 -0
  78. data/lib/rubocop/cop/gemspec/development_dependencies.rb +107 -0
  79. data/lib/rubocop/cop/gemspec/duplicated_assignment.rb +47 -40
  80. data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +16 -19
  81. data/lib/rubocop/cop/gemspec/require_mfa.rb +159 -0
  82. data/lib/rubocop/cop/gemspec/required_ruby_version.rb +50 -32
  83. data/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +9 -14
  84. data/lib/rubocop/cop/generator/configuration_injector.rb +2 -3
  85. data/lib/rubocop/cop/generator/require_file_injector.rb +5 -8
  86. data/lib/rubocop/cop/generator.rb +38 -39
  87. data/lib/rubocop/cop/internal_affairs/cop_description.rb +118 -0
  88. data/lib/rubocop/cop/internal_affairs/cop_enabled.rb +85 -0
  89. data/lib/rubocop/cop/internal_affairs/create_empty_file.rb +37 -0
  90. data/lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb +69 -0
  91. data/lib/rubocop/cop/internal_affairs/example_description.rb +118 -0
  92. data/lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +111 -0
  93. data/lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb +34 -0
  94. data/lib/rubocop/cop/internal_affairs/lambda_or_proc.rb +46 -0
  95. data/lib/rubocop/cop/internal_affairs/location_exists.rb +116 -0
  96. data/lib/rubocop/cop/internal_affairs/location_expression.rb +38 -0
  97. data/lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb +61 -0
  98. data/lib/rubocop/cop/internal_affairs/method_name_end_with.rb +82 -0
  99. data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +19 -22
  100. data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +3 -3
  101. data/lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb +54 -0
  102. data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +241 -0
  103. data/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_processor.rb +63 -0
  104. data/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_walker.rb +131 -0
  105. data/lib/rubocop/cop/internal_affairs/node_pattern_groups.rb +231 -0
  106. data/lib/rubocop/cop/internal_affairs/node_type_group.rb +92 -0
  107. data/lib/rubocop/cop/internal_affairs/node_type_multiple_predicates.rb +126 -0
  108. data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +5 -5
  109. data/lib/rubocop/cop/internal_affairs/numblock_handler.rb +69 -0
  110. data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +3 -2
  111. data/lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb +90 -0
  112. data/lib/rubocop/cop/internal_affairs/operator_keyword.rb +48 -0
  113. data/lib/rubocop/cop/internal_affairs/plugin.rb +33 -0
  114. data/lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb +42 -0
  115. data/lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb +46 -0
  116. data/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +63 -0
  117. data/lib/rubocop/cop/internal_affairs/redundant_expect_offense_arguments.rb +34 -0
  118. data/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +73 -0
  119. data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +2 -1
  120. data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +9 -21
  121. data/lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb +56 -0
  122. data/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +75 -0
  123. data/lib/rubocop/cop/internal_affairs/single_line_comparison.rb +63 -0
  124. data/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +146 -0
  125. data/lib/rubocop/cop/internal_affairs/undefined_config.rb +94 -0
  126. data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +6 -9
  127. data/lib/rubocop/cop/internal_affairs/useless_restrict_on_send.rb +60 -0
  128. data/lib/rubocop/cop/internal_affairs.rb +32 -1
  129. data/lib/rubocop/cop/layout/access_modifier_indentation.rb +18 -12
  130. data/lib/rubocop/cop/layout/argument_alignment.rb +79 -21
  131. data/lib/rubocop/cop/layout/array_alignment.rb +11 -10
  132. data/lib/rubocop/cop/layout/assignment_indentation.rb +13 -11
  133. data/lib/rubocop/cop/layout/begin_end_alignment.rb +2 -6
  134. data/lib/rubocop/cop/layout/block_alignment.rb +64 -53
  135. data/lib/rubocop/cop/layout/block_end_newline.rb +34 -15
  136. data/lib/rubocop/cop/layout/case_indentation.rb +73 -11
  137. data/lib/rubocop/cop/layout/class_structure.rb +114 -38
  138. data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +2 -3
  139. data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +26 -36
  140. data/lib/rubocop/cop/layout/comment_indentation.rb +55 -28
  141. data/lib/rubocop/cop/layout/condition_position.rb +1 -5
  142. data/lib/rubocop/cop/layout/def_end_alignment.rb +6 -10
  143. data/lib/rubocop/cop/layout/dot_position.rb +48 -15
  144. data/lib/rubocop/cop/layout/else_alignment.rb +27 -13
  145. data/lib/rubocop/cop/layout/empty_comment.rb +9 -14
  146. data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +82 -28
  147. data/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +14 -7
  148. data/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +2 -2
  149. data/lib/rubocop/cop/layout/empty_line_between_defs.rb +170 -27
  150. data/lib/rubocop/cop/layout/empty_lines.rb +4 -4
  151. data/lib/rubocop/cop/layout/empty_lines_after_module_inclusion.rb +101 -0
  152. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +48 -22
  153. data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +13 -29
  154. data/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +26 -5
  155. data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +6 -7
  156. data/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +8 -5
  157. data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +11 -11
  158. data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +24 -17
  159. data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +24 -2
  160. data/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +10 -10
  161. data/lib/rubocop/cop/layout/end_alignment.rb +36 -10
  162. data/lib/rubocop/cop/layout/end_of_line.rb +11 -11
  163. data/lib/rubocop/cop/layout/extra_spacing.rb +19 -21
  164. data/lib/rubocop/cop/layout/first_argument_indentation.rb +70 -39
  165. data/lib/rubocop/cop/layout/first_array_element_indentation.rb +49 -31
  166. data/lib/rubocop/cop/layout/first_array_element_line_break.rb +37 -11
  167. data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +79 -29
  168. data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +39 -5
  169. data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +67 -11
  170. data/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +54 -22
  171. data/lib/rubocop/cop/layout/first_parameter_indentation.rb +12 -11
  172. data/lib/rubocop/cop/layout/hash_alignment.rb +73 -37
  173. data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +41 -15
  174. data/lib/rubocop/cop/layout/heredoc_indentation.rb +16 -27
  175. data/lib/rubocop/cop/layout/indentation_consistency.rb +10 -7
  176. data/lib/rubocop/cop/layout/indentation_style.rb +32 -32
  177. data/lib/rubocop/cop/layout/indentation_width.rb +64 -37
  178. data/lib/rubocop/cop/layout/initial_indentation.rb +3 -6
  179. data/lib/rubocop/cop/layout/leading_comment_space.rb +87 -5
  180. data/lib/rubocop/cop/layout/leading_empty_lines.rb +1 -1
  181. data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +153 -0
  182. data/lib/rubocop/cop/layout/line_continuation_spacing.rb +146 -0
  183. data/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +143 -0
  184. data/lib/rubocop/cop/layout/line_length.rb +200 -64
  185. data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +7 -7
  186. data/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +33 -4
  187. data/lib/rubocop/cop/layout/multiline_assignment_layout.rb +31 -5
  188. data/lib/rubocop/cop/layout/multiline_block_layout.rb +15 -20
  189. data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +7 -7
  190. data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +32 -5
  191. data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +68 -4
  192. data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +9 -8
  193. data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +69 -26
  194. data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +8 -8
  195. data/lib/rubocop/cop/layout/multiline_method_parameter_line_breaks.rb +78 -0
  196. data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +21 -18
  197. data/lib/rubocop/cop/layout/parameter_alignment.rb +11 -11
  198. data/lib/rubocop/cop/layout/redundant_line_break.rb +134 -0
  199. data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +38 -36
  200. data/lib/rubocop/cop/layout/single_line_block_chain.rb +69 -0
  201. data/lib/rubocop/cop/layout/space_after_colon.rb +4 -6
  202. data/lib/rubocop/cop/layout/space_after_comma.rb +10 -2
  203. data/lib/rubocop/cop/layout/space_after_method_name.rb +3 -5
  204. data/lib/rubocop/cop/layout/space_after_not.rb +3 -2
  205. data/lib/rubocop/cop/layout/space_after_semicolon.rb +11 -1
  206. data/lib/rubocop/cop/layout/space_around_block_parameters.rb +32 -34
  207. data/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +3 -2
  208. data/lib/rubocop/cop/layout/space_around_keyword.rb +42 -11
  209. data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +3 -3
  210. data/lib/rubocop/cop/layout/space_around_operators.rb +101 -41
  211. data/lib/rubocop/cop/layout/space_before_block_braces.rb +29 -16
  212. data/lib/rubocop/cop/layout/space_before_brackets.rb +40 -0
  213. data/lib/rubocop/cop/layout/space_before_comma.rb +1 -1
  214. data/lib/rubocop/cop/layout/space_before_comment.rb +4 -6
  215. data/lib/rubocop/cop/layout/space_before_first_arg.rb +10 -12
  216. data/lib/rubocop/cop/layout/space_before_semicolon.rb +1 -1
  217. data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +16 -12
  218. data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +51 -39
  219. data/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +5 -7
  220. data/lib/rubocop/cop/layout/space_inside_block_braces.rb +56 -33
  221. data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +41 -8
  222. data/lib/rubocop/cop/layout/space_inside_parens.rb +93 -25
  223. data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +34 -0
  224. data/lib/rubocop/cop/layout/space_inside_range_literal.rb +1 -1
  225. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +12 -9
  226. data/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +7 -8
  227. data/lib/rubocop/cop/layout/trailing_empty_lines.rb +15 -10
  228. data/lib/rubocop/cop/layout/trailing_whitespace.rb +72 -16
  229. data/lib/rubocop/cop/legacy/corrections_proxy.rb +3 -9
  230. data/lib/rubocop/cop/legacy/corrector.rb +13 -5
  231. data/lib/rubocop/cop/lint/ambiguous_assignment.rb +54 -0
  232. data/lib/rubocop/cop/lint/ambiguous_block_association.rb +50 -12
  233. data/lib/rubocop/cop/lint/ambiguous_operator.rb +11 -9
  234. data/lib/rubocop/cop/lint/ambiguous_operator_precedence.rb +111 -0
  235. data/lib/rubocop/cop/lint/ambiguous_range.rb +113 -0
  236. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +13 -7
  237. data/lib/rubocop/cop/lint/array_literal_in_regexp.rb +118 -0
  238. data/lib/rubocop/cop/lint/assignment_in_condition.rb +25 -15
  239. data/lib/rubocop/cop/lint/big_decimal_new.rb +5 -7
  240. data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +30 -14
  241. data/lib/rubocop/cop/lint/boolean_symbol.rb +10 -7
  242. data/lib/rubocop/cop/lint/circular_argument_reference.rb +5 -15
  243. data/lib/rubocop/cop/lint/constant_definition_in_block.rb +30 -4
  244. data/lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb +51 -0
  245. data/lib/rubocop/cop/lint/constant_reassignment.rb +148 -0
  246. data/lib/rubocop/cop/lint/constant_resolution.rb +7 -3
  247. data/lib/rubocop/cop/lint/cop_directive_syntax.rb +84 -0
  248. data/lib/rubocop/cop/lint/debugger.rb +99 -35
  249. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +73 -63
  250. data/lib/rubocop/cop/lint/deprecated_constants.rb +88 -0
  251. data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +25 -21
  252. data/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +24 -1
  253. data/lib/rubocop/cop/lint/duplicate_branch.rb +188 -0
  254. data/lib/rubocop/cop/lint/duplicate_case_condition.rb +4 -18
  255. data/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +1 -1
  256. data/lib/rubocop/cop/lint/duplicate_hash_key.rb +4 -9
  257. data/lib/rubocop/cop/lint/duplicate_magic_comment.rb +73 -0
  258. data/lib/rubocop/cop/lint/duplicate_match_pattern.rb +122 -0
  259. data/lib/rubocop/cop/lint/duplicate_methods.rb +168 -58
  260. data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +121 -0
  261. data/lib/rubocop/cop/lint/duplicate_require.rb +14 -4
  262. data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +1 -1
  263. data/lib/rubocop/cop/lint/duplicate_set_element.rb +87 -0
  264. data/lib/rubocop/cop/lint/each_with_object_argument.rb +3 -6
  265. data/lib/rubocop/cop/lint/else_layout.rb +32 -10
  266. data/lib/rubocop/cop/lint/empty_block.rb +94 -0
  267. data/lib/rubocop/cop/lint/empty_class.rb +95 -0
  268. data/lib/rubocop/cop/lint/empty_conditional_body.rb +85 -4
  269. data/lib/rubocop/cop/lint/empty_ensure.rb +3 -15
  270. data/lib/rubocop/cop/lint/empty_expression.rb +1 -3
  271. data/lib/rubocop/cop/lint/empty_file.rb +2 -6
  272. data/lib/rubocop/cop/lint/empty_in_pattern.rb +64 -0
  273. data/lib/rubocop/cop/lint/empty_interpolation.rb +5 -9
  274. data/lib/rubocop/cop/lint/empty_when.rb +5 -5
  275. data/lib/rubocop/cop/lint/ensure_return.rb +3 -13
  276. data/lib/rubocop/cop/lint/erb_new_arguments.rb +40 -43
  277. data/lib/rubocop/cop/lint/flip_flop.rb +8 -2
  278. data/lib/rubocop/cop/lint/float_comparison.rb +59 -16
  279. data/lib/rubocop/cop/lint/float_out_of_range.rb +2 -9
  280. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +17 -22
  281. data/lib/rubocop/cop/lint/hash_compare_by_identity.rb +15 -4
  282. data/lib/rubocop/cop/lint/hash_new_with_keyword_arguments_as_default.rb +55 -0
  283. data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +18 -21
  284. data/lib/rubocop/cop/lint/identity_comparison.rb +19 -16
  285. data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +25 -15
  286. data/lib/rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler.rb +81 -0
  287. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +6 -16
  288. data/lib/rubocop/cop/lint/inherit_exception.rb +29 -29
  289. data/lib/rubocop/cop/lint/interpolation_check.rb +21 -13
  290. data/lib/rubocop/cop/lint/it_without_arguments_in_block.rb +50 -0
  291. data/lib/rubocop/cop/lint/lambda_without_literal_block.rb +51 -0
  292. data/lib/rubocop/cop/lint/literal_as_condition.rb +145 -13
  293. data/lib/rubocop/cop/lint/literal_assignment_in_condition.rb +85 -0
  294. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +130 -18
  295. data/lib/rubocop/cop/lint/loop.rb +13 -19
  296. data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +48 -22
  297. data/lib/rubocop/cop/lint/missing_super.rb +70 -10
  298. data/lib/rubocop/cop/lint/mixed_case_range.rb +113 -0
  299. data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +3 -3
  300. data/lib/rubocop/cop/lint/multiple_comparison.rb +5 -4
  301. data/lib/rubocop/cop/lint/nested_method_definition.rb +64 -20
  302. data/lib/rubocop/cop/lint/nested_percent_literal.rb +17 -5
  303. data/lib/rubocop/cop/lint/next_without_accumulator.rb +11 -10
  304. data/lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb +53 -0
  305. data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +174 -0
  306. data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +41 -18
  307. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +7 -4
  308. data/lib/rubocop/cop/lint/number_conversion.rb +142 -21
  309. data/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +46 -0
  310. data/lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb +94 -0
  311. data/lib/rubocop/cop/lint/or_assignment_to_constant.rb +41 -0
  312. data/lib/rubocop/cop/lint/ordered_magic_comments.rb +5 -8
  313. data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +63 -13
  314. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +17 -15
  315. data/lib/rubocop/cop/lint/percent_string_array.rb +13 -7
  316. data/lib/rubocop/cop/lint/percent_symbol_array.rb +4 -10
  317. data/lib/rubocop/cop/lint/raise_exception.rb +36 -12
  318. data/lib/rubocop/cop/lint/rand_one.rb +3 -7
  319. data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +156 -97
  320. data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +33 -23
  321. data/lib/rubocop/cop/lint/redundant_dir_glob_sort.rb +62 -0
  322. data/lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb +130 -0
  323. data/lib/rubocop/cop/lint/redundant_require_statement.rb +36 -6
  324. data/lib/rubocop/cop/lint/redundant_safe_navigation.rb +196 -15
  325. data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +67 -33
  326. data/lib/rubocop/cop/lint/redundant_string_coercion.rb +37 -21
  327. data/lib/rubocop/cop/lint/redundant_type_conversion.rb +261 -0
  328. data/lib/rubocop/cop/lint/redundant_with_index.rb +22 -14
  329. data/lib/rubocop/cop/lint/redundant_with_object.rb +17 -15
  330. data/lib/rubocop/cop/lint/refinement_import_methods.rb +52 -0
  331. data/lib/rubocop/cop/lint/regexp_as_condition.rb +9 -6
  332. data/lib/rubocop/cop/lint/require_parentheses.rb +6 -10
  333. data/lib/rubocop/cop/lint/require_range_parentheses.rb +57 -0
  334. data/lib/rubocop/cop/lint/require_relative_self_path.rb +50 -0
  335. data/lib/rubocop/cop/lint/rescue_exception.rb +2 -7
  336. data/lib/rubocop/cop/lint/rescue_type.rb +7 -18
  337. data/lib/rubocop/cop/lint/return_in_void_context.rb +13 -30
  338. data/lib/rubocop/cop/lint/safe_navigation_chain.rb +73 -19
  339. data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +109 -47
  340. data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +3 -3
  341. data/lib/rubocop/cop/lint/script_permission.rb +4 -4
  342. data/lib/rubocop/cop/lint/self_assignment.rb +72 -11
  343. data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +8 -12
  344. data/lib/rubocop/cop/lint/shadowed_argument.rb +8 -13
  345. data/lib/rubocop/cop/lint/shadowed_exception.rb +30 -43
  346. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +68 -5
  347. data/lib/rubocop/cop/lint/shared_mutable_default.rb +76 -0
  348. data/lib/rubocop/cop/lint/struct_new_override.rb +16 -16
  349. data/lib/rubocop/cop/lint/suppressed_exception.rb +48 -5
  350. data/lib/rubocop/cop/lint/suppressed_exception_in_number_conversion.rb +111 -0
  351. data/lib/rubocop/cop/lint/symbol_conversion.rb +184 -0
  352. data/lib/rubocop/cop/lint/syntax.rb +17 -10
  353. data/lib/rubocop/cop/lint/to_enum_arguments.rb +99 -0
  354. data/lib/rubocop/cop/lint/to_json.rb +2 -3
  355. data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +24 -10
  356. data/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +4 -6
  357. data/lib/rubocop/cop/lint/triple_quotes.rb +71 -0
  358. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +2 -4
  359. data/lib/rubocop/cop/lint/unescaped_bracket_in_regexp.rb +88 -0
  360. data/lib/rubocop/cop/lint/unexpected_block_arity.rb +92 -0
  361. data/lib/rubocop/cop/lint/unified_integer.rb +4 -5
  362. data/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +205 -0
  363. data/lib/rubocop/cop/lint/unreachable_code.rb +59 -14
  364. data/lib/rubocop/cop/lint/unreachable_loop.rb +48 -11
  365. data/lib/rubocop/cop/lint/unused_block_argument.rb +11 -9
  366. data/lib/rubocop/cop/lint/unused_method_argument.rb +29 -9
  367. data/lib/rubocop/cop/lint/uri_escape_unescape.rb +2 -1
  368. data/lib/rubocop/cop/lint/uri_regexp.rb +25 -7
  369. data/lib/rubocop/cop/lint/useless_access_modifier.rb +57 -24
  370. data/lib/rubocop/cop/lint/useless_assignment.rb +109 -25
  371. data/lib/rubocop/cop/lint/useless_constant_scoping.rb +71 -0
  372. data/lib/rubocop/cop/lint/useless_default_value_argument.rb +90 -0
  373. data/lib/rubocop/cop/lint/useless_defined.rb +55 -0
  374. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +6 -7
  375. data/lib/rubocop/cop/lint/useless_method_definition.rb +18 -11
  376. data/lib/rubocop/cop/lint/useless_numeric_operation.rb +79 -0
  377. data/lib/rubocop/cop/lint/useless_or.rb +98 -0
  378. data/lib/rubocop/cop/lint/useless_rescue.rb +89 -0
  379. data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +127 -0
  380. data/lib/rubocop/cop/lint/useless_setter_call.rb +29 -37
  381. data/lib/rubocop/cop/lint/useless_times.rb +25 -17
  382. data/lib/rubocop/cop/lint/utils/nil_receiver_checker.rb +121 -0
  383. data/lib/rubocop/cop/lint/void.rb +156 -31
  384. data/lib/rubocop/cop/message_annotator.rb +12 -7
  385. data/lib/rubocop/cop/metrics/abc_size.rb +35 -3
  386. data/lib/rubocop/cop/metrics/block_length.rb +30 -16
  387. data/lib/rubocop/cop/metrics/block_nesting.rb +23 -16
  388. data/lib/rubocop/cop/metrics/class_length.rb +30 -20
  389. data/lib/rubocop/cop/metrics/collection_literal_length.rb +83 -0
  390. data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +7 -14
  391. data/lib/rubocop/cop/metrics/method_length.rb +32 -11
  392. data/lib/rubocop/cop/metrics/module_length.rb +17 -14
  393. data/lib/rubocop/cop/metrics/parameter_lists.rb +104 -7
  394. data/lib/rubocop/cop/metrics/perceived_complexity.rb +3 -4
  395. data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +28 -26
  396. data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +69 -18
  397. data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +143 -0
  398. data/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +6 -1
  399. data/lib/rubocop/cop/migration/department_name.rb +8 -10
  400. data/lib/rubocop/cop/mixin/alignment.rb +20 -11
  401. data/lib/rubocop/cop/mixin/allowed_identifiers.rb +18 -0
  402. data/lib/rubocop/cop/mixin/allowed_methods.rb +29 -2
  403. data/lib/rubocop/cop/mixin/allowed_pattern.rb +68 -0
  404. data/lib/rubocop/cop/mixin/allowed_receivers.rb +34 -0
  405. data/lib/rubocop/cop/mixin/annotation_comment.rb +56 -28
  406. data/lib/rubocop/cop/mixin/check_assignment.rb +4 -12
  407. data/lib/rubocop/cop/mixin/check_line_breakable.rb +53 -9
  408. data/lib/rubocop/cop/mixin/check_single_line_suitability.rb +49 -0
  409. data/lib/rubocop/cop/mixin/code_length.rb +17 -6
  410. data/lib/rubocop/cop/mixin/comments_help.rb +62 -15
  411. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +23 -11
  412. data/lib/rubocop/cop/mixin/configurable_formatting.rb +4 -8
  413. data/lib/rubocop/cop/mixin/configurable_max.rb +5 -0
  414. data/lib/rubocop/cop/mixin/configurable_numbering.rb +4 -3
  415. data/lib/rubocop/cop/mixin/def_node.rb +5 -12
  416. data/lib/rubocop/cop/mixin/dig_help.rb +27 -0
  417. data/lib/rubocop/cop/mixin/documentation_comment.rb +8 -8
  418. data/lib/rubocop/cop/mixin/duplication.rb +1 -1
  419. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +7 -8
  420. data/lib/rubocop/cop/mixin/empty_parameter.rb +2 -3
  421. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +3 -6
  422. data/lib/rubocop/cop/mixin/endless_method_rewriter.rb +24 -0
  423. data/lib/rubocop/cop/mixin/enforce_superclass.rb +19 -7
  424. data/lib/rubocop/cop/mixin/first_element_line_break.rb +13 -11
  425. data/lib/rubocop/cop/mixin/forbidden_identifiers.rb +20 -0
  426. data/lib/rubocop/cop/mixin/forbidden_pattern.rb +16 -0
  427. data/lib/rubocop/cop/mixin/frozen_string_literal.rb +53 -16
  428. data/lib/rubocop/cop/mixin/gem_declaration.rb +13 -0
  429. data/lib/rubocop/cop/mixin/gemspec_help.rb +52 -0
  430. data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +34 -24
  431. data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +236 -0
  432. data/lib/rubocop/cop/mixin/hash_subset.rb +203 -0
  433. data/lib/rubocop/cop/mixin/hash_transform_method.rb +83 -88
  434. data/lib/rubocop/cop/mixin/heredoc.rb +11 -2
  435. data/lib/rubocop/cop/mixin/interpolation.rb +1 -3
  436. data/lib/rubocop/cop/mixin/line_length_help.rb +65 -20
  437. data/lib/rubocop/cop/mixin/match_range.rb +2 -5
  438. data/lib/rubocop/cop/mixin/method_complexity.rb +33 -19
  439. data/lib/rubocop/cop/mixin/method_preference.rb +1 -2
  440. data/lib/rubocop/cop/mixin/min_branches_count.rb +40 -0
  441. data/lib/rubocop/cop/mixin/multiline_element_indentation.rb +39 -16
  442. data/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +6 -9
  443. data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +26 -55
  444. data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +2 -3
  445. data/lib/rubocop/cop/mixin/negative_conditional.rb +4 -2
  446. data/lib/rubocop/cop/mixin/ordered_gem_node.rb +12 -7
  447. data/lib/rubocop/cop/mixin/percent_array.rb +75 -9
  448. data/lib/rubocop/cop/mixin/percent_literal.rb +2 -8
  449. data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +79 -41
  450. data/lib/rubocop/cop/mixin/preferred_delimiters.rb +6 -9
  451. data/lib/rubocop/cop/mixin/range_help.rb +51 -22
  452. data/lib/rubocop/cop/mixin/rational_literal.rb +1 -0
  453. data/lib/rubocop/cop/mixin/require_library.rb +61 -0
  454. data/lib/rubocop/cop/mixin/rescue_node.rb +9 -7
  455. data/lib/rubocop/cop/mixin/safe_assignment.rb +7 -3
  456. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +3 -5
  457. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +3 -4
  458. data/lib/rubocop/cop/mixin/statement_modifier.rb +34 -10
  459. data/lib/rubocop/cop/mixin/string_help.rb +10 -5
  460. data/lib/rubocop/cop/mixin/string_literals_help.rb +15 -5
  461. data/lib/rubocop/cop/mixin/surrounding_space.rb +17 -13
  462. data/lib/rubocop/cop/mixin/symbol_help.rb +13 -0
  463. data/lib/rubocop/cop/mixin/target_ruby_version.rb +17 -1
  464. data/lib/rubocop/cop/mixin/trailing_body.rb +2 -3
  465. data/lib/rubocop/cop/mixin/trailing_comma.rb +26 -11
  466. data/lib/rubocop/cop/mixin/uncommunicative_name.rb +12 -14
  467. data/lib/rubocop/cop/mixin/unused_argument.rb +1 -3
  468. data/lib/rubocop/cop/mixin/visibility_help.rb +42 -8
  469. data/lib/rubocop/cop/naming/accessor_method_name.rb +23 -2
  470. data/lib/rubocop/cop/naming/ascii_identifiers.rb +4 -9
  471. data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +15 -5
  472. data/lib/rubocop/cop/naming/block_forwarding.rb +156 -0
  473. data/lib/rubocop/cop/naming/block_parameter_name.rb +3 -3
  474. data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +4 -2
  475. data/lib/rubocop/cop/naming/constant_name.rb +14 -14
  476. data/lib/rubocop/cop/naming/file_name.rb +48 -26
  477. data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +12 -6
  478. data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +4 -2
  479. data/lib/rubocop/cop/naming/inclusive_language.rb +297 -0
  480. data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +155 -32
  481. data/lib/rubocop/cop/naming/method_name.rb +191 -19
  482. data/lib/rubocop/cop/naming/method_parameter_name.rb +2 -2
  483. data/lib/rubocop/cop/naming/predicate_method.rb +306 -0
  484. data/lib/rubocop/cop/naming/predicate_prefix.rb +204 -0
  485. data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +72 -13
  486. data/lib/rubocop/cop/naming/variable_name.rb +65 -5
  487. data/lib/rubocop/cop/naming/variable_number.rb +107 -13
  488. data/lib/rubocop/cop/offense.rb +9 -15
  489. data/lib/rubocop/cop/registry.rb +95 -53
  490. data/lib/rubocop/cop/security/compound_hash.rb +108 -0
  491. data/lib/rubocop/cop/security/eval.rb +4 -2
  492. data/lib/rubocop/cop/security/io_methods.rb +49 -0
  493. data/lib/rubocop/cop/security/json_load.rb +10 -8
  494. data/lib/rubocop/cop/security/marshal_load.rb +2 -1
  495. data/lib/rubocop/cop/security/open.rb +28 -10
  496. data/lib/rubocop/cop/security/yaml_load.rb +16 -4
  497. data/lib/rubocop/cop/severity.rb +3 -3
  498. data/lib/rubocop/cop/style/access_modifier_declarations.rb +238 -8
  499. data/lib/rubocop/cop/style/accessor_grouping.rb +91 -29
  500. data/lib/rubocop/cop/style/alias.rb +26 -22
  501. data/lib/rubocop/cop/style/ambiguous_endless_method_definition.rb +79 -0
  502. data/lib/rubocop/cop/style/and_or.rb +29 -14
  503. data/lib/rubocop/cop/style/arguments_forwarding.rb +564 -0
  504. data/lib/rubocop/cop/style/array_coercion.rb +24 -4
  505. data/lib/rubocop/cop/style/array_first_last.rb +80 -0
  506. data/lib/rubocop/cop/style/array_intersect.rb +161 -0
  507. data/lib/rubocop/cop/style/array_join.rb +2 -1
  508. data/lib/rubocop/cop/style/ascii_comments.rb +4 -8
  509. data/lib/rubocop/cop/style/attr.rb +13 -4
  510. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +22 -18
  511. data/lib/rubocop/cop/style/bare_percent_literals.rb +1 -1
  512. data/lib/rubocop/cop/style/begin_block.rb +1 -2
  513. data/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +60 -0
  514. data/lib/rubocop/cop/style/bisected_attr_accessor.rb +61 -77
  515. data/lib/rubocop/cop/style/bitwise_predicate.rb +100 -0
  516. data/lib/rubocop/cop/style/block_comments.rb +4 -4
  517. data/lib/rubocop/cop/style/block_delimiters.rb +144 -23
  518. data/lib/rubocop/cop/style/case_equality.rb +49 -21
  519. data/lib/rubocop/cop/style/case_like_if.rb +56 -31
  520. data/lib/rubocop/cop/style/character_literal.rb +20 -16
  521. data/lib/rubocop/cop/style/class_and_module_children.rb +97 -26
  522. data/lib/rubocop/cop/style/class_check.rb +2 -1
  523. data/lib/rubocop/cop/style/class_equality_comparison.rb +83 -13
  524. data/lib/rubocop/cop/style/class_methods.rb +2 -4
  525. data/lib/rubocop/cop/style/class_methods_definitions.rb +3 -2
  526. data/lib/rubocop/cop/style/class_vars.rb +4 -4
  527. data/lib/rubocop/cop/style/collection_compact.rb +143 -0
  528. data/lib/rubocop/cop/style/collection_methods.rb +27 -7
  529. data/lib/rubocop/cop/style/collection_querying.rb +167 -0
  530. data/lib/rubocop/cop/style/colon_method_call.rb +4 -5
  531. data/lib/rubocop/cop/style/colon_method_definition.rb +1 -1
  532. data/lib/rubocop/cop/style/combinable_defined.rb +115 -0
  533. data/lib/rubocop/cop/style/combinable_loops.rb +52 -12
  534. data/lib/rubocop/cop/style/command_literal.rb +6 -11
  535. data/lib/rubocop/cop/style/comment_annotation.rb +59 -32
  536. data/lib/rubocop/cop/style/commented_keyword.rb +65 -22
  537. data/lib/rubocop/cop/style/comparable_between.rb +78 -0
  538. data/lib/rubocop/cop/style/comparable_clamp.rb +125 -0
  539. data/lib/rubocop/cop/style/concat_array_literals.rb +95 -0
  540. data/lib/rubocop/cop/style/conditional_assignment.rb +88 -76
  541. data/lib/rubocop/cop/style/constant_visibility.rb +28 -9
  542. data/lib/rubocop/cop/style/copyright.rb +39 -29
  543. data/lib/rubocop/cop/style/data_inheritance.rb +82 -0
  544. data/lib/rubocop/cop/style/date_time.rb +16 -10
  545. data/lib/rubocop/cop/style/def_with_parentheses.rb +30 -15
  546. data/lib/rubocop/cop/style/dig_chain.rb +89 -0
  547. data/lib/rubocop/cop/style/dir.rb +5 -1
  548. data/lib/rubocop/cop/style/dir_empty.rb +54 -0
  549. data/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +49 -9
  550. data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +169 -0
  551. data/lib/rubocop/cop/style/documentation.rb +95 -30
  552. data/lib/rubocop/cop/style/documentation_method.rb +31 -4
  553. data/lib/rubocop/cop/style/double_cop_disable_directive.rb +1 -7
  554. data/lib/rubocop/cop/style/double_negation.rb +97 -11
  555. data/lib/rubocop/cop/style/each_for_simple_loop.rb +45 -14
  556. data/lib/rubocop/cop/style/each_with_object.rb +42 -11
  557. data/lib/rubocop/cop/style/empty_block_parameter.rb +3 -3
  558. data/lib/rubocop/cop/style/empty_case_condition.rb +21 -12
  559. data/lib/rubocop/cop/style/empty_else.rb +52 -18
  560. data/lib/rubocop/cop/style/empty_heredoc.rb +60 -0
  561. data/lib/rubocop/cop/style/empty_lambda_parameter.rb +3 -3
  562. data/lib/rubocop/cop/style/empty_literal.rb +62 -33
  563. data/lib/rubocop/cop/style/empty_method.rb +19 -8
  564. data/lib/rubocop/cop/style/empty_string_inside_interpolation.rb +100 -0
  565. data/lib/rubocop/cop/style/encoding.rb +27 -16
  566. data/lib/rubocop/cop/style/end_block.rb +2 -3
  567. data/lib/rubocop/cop/style/endless_method.rb +233 -0
  568. data/lib/rubocop/cop/style/env_home.rb +56 -0
  569. data/lib/rubocop/cop/style/eval_with_location.rb +144 -63
  570. data/lib/rubocop/cop/style/even_odd.rb +2 -1
  571. data/lib/rubocop/cop/style/exact_regexp_match.rb +69 -0
  572. data/lib/rubocop/cop/style/expand_path_arguments.rb +7 -11
  573. data/lib/rubocop/cop/style/explicit_block_argument.rb +78 -18
  574. data/lib/rubocop/cop/style/exponential_notation.rb +12 -12
  575. data/lib/rubocop/cop/style/fetch_env_var.rb +159 -0
  576. data/lib/rubocop/cop/style/file_empty.rb +71 -0
  577. data/lib/rubocop/cop/style/file_null.rb +89 -0
  578. data/lib/rubocop/cop/style/file_read.rb +109 -0
  579. data/lib/rubocop/cop/style/file_touch.rb +75 -0
  580. data/lib/rubocop/cop/style/file_write.rb +133 -0
  581. data/lib/rubocop/cop/style/float_division.rb +68 -6
  582. data/lib/rubocop/cop/style/for.rb +13 -3
  583. data/lib/rubocop/cop/style/format_string.rb +44 -16
  584. data/lib/rubocop/cop/style/format_string_token.rb +163 -26
  585. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +27 -18
  586. data/lib/rubocop/cop/style/global_std_stream.rb +16 -2
  587. data/lib/rubocop/cop/style/global_vars.rb +2 -4
  588. data/lib/rubocop/cop/style/guard_clause.rb +206 -32
  589. data/lib/rubocop/cop/style/hash_as_last_array_item.rb +12 -0
  590. data/lib/rubocop/cop/style/hash_conversion.rb +151 -0
  591. data/lib/rubocop/cop/style/hash_each_methods.rb +147 -12
  592. data/lib/rubocop/cop/style/hash_except.rb +80 -0
  593. data/lib/rubocop/cop/style/hash_fetch_chain.rb +104 -0
  594. data/lib/rubocop/cop/style/hash_like_case.rb +6 -11
  595. data/lib/rubocop/cop/style/hash_slice.rb +80 -0
  596. data/lib/rubocop/cop/style/hash_syntax.rb +117 -33
  597. data/lib/rubocop/cop/style/hash_transform_keys.rb +19 -15
  598. data/lib/rubocop/cop/style/hash_transform_values.rb +19 -14
  599. data/lib/rubocop/cop/style/identical_conditional_branches.rb +153 -10
  600. data/lib/rubocop/cop/style/if_inside_else.rb +67 -2
  601. data/lib/rubocop/cop/style/if_unless_modifier.rb +188 -29
  602. data/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +4 -7
  603. data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +163 -0
  604. data/lib/rubocop/cop/style/if_with_semicolon.rb +96 -7
  605. data/lib/rubocop/cop/style/implicit_runtime_error.rb +4 -3
  606. data/lib/rubocop/cop/style/in_pattern_then.rb +60 -0
  607. data/lib/rubocop/cop/style/infinite_loop.rb +9 -10
  608. data/lib/rubocop/cop/style/inline_comment.rb +1 -1
  609. data/lib/rubocop/cop/style/inverse_methods.rb +41 -28
  610. data/lib/rubocop/cop/style/invertible_unless_condition.rb +160 -0
  611. data/lib/rubocop/cop/style/ip_addresses.rb +5 -6
  612. data/lib/rubocop/cop/style/it_assignment.rb +93 -0
  613. data/lib/rubocop/cop/style/it_block_parameter.rb +121 -0
  614. data/lib/rubocop/cop/style/keyword_arguments_merging.rb +67 -0
  615. data/lib/rubocop/cop/style/keyword_parameters_order.rb +34 -6
  616. data/lib/rubocop/cop/style/lambda.rb +8 -9
  617. data/lib/rubocop/cop/style/lambda_call.rb +27 -24
  618. data/lib/rubocop/cop/style/line_end_concatenation.rb +31 -16
  619. data/lib/rubocop/cop/style/magic_comment_format.rb +307 -0
  620. data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +168 -0
  621. data/lib/rubocop/cop/style/map_into_array.rb +236 -0
  622. data/lib/rubocop/cop/style/map_to_hash.rb +90 -0
  623. data/lib/rubocop/cop/style/map_to_set.rb +63 -0
  624. data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +138 -53
  625. data/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +11 -11
  626. data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +109 -36
  627. data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +62 -18
  628. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +7 -7
  629. data/lib/rubocop/cop/style/method_def_parentheses.rb +37 -14
  630. data/lib/rubocop/cop/style/min_max.rb +6 -6
  631. data/lib/rubocop/cop/style/min_max_comparison.rb +91 -0
  632. data/lib/rubocop/cop/style/missing_else.rb +48 -33
  633. data/lib/rubocop/cop/style/missing_respond_to_missing.rb +37 -8
  634. data/lib/rubocop/cop/style/mixin_grouping.rb +10 -20
  635. data/lib/rubocop/cop/style/mixin_usage.rb +4 -3
  636. data/lib/rubocop/cop/style/module_function.rb +41 -18
  637. data/lib/rubocop/cop/style/multiline_block_chain.rb +7 -5
  638. data/lib/rubocop/cop/style/multiline_if_modifier.rb +4 -6
  639. data/lib/rubocop/cop/style/multiline_if_then.rb +1 -1
  640. data/lib/rubocop/cop/style/multiline_in_pattern_then.rb +60 -0
  641. data/lib/rubocop/cop/style/multiline_memoization.rb +5 -5
  642. data/lib/rubocop/cop/style/multiline_method_signature.rb +37 -3
  643. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +54 -12
  644. data/lib/rubocop/cop/style/multiline_when_then.rb +8 -21
  645. data/lib/rubocop/cop/style/multiple_comparison.rb +104 -32
  646. data/lib/rubocop/cop/style/mutable_constant.rb +99 -28
  647. data/lib/rubocop/cop/style/negated_if.rb +1 -2
  648. data/lib/rubocop/cop/style/negated_if_else_condition.rb +137 -0
  649. data/lib/rubocop/cop/style/negated_unless.rb +1 -2
  650. data/lib/rubocop/cop/style/nested_file_dirname.rb +66 -0
  651. data/lib/rubocop/cop/style/nested_modifier.rb +5 -9
  652. data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +17 -4
  653. data/lib/rubocop/cop/style/nested_ternary_operator.rb +23 -19
  654. data/lib/rubocop/cop/style/next.rb +51 -14
  655. data/lib/rubocop/cop/style/nil_comparison.rb +9 -1
  656. data/lib/rubocop/cop/style/nil_lambda.rb +70 -0
  657. data/lib/rubocop/cop/style/non_nil_check.rb +32 -18
  658. data/lib/rubocop/cop/style/not.rb +5 -5
  659. data/lib/rubocop/cop/style/numbered_parameters.rb +46 -0
  660. data/lib/rubocop/cop/style/numbered_parameters_limit.rb +58 -0
  661. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +2 -2
  662. data/lib/rubocop/cop/style/numeric_literals.rb +44 -29
  663. data/lib/rubocop/cop/style/numeric_predicate.rb +73 -20
  664. data/lib/rubocop/cop/style/object_then.rb +76 -0
  665. data/lib/rubocop/cop/style/one_line_conditional.rb +46 -46
  666. data/lib/rubocop/cop/style/open_struct_use.rb +69 -0
  667. data/lib/rubocop/cop/style/operator_method_call.rb +91 -0
  668. data/lib/rubocop/cop/style/option_hash.rb +3 -4
  669. data/lib/rubocop/cop/style/optional_arguments.rb +7 -6
  670. data/lib/rubocop/cop/style/optional_boolean_parameter.rb +16 -5
  671. data/lib/rubocop/cop/style/or_assignment.rb +8 -13
  672. data/lib/rubocop/cop/style/parallel_assignment.rb +81 -66
  673. data/lib/rubocop/cop/style/parentheses_around_condition.rb +22 -3
  674. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +6 -9
  675. data/lib/rubocop/cop/style/percent_q_literals.rb +6 -7
  676. data/lib/rubocop/cop/style/perl_backrefs.rb +101 -10
  677. data/lib/rubocop/cop/style/preferred_hash_methods.rb +11 -9
  678. data/lib/rubocop/cop/style/proc.rb +6 -3
  679. data/lib/rubocop/cop/style/quoted_symbols.rb +122 -0
  680. data/lib/rubocop/cop/style/raise_args.rb +57 -30
  681. data/lib/rubocop/cop/style/random_with_offset.rb +12 -12
  682. data/lib/rubocop/cop/style/redundant_argument.rb +129 -0
  683. data/lib/rubocop/cop/style/redundant_array_constructor.rb +77 -0
  684. data/lib/rubocop/cop/style/redundant_array_flatten.rb +50 -0
  685. data/lib/rubocop/cop/style/redundant_assignment.rb +14 -7
  686. data/lib/rubocop/cop/style/redundant_begin.rb +96 -8
  687. data/lib/rubocop/cop/style/redundant_capital_w.rb +3 -5
  688. data/lib/rubocop/cop/style/redundant_condition.rb +235 -32
  689. data/lib/rubocop/cop/style/redundant_conditional.rb +6 -19
  690. data/lib/rubocop/cop/style/redundant_constant_base.rb +85 -0
  691. data/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +50 -0
  692. data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +129 -0
  693. data/lib/rubocop/cop/style/redundant_each.rb +119 -0
  694. data/lib/rubocop/cop/style/redundant_exception.rb +36 -17
  695. data/lib/rubocop/cop/style/redundant_fetch_block.rb +17 -17
  696. data/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +15 -5
  697. data/lib/rubocop/cop/style/redundant_filter_chain.rb +118 -0
  698. data/lib/rubocop/cop/style/redundant_format.rb +262 -0
  699. data/lib/rubocop/cop/style/redundant_freeze.rb +12 -8
  700. data/lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb +58 -0
  701. data/lib/rubocop/cop/style/redundant_initialize.rb +165 -0
  702. data/lib/rubocop/cop/style/redundant_interpolation.rb +42 -8
  703. data/lib/rubocop/cop/style/redundant_interpolation_unfreeze.rb +46 -0
  704. data/lib/rubocop/cop/style/redundant_line_continuation.rb +236 -0
  705. data/lib/rubocop/cop/style/redundant_parentheses.rb +184 -66
  706. data/lib/rubocop/cop/style/redundant_percent_q.rb +6 -8
  707. data/lib/rubocop/cop/style/redundant_regexp_argument.rb +107 -0
  708. data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +27 -6
  709. data/lib/rubocop/cop/style/redundant_regexp_constructor.rb +46 -0
  710. data/lib/rubocop/cop/style/redundant_regexp_escape.rb +24 -9
  711. data/lib/rubocop/cop/style/redundant_return.rb +28 -8
  712. data/lib/rubocop/cop/style/redundant_self.rb +70 -21
  713. data/lib/rubocop/cop/style/redundant_self_assignment.rb +27 -37
  714. data/lib/rubocop/cop/style/redundant_self_assignment_branch.rb +90 -0
  715. data/lib/rubocop/cop/style/redundant_sort.rb +81 -34
  716. data/lib/rubocop/cop/style/redundant_sort_by.rb +41 -8
  717. data/lib/rubocop/cop/style/redundant_string_escape.rb +185 -0
  718. data/lib/rubocop/cop/style/regexp_literal.rb +25 -11
  719. data/lib/rubocop/cop/style/require_order.rb +139 -0
  720. data/lib/rubocop/cop/style/rescue_modifier.rb +39 -20
  721. data/lib/rubocop/cop/style/rescue_standard_error.rb +19 -21
  722. data/lib/rubocop/cop/style/return_nil.rb +16 -6
  723. data/lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb +137 -0
  724. data/lib/rubocop/cop/style/safe_navigation.rb +222 -89
  725. data/lib/rubocop/cop/style/safe_navigation_chain_length.rb +52 -0
  726. data/lib/rubocop/cop/style/sample.rb +10 -8
  727. data/lib/rubocop/cop/style/select_by_regexp.rb +169 -0
  728. data/lib/rubocop/cop/style/self_assignment.rb +15 -21
  729. data/lib/rubocop/cop/style/semicolon.rb +101 -27
  730. data/lib/rubocop/cop/style/send.rb +6 -7
  731. data/lib/rubocop/cop/style/send_with_literal_method_name.rb +105 -0
  732. data/lib/rubocop/cop/style/signal_exception.rb +17 -17
  733. data/lib/rubocop/cop/style/single_argument_dig.rb +26 -8
  734. data/lib/rubocop/cop/style/single_line_block_params.rb +38 -16
  735. data/lib/rubocop/cop/style/single_line_do_end_block.rb +78 -0
  736. data/lib/rubocop/cop/style/single_line_methods.rb +78 -15
  737. data/lib/rubocop/cop/style/slicing_with_range.rb +119 -10
  738. data/lib/rubocop/cop/style/sole_nested_conditional.rb +178 -7
  739. data/lib/rubocop/cop/style/special_global_vars.rb +97 -40
  740. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +2 -3
  741. data/lib/rubocop/cop/style/static_class.rb +128 -0
  742. data/lib/rubocop/cop/style/stderr_puts.rb +4 -7
  743. data/lib/rubocop/cop/style/string_chars.rb +42 -0
  744. data/lib/rubocop/cop/style/string_concatenation.rb +96 -24
  745. data/lib/rubocop/cop/style/string_hash_keys.rb +11 -2
  746. data/lib/rubocop/cop/style/string_literals.rb +21 -21
  747. data/lib/rubocop/cop/style/string_literals_in_interpolation.rb +35 -8
  748. data/lib/rubocop/cop/style/string_methods.rb +2 -2
  749. data/lib/rubocop/cop/style/strip.rb +9 -5
  750. data/lib/rubocop/cop/style/struct_inheritance.rb +27 -5
  751. data/lib/rubocop/cop/style/super_arguments.rb +221 -0
  752. data/lib/rubocop/cop/style/super_with_args_parentheses.rb +35 -0
  753. data/lib/rubocop/cop/style/swap_values.rb +101 -0
  754. data/lib/rubocop/cop/style/symbol_array.rb +47 -22
  755. data/lib/rubocop/cop/style/symbol_literal.rb +2 -4
  756. data/lib/rubocop/cop/style/symbol_proc.rb +198 -22
  757. data/lib/rubocop/cop/style/ternary_parentheses.rb +49 -29
  758. data/lib/rubocop/cop/style/top_level_method_definition.rb +86 -0
  759. data/lib/rubocop/cop/style/trailing_body_on_class.rb +2 -1
  760. data/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +7 -3
  761. data/lib/rubocop/cop/style/trailing_body_on_module.rb +1 -1
  762. data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +16 -7
  763. data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +48 -7
  764. data/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +24 -9
  765. data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +49 -7
  766. data/lib/rubocop/cop/style/trailing_method_end_statement.rb +5 -11
  767. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +12 -16
  768. data/lib/rubocop/cop/style/trivial_accessors.rb +82 -16
  769. data/lib/rubocop/cop/style/unless_else.rb +6 -3
  770. data/lib/rubocop/cop/style/unless_logical_operators.rb +106 -0
  771. data/lib/rubocop/cop/style/unpack_first.rb +16 -15
  772. data/lib/rubocop/cop/style/variable_interpolation.rb +2 -3
  773. data/lib/rubocop/cop/style/when_then.rb +5 -3
  774. data/lib/rubocop/cop/style/while_until_do.rb +0 -2
  775. data/lib/rubocop/cop/style/while_until_modifier.rb +11 -7
  776. data/lib/rubocop/cop/style/word_array.rb +79 -8
  777. data/lib/rubocop/cop/style/yaml_file_read.rb +66 -0
  778. data/lib/rubocop/cop/style/yoda_condition.rb +52 -29
  779. data/lib/rubocop/cop/style/yoda_expression.rb +92 -0
  780. data/lib/rubocop/cop/style/zero_length_predicate.rb +77 -38
  781. data/lib/rubocop/cop/team.rb +94 -61
  782. data/lib/rubocop/cop/util.rb +100 -24
  783. data/lib/rubocop/cop/utils/format_string.rb +11 -8
  784. data/lib/rubocop/cop/variable_force/assignment.rb +66 -7
  785. data/lib/rubocop/cop/variable_force/branch.rb +19 -5
  786. data/lib/rubocop/cop/variable_force/reference.rb +1 -3
  787. data/lib/rubocop/cop/variable_force/scope.rb +8 -12
  788. data/lib/rubocop/cop/variable_force/variable.rb +20 -9
  789. data/lib/rubocop/cop/variable_force/variable_table.rb +9 -7
  790. data/lib/rubocop/cop/variable_force.rb +63 -66
  791. data/lib/rubocop/cops_documentation_generator.rb +197 -75
  792. data/lib/rubocop/core_ext/string.rb +2 -6
  793. data/lib/rubocop/directive_comment.rb +158 -10
  794. data/lib/rubocop/ext/comment.rb +18 -0
  795. data/lib/rubocop/ext/processed_source.rb +2 -0
  796. data/lib/rubocop/ext/range.rb +15 -0
  797. data/lib/rubocop/ext/regexp_node.rb +18 -11
  798. data/lib/rubocop/ext/regexp_parser.rb +78 -0
  799. data/lib/rubocop/feature_loader.rb +94 -0
  800. data/lib/rubocop/file_finder.rb +12 -12
  801. data/lib/rubocop/file_patterns.rb +43 -0
  802. data/lib/rubocop/formatter/clang_style_formatter.rb +8 -10
  803. data/lib/rubocop/formatter/disabled_config_formatter.rb +92 -32
  804. data/lib/rubocop/formatter/emacs_style_formatter.rb +2 -0
  805. data/lib/rubocop/formatter/formatter_set.rb +29 -20
  806. data/lib/rubocop/formatter/fuubar_style_formatter.rb +1 -1
  807. data/lib/rubocop/formatter/github_actions_formatter.rb +57 -0
  808. data/lib/rubocop/formatter/html_formatter.rb +50 -38
  809. data/lib/rubocop/formatter/json_formatter.rb +5 -7
  810. data/lib/rubocop/formatter/junit_formatter.rb +85 -26
  811. data/lib/rubocop/formatter/markdown_formatter.rb +79 -0
  812. data/lib/rubocop/formatter/offense_count_formatter.rb +28 -9
  813. data/lib/rubocop/formatter/pacman_formatter.rb +2 -1
  814. data/lib/rubocop/formatter/progress_formatter.rb +1 -3
  815. data/lib/rubocop/formatter/simple_text_formatter.rb +13 -9
  816. data/lib/rubocop/formatter/tap_formatter.rb +10 -10
  817. data/lib/rubocop/formatter/worst_offenders_formatter.rb +8 -6
  818. data/lib/rubocop/formatter.rb +34 -0
  819. data/lib/rubocop/lockfile.rb +91 -0
  820. data/lib/rubocop/lsp/diagnostic.rb +189 -0
  821. data/lib/rubocop/lsp/logger.rb +22 -0
  822. data/lib/rubocop/lsp/routes.rb +227 -0
  823. data/lib/rubocop/lsp/runtime.rb +69 -0
  824. data/lib/rubocop/lsp/server.rb +70 -0
  825. data/lib/rubocop/lsp/severity.rb +27 -0
  826. data/lib/rubocop/lsp/stdin_runner.rb +85 -0
  827. data/lib/rubocop/lsp.rb +36 -0
  828. data/lib/rubocop/magic_comment.rb +115 -21
  829. data/lib/rubocop/name_similarity.rb +1 -1
  830. data/lib/rubocop/options.rb +348 -197
  831. data/lib/rubocop/path_util.rb +62 -25
  832. data/lib/rubocop/pending_cops_reporter.rb +56 -0
  833. data/lib/rubocop/plugin/configuration_integrator.rb +143 -0
  834. data/lib/rubocop/plugin/load_error.rb +26 -0
  835. data/lib/rubocop/plugin/loader.rb +100 -0
  836. data/lib/rubocop/plugin/not_supported_error.rb +29 -0
  837. data/lib/rubocop/plugin.rb +46 -0
  838. data/lib/rubocop/rake_task.rb +42 -11
  839. data/lib/rubocop/remote_config.rb +20 -13
  840. data/lib/rubocop/result_cache.rb +60 -57
  841. data/lib/rubocop/rspec/cop_helper.rb +45 -8
  842. data/lib/rubocop/rspec/expect_offense.rb +80 -45
  843. data/lib/rubocop/rspec/parallel_formatter.rb +90 -0
  844. data/lib/rubocop/rspec/shared_contexts.rb +164 -33
  845. data/lib/rubocop/rspec/support.rb +24 -3
  846. data/lib/rubocop/runner.rb +168 -52
  847. data/lib/rubocop/server/cache.rb +208 -0
  848. data/lib/rubocop/server/cli.rb +147 -0
  849. data/lib/rubocop/server/client_command/base.rb +54 -0
  850. data/lib/rubocop/server/client_command/exec.rb +65 -0
  851. data/lib/rubocop/server/client_command/restart.rb +25 -0
  852. data/lib/rubocop/server/client_command/start.rb +58 -0
  853. data/lib/rubocop/server/client_command/status.rb +28 -0
  854. data/lib/rubocop/server/client_command/stop.rb +31 -0
  855. data/lib/rubocop/server/client_command.rb +26 -0
  856. data/lib/rubocop/server/core.rb +116 -0
  857. data/lib/rubocop/server/errors.rb +23 -0
  858. data/lib/rubocop/server/helper.rb +34 -0
  859. data/lib/rubocop/server/server_command/base.rb +50 -0
  860. data/lib/rubocop/server/server_command/exec.rb +33 -0
  861. data/lib/rubocop/server/server_command/stop.rb +24 -0
  862. data/lib/rubocop/server/server_command.rb +21 -0
  863. data/lib/rubocop/server/socket_reader.rb +69 -0
  864. data/lib/rubocop/server.rb +53 -0
  865. data/lib/rubocop/string_interpreter.rb +7 -7
  866. data/lib/rubocop/target_finder.rb +113 -93
  867. data/lib/rubocop/target_ruby.rb +156 -19
  868. data/lib/rubocop/util.rb +16 -0
  869. data/lib/rubocop/version.rb +139 -8
  870. data/lib/rubocop/yaml_duplication_checker.rb +20 -26
  871. data/lib/rubocop.rb +219 -39
  872. data/lib/ruby_lsp/rubocop/addon.rb +75 -0
  873. data/lib/ruby_lsp/rubocop/runtime_adapter.rb +65 -0
  874. metadata +352 -66
  875. data/bin/console +0 -10
  876. data/bin/rubocop-profile +0 -32
  877. data/bin/setup +0 -7
  878. data/lib/rubocop/cop/mixin/ignored_methods.rb +0 -19
  879. data/lib/rubocop/cop/mixin/ignored_pattern.rb +0 -29
  880. data/lib/rubocop/cop/naming/predicate_name.rb +0 -104
  881. data/lib/rubocop/rspec/host_environment_simulation_helper.rb +0 -28
data/lib/rubocop.rb CHANGED
@@ -1,37 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'English'
4
+
5
+ # fileutils is autoloaded by pathname,
6
+ # but must be explicitly loaded here for inclusion in `$LOADED_FEATURES`.
7
+ require 'fileutils'
8
+
4
9
  before_us = $LOADED_FEATURES.dup
5
10
  require 'rainbow'
6
11
 
7
- require 'set'
8
- require 'forwardable'
9
12
  require 'regexp_parser'
10
- require 'unicode/display_width/no_string_ext'
13
+ require 'set'
14
+ require 'stringio'
15
+ require 'unicode/display_width'
11
16
 
12
17
  # we have to require RuboCop's version, before rubocop-ast's
13
18
  require_relative 'rubocop/version'
14
19
  require 'rubocop-ast'
15
20
 
16
21
  require_relative 'rubocop/ast_aliases'
22
+ require_relative 'rubocop/ext/comment'
23
+ require_relative 'rubocop/ext/range'
17
24
  require_relative 'rubocop/ext/regexp_node'
25
+ require_relative 'rubocop/ext/regexp_parser'
18
26
 
19
27
  require_relative 'rubocop/core_ext/string'
20
28
  require_relative 'rubocop/ext/processed_source'
21
29
 
22
- require_relative 'rubocop/path_util'
30
+ require_relative 'rubocop/error'
23
31
  require_relative 'rubocop/file_finder'
24
- require_relative 'rubocop/platform'
32
+ require_relative 'rubocop/file_patterns'
25
33
  require_relative 'rubocop/name_similarity'
34
+ require_relative 'rubocop/path_util'
35
+ require_relative 'rubocop/platform'
26
36
  require_relative 'rubocop/string_interpreter'
27
- require_relative 'rubocop/error'
37
+ require_relative 'rubocop/util'
28
38
  require_relative 'rubocop/warning'
29
39
 
40
+ # rubocop:disable Style/RequireOrder
41
+
30
42
  require_relative 'rubocop/cop/util'
31
43
  require_relative 'rubocop/cop/offense'
32
44
  require_relative 'rubocop/cop/message_annotator'
33
45
  require_relative 'rubocop/cop/ignored_node'
34
46
  require_relative 'rubocop/cop/autocorrect_logic'
47
+ require_relative 'rubocop/cop/exclude_limit'
35
48
  require_relative 'rubocop/cop/badge'
36
49
  require_relative 'rubocop/cop/registry'
37
50
  require_relative 'rubocop/cop/base'
@@ -44,6 +57,7 @@ require_relative 'rubocop/cop/severity'
44
57
  require_relative 'rubocop/cop/generator'
45
58
  require_relative 'rubocop/cop/generator/configuration_injector'
46
59
  require_relative 'rubocop/cop/generator/require_file_injector'
60
+ require_relative 'rubocop/magic_comment'
47
61
 
48
62
  require_relative 'rubocop/cop/variable_force'
49
63
  require_relative 'rubocop/cop/variable_force/branch'
@@ -54,42 +68,53 @@ require_relative 'rubocop/cop/variable_force/reference'
54
68
  require_relative 'rubocop/cop/variable_force/scope'
55
69
  require_relative 'rubocop/cop/variable_force/variable_table'
56
70
 
57
- require_relative 'rubocop/cop/mixin/annotation_comment'
58
71
  require_relative 'rubocop/cop/mixin/array_min_size'
59
72
  require_relative 'rubocop/cop/mixin/array_syntax'
60
73
  require_relative 'rubocop/cop/mixin/alignment'
74
+ require_relative 'rubocop/cop/mixin/allowed_identifiers'
61
75
  require_relative 'rubocop/cop/mixin/allowed_methods'
62
- require_relative 'rubocop/cop/mixin/auto_corrector'
76
+ require_relative 'rubocop/cop/mixin/allowed_pattern'
77
+ require_relative 'rubocop/cop/mixin/allowed_receivers'
78
+ require_relative 'rubocop/cop/mixin/forbidden_identifiers'
79
+ require_relative 'rubocop/cop/mixin/forbidden_pattern'
80
+ require_relative 'rubocop/cop/mixin/auto_corrector' # rubocop:todo Naming/InclusiveLanguage
63
81
  require_relative 'rubocop/cop/mixin/check_assignment'
64
82
  require_relative 'rubocop/cop/mixin/check_line_breakable'
83
+ require_relative 'rubocop/cop/mixin/check_single_line_suitability'
65
84
  require_relative 'rubocop/cop/mixin/configurable_max'
66
85
  require_relative 'rubocop/cop/mixin/code_length' # relies on configurable_max
67
86
  require_relative 'rubocop/cop/mixin/configurable_enforced_style'
68
87
  require_relative 'rubocop/cop/mixin/configurable_formatting'
69
88
  require_relative 'rubocop/cop/mixin/configurable_naming'
70
89
  require_relative 'rubocop/cop/mixin/configurable_numbering'
71
- require_relative 'rubocop/cop/mixin/def_node'
90
+ require_relative 'rubocop/cop/mixin/dig_help'
72
91
  require_relative 'rubocop/cop/mixin/documentation_comment'
73
92
  require_relative 'rubocop/cop/mixin/duplication'
74
93
  require_relative 'rubocop/cop/mixin/range_help'
94
+ require_relative 'rubocop/cop/mixin/annotation_comment' # relies on range
75
95
  require_relative 'rubocop/cop/mixin/empty_lines_around_body' # relies on range
76
96
  require_relative 'rubocop/cop/mixin/empty_parameter'
77
97
  require_relative 'rubocop/cop/mixin/end_keyword_alignment'
98
+ require_relative 'rubocop/cop/mixin/endless_method_rewriter'
78
99
  require_relative 'rubocop/cop/mixin/enforce_superclass'
79
100
  require_relative 'rubocop/cop/mixin/first_element_line_break'
80
101
  require_relative 'rubocop/cop/mixin/frozen_string_literal'
102
+ require_relative 'rubocop/cop/mixin/gem_declaration'
103
+ require_relative 'rubocop/cop/mixin/gemspec_help'
81
104
  require_relative 'rubocop/cop/mixin/hash_alignment_styles'
105
+ require_relative 'rubocop/cop/mixin/hash_subset'
82
106
  require_relative 'rubocop/cop/mixin/hash_transform_method'
83
- require_relative 'rubocop/cop/mixin/ignored_pattern'
84
- require_relative 'rubocop/cop/mixin/ignored_methods'
85
107
  require_relative 'rubocop/cop/mixin/integer_node'
86
108
  require_relative 'rubocop/cop/mixin/interpolation'
87
109
  require_relative 'rubocop/cop/mixin/line_length_help'
88
110
  require_relative 'rubocop/cop/mixin/match_range'
89
111
  require_relative 'rubocop/cop/metrics/utils/repeated_csend_discount'
112
+ require_relative 'rubocop/cop/metrics/utils/repeated_attribute_discount'
113
+ require_relative 'rubocop/cop/mixin/hash_shorthand_syntax'
90
114
  require_relative 'rubocop/cop/mixin/method_complexity'
91
115
  require_relative 'rubocop/cop/mixin/method_preference'
92
116
  require_relative 'rubocop/cop/mixin/min_body_length'
117
+ require_relative 'rubocop/cop/mixin/min_branches_count'
93
118
  require_relative 'rubocop/cop/mixin/multiline_element_indentation'
94
119
  require_relative 'rubocop/cop/mixin/multiline_element_line_breaks'
95
120
  require_relative 'rubocop/cop/mixin/multiline_expression_indentation'
@@ -105,6 +130,7 @@ require_relative 'rubocop/cop/mixin/percent_literal'
105
130
  require_relative 'rubocop/cop/mixin/preceding_following_alignment'
106
131
  require_relative 'rubocop/cop/mixin/preferred_delimiters'
107
132
  require_relative 'rubocop/cop/mixin/rational_literal'
133
+ require_relative 'rubocop/cop/mixin/require_library'
108
134
  require_relative 'rubocop/cop/mixin/rescue_node'
109
135
  require_relative 'rubocop/cop/mixin/safe_assignment'
110
136
  require_relative 'rubocop/cop/mixin/space_after_punctuation'
@@ -113,6 +139,7 @@ require_relative 'rubocop/cop/mixin/surrounding_space'
113
139
  require_relative 'rubocop/cop/mixin/statement_modifier'
114
140
  require_relative 'rubocop/cop/mixin/string_help'
115
141
  require_relative 'rubocop/cop/mixin/string_literals_help'
142
+ require_relative 'rubocop/cop/mixin/symbol_help'
116
143
  require_relative 'rubocop/cop/mixin/target_ruby_version'
117
144
  require_relative 'rubocop/cop/mixin/trailing_body'
118
145
  require_relative 'rubocop/cop/mixin/trailing_comma'
@@ -120,6 +147,7 @@ require_relative 'rubocop/cop/mixin/uncommunicative_name'
120
147
  require_relative 'rubocop/cop/mixin/unused_argument'
121
148
  require_relative 'rubocop/cop/mixin/visibility_help'
122
149
  require_relative 'rubocop/cop/mixin/comments_help' # relies on visibility_help
150
+ require_relative 'rubocop/cop/mixin/def_node' # relies on visibility_help
123
151
 
124
152
  require_relative 'rubocop/cop/utils/format_string'
125
153
 
@@ -130,6 +158,7 @@ require_relative 'rubocop/cop/correctors/condition_corrector'
130
158
  require_relative 'rubocop/cop/correctors/each_to_for_corrector'
131
159
  require_relative 'rubocop/cop/correctors/empty_line_corrector'
132
160
  require_relative 'rubocop/cop/correctors/for_to_each_corrector'
161
+ require_relative 'rubocop/cop/correctors/if_then_corrector'
133
162
  require_relative 'rubocop/cop/correctors/lambda_literal_to_method_corrector'
134
163
  require_relative 'rubocop/cop/correctors/line_break_corrector'
135
164
  require_relative 'rubocop/cop/correctors/multiline_literal_brace_corrector'
@@ -137,17 +166,27 @@ require_relative 'rubocop/cop/correctors/ordered_gem_corrector'
137
166
  require_relative 'rubocop/cop/correctors/parentheses_corrector'
138
167
  require_relative 'rubocop/cop/correctors/percent_literal_corrector'
139
168
  require_relative 'rubocop/cop/correctors/punctuation_corrector'
169
+ require_relative 'rubocop/cop/correctors/require_library_corrector'
140
170
  require_relative 'rubocop/cop/correctors/space_corrector'
141
171
  require_relative 'rubocop/cop/correctors/string_literal_corrector'
142
172
  require_relative 'rubocop/cop/correctors/unused_arg_corrector'
143
173
 
144
174
  require_relative 'rubocop/cop/bundler/duplicated_gem'
175
+ require_relative 'rubocop/cop/bundler/duplicated_group'
145
176
  require_relative 'rubocop/cop/bundler/gem_comment'
177
+ require_relative 'rubocop/cop/bundler/gem_filename'
178
+ require_relative 'rubocop/cop/bundler/gem_version'
146
179
  require_relative 'rubocop/cop/bundler/insecure_protocol_source'
147
180
  require_relative 'rubocop/cop/bundler/ordered_gems'
148
181
 
182
+ require_relative 'rubocop/cop/gemspec/add_runtime_dependency'
183
+ require_relative 'rubocop/cop/gemspec/attribute_assignment'
184
+ require_relative 'rubocop/cop/gemspec/dependency_version'
185
+ require_relative 'rubocop/cop/gemspec/deprecated_attribute_assignment'
186
+ require_relative 'rubocop/cop/gemspec/development_dependencies'
149
187
  require_relative 'rubocop/cop/gemspec/duplicated_assignment'
150
188
  require_relative 'rubocop/cop/gemspec/ordered_dependencies'
189
+ require_relative 'rubocop/cop/gemspec/require_mfa'
151
190
  require_relative 'rubocop/cop/gemspec/required_ruby_version'
152
191
  require_relative 'rubocop/cop/gemspec/ruby_version_globals_usage'
153
192
 
@@ -172,6 +211,7 @@ require_relative 'rubocop/cop/layout/empty_line_after_guard_clause'
172
211
  require_relative 'rubocop/cop/layout/empty_line_after_magic_comment'
173
212
  require_relative 'rubocop/cop/layout/empty_line_after_multiline_condition'
174
213
  require_relative 'rubocop/cop/layout/empty_line_between_defs'
214
+ require_relative 'rubocop/cop/layout/empty_lines_after_module_inclusion'
175
215
  require_relative 'rubocop/cop/layout/empty_lines_around_access_modifier'
176
216
  require_relative 'rubocop/cop/layout/empty_lines_around_arguments'
177
217
  require_relative 'rubocop/cop/layout/empty_lines_around_attribute_accessor'
@@ -202,6 +242,9 @@ require_relative 'rubocop/cop/layout/indentation_width'
202
242
  require_relative 'rubocop/cop/layout/initial_indentation'
203
243
  require_relative 'rubocop/cop/layout/leading_comment_space'
204
244
  require_relative 'rubocop/cop/layout/leading_empty_lines'
245
+ require_relative 'rubocop/cop/layout/line_continuation_leading_space'
246
+ require_relative 'rubocop/cop/layout/line_continuation_spacing'
247
+ require_relative 'rubocop/cop/layout/line_end_string_concatenation_indentation'
205
248
  require_relative 'rubocop/cop/layout/line_length'
206
249
  require_relative 'rubocop/cop/layout/multiline_array_brace_layout'
207
250
  require_relative 'rubocop/cop/layout/multiline_array_line_breaks'
@@ -213,9 +256,12 @@ require_relative 'rubocop/cop/layout/multiline_method_argument_line_breaks'
213
256
  require_relative 'rubocop/cop/layout/multiline_method_call_brace_layout'
214
257
  require_relative 'rubocop/cop/layout/multiline_method_call_indentation'
215
258
  require_relative 'rubocop/cop/layout/multiline_method_definition_brace_layout'
259
+ require_relative 'rubocop/cop/layout/multiline_method_parameter_line_breaks'
216
260
  require_relative 'rubocop/cop/layout/multiline_operation_indentation'
217
261
  require_relative 'rubocop/cop/layout/parameter_alignment'
262
+ require_relative 'rubocop/cop/layout/redundant_line_break'
218
263
  require_relative 'rubocop/cop/layout/rescue_ensure_alignment'
264
+ require_relative 'rubocop/cop/layout/single_line_block_chain'
219
265
  require_relative 'rubocop/cop/layout/space_after_colon'
220
266
  require_relative 'rubocop/cop/layout/space_after_comma'
221
267
  require_relative 'rubocop/cop/layout/space_after_method_name'
@@ -227,6 +273,7 @@ require_relative 'rubocop/cop/layout/space_around_keyword'
227
273
  require_relative 'rubocop/cop/layout/space_around_method_call_operator'
228
274
  require_relative 'rubocop/cop/layout/space_around_operators'
229
275
  require_relative 'rubocop/cop/layout/space_before_block_braces'
276
+ require_relative 'rubocop/cop/layout/space_before_brackets'
230
277
  require_relative 'rubocop/cop/layout/space_before_comma'
231
278
  require_relative 'rubocop/cop/layout/space_before_comment'
232
279
  require_relative 'rubocop/cop/layout/space_before_first_arg'
@@ -244,60 +291,89 @@ require_relative 'rubocop/cop/layout/space_inside_string_interpolation'
244
291
  require_relative 'rubocop/cop/layout/trailing_empty_lines'
245
292
  require_relative 'rubocop/cop/layout/trailing_whitespace'
246
293
 
294
+ require_relative 'rubocop/cop/lint/utils/nil_receiver_checker'
295
+ require_relative 'rubocop/cop/lint/ambiguous_assignment'
247
296
  require_relative 'rubocop/cop/lint/ambiguous_block_association'
248
297
  require_relative 'rubocop/cop/lint/ambiguous_operator'
298
+ require_relative 'rubocop/cop/lint/ambiguous_operator_precedence'
299
+ require_relative 'rubocop/cop/lint/ambiguous_range'
249
300
  require_relative 'rubocop/cop/lint/ambiguous_regexp_literal'
301
+ require_relative 'rubocop/cop/lint/array_literal_in_regexp'
250
302
  require_relative 'rubocop/cop/lint/assignment_in_condition'
251
303
  require_relative 'rubocop/cop/lint/big_decimal_new'
252
304
  require_relative 'rubocop/cop/lint/binary_operator_with_identical_operands'
253
305
  require_relative 'rubocop/cop/lint/boolean_symbol'
254
306
  require_relative 'rubocop/cop/lint/circular_argument_reference'
255
307
  require_relative 'rubocop/cop/lint/constant_definition_in_block'
308
+ require_relative 'rubocop/cop/lint/constant_overwritten_in_rescue'
309
+ require_relative 'rubocop/cop/lint/constant_reassignment'
256
310
  require_relative 'rubocop/cop/lint/constant_resolution'
311
+ require_relative 'rubocop/cop/lint/cop_directive_syntax'
257
312
  require_relative 'rubocop/cop/lint/debugger'
258
313
  require_relative 'rubocop/cop/lint/deprecated_class_methods'
314
+ require_relative 'rubocop/cop/lint/deprecated_constants'
259
315
  require_relative 'rubocop/cop/lint/deprecated_open_ssl_constant'
260
316
  require_relative 'rubocop/cop/lint/disjunctive_assignment_in_constructor'
317
+ require_relative 'rubocop/cop/lint/duplicate_branch'
261
318
  require_relative 'rubocop/cop/lint/duplicate_case_condition'
262
319
  require_relative 'rubocop/cop/lint/duplicate_elsif_condition'
263
320
  require_relative 'rubocop/cop/lint/duplicate_hash_key'
321
+ require_relative 'rubocop/cop/lint/duplicate_magic_comment'
322
+ require_relative 'rubocop/cop/lint/duplicate_match_pattern'
264
323
  require_relative 'rubocop/cop/lint/duplicate_methods'
324
+ require_relative 'rubocop/cop/lint/duplicate_regexp_character_class_element'
265
325
  require_relative 'rubocop/cop/lint/duplicate_require'
266
326
  require_relative 'rubocop/cop/lint/duplicate_rescue_exception'
327
+ require_relative 'rubocop/cop/lint/duplicate_set_element'
267
328
  require_relative 'rubocop/cop/lint/each_with_object_argument'
268
329
  require_relative 'rubocop/cop/lint/else_layout'
330
+ require_relative 'rubocop/cop/lint/empty_block'
331
+ require_relative 'rubocop/cop/lint/empty_class'
269
332
  require_relative 'rubocop/cop/lint/empty_conditional_body'
270
333
  require_relative 'rubocop/cop/lint/empty_ensure'
271
334
  require_relative 'rubocop/cop/lint/empty_expression'
272
335
  require_relative 'rubocop/cop/lint/empty_file'
336
+ require_relative 'rubocop/cop/lint/empty_in_pattern'
273
337
  require_relative 'rubocop/cop/lint/empty_interpolation'
274
338
  require_relative 'rubocop/cop/lint/empty_when'
275
339
  require_relative 'rubocop/cop/lint/ensure_return'
340
+ require_relative 'rubocop/cop/lint/shared_mutable_default'
276
341
  require_relative 'rubocop/cop/lint/erb_new_arguments'
277
342
  require_relative 'rubocop/cop/lint/flip_flop'
278
343
  require_relative 'rubocop/cop/lint/float_comparison'
279
344
  require_relative 'rubocop/cop/lint/float_out_of_range'
280
345
  require_relative 'rubocop/cop/lint/format_parameter_mismatch'
281
346
  require_relative 'rubocop/cop/lint/hash_compare_by_identity'
347
+ require_relative 'rubocop/cop/lint/hash_new_with_keyword_arguments_as_default'
282
348
  require_relative 'rubocop/cop/lint/heredoc_method_call_position'
283
349
  require_relative 'rubocop/cop/lint/identity_comparison'
284
350
  require_relative 'rubocop/cop/lint/implicit_string_concatenation'
285
- require_relative 'rubocop/cop/lint/inherit_exception'
351
+ require_relative 'rubocop/cop/lint/incompatible_io_select_with_fiber_scheduler'
286
352
  require_relative 'rubocop/cop/lint/ineffective_access_modifier'
353
+ require_relative 'rubocop/cop/lint/inherit_exception'
287
354
  require_relative 'rubocop/cop/lint/interpolation_check'
355
+ require_relative 'rubocop/cop/lint/it_without_arguments_in_block'
356
+ require_relative 'rubocop/cop/lint/lambda_without_literal_block'
288
357
  require_relative 'rubocop/cop/lint/literal_as_condition'
358
+ require_relative 'rubocop/cop/lint/literal_assignment_in_condition'
289
359
  require_relative 'rubocop/cop/lint/literal_in_interpolation'
290
360
  require_relative 'rubocop/cop/lint/loop'
291
361
  require_relative 'rubocop/cop/lint/missing_cop_enable_directive'
292
362
  require_relative 'rubocop/cop/lint/missing_super'
363
+ require_relative 'rubocop/cop/lint/mixed_case_range'
293
364
  require_relative 'rubocop/cop/lint/mixed_regexp_capture_types'
294
365
  require_relative 'rubocop/cop/lint/multiple_comparison'
295
366
  require_relative 'rubocop/cop/lint/nested_method_definition'
296
367
  require_relative 'rubocop/cop/lint/nested_percent_literal'
297
368
  require_relative 'rubocop/cop/lint/next_without_accumulator'
369
+ require_relative 'rubocop/cop/lint/no_return_in_begin_end_blocks'
370
+ require_relative 'rubocop/cop/lint/non_atomic_file_operation'
298
371
  require_relative 'rubocop/cop/lint/non_deterministic_require_order'
299
372
  require_relative 'rubocop/cop/lint/non_local_exit_from_iterator'
300
373
  require_relative 'rubocop/cop/lint/number_conversion'
374
+ require_relative 'rubocop/cop/lint/numbered_parameter_assignment'
375
+ require_relative 'rubocop/cop/lint/numeric_operation_with_constant_result'
376
+ require_relative 'rubocop/cop/lint/or_assignment_to_constant'
301
377
  require_relative 'rubocop/cop/lint/ordered_magic_comments'
302
378
  require_relative 'rubocop/cop/lint/out_of_range_regexp_ref'
303
379
  require_relative 'rubocop/cop/lint/parentheses_as_grouped_expression'
@@ -307,14 +383,20 @@ require_relative 'rubocop/cop/lint/raise_exception'
307
383
  require_relative 'rubocop/cop/lint/rand_one'
308
384
  require_relative 'rubocop/cop/lint/redundant_cop_disable_directive'
309
385
  require_relative 'rubocop/cop/lint/redundant_cop_enable_directive'
386
+ require_relative 'rubocop/cop/lint/redundant_dir_glob_sort'
387
+ require_relative 'rubocop/cop/lint/redundant_regexp_quantifiers'
310
388
  require_relative 'rubocop/cop/lint/redundant_require_statement'
311
389
  require_relative 'rubocop/cop/lint/redundant_safe_navigation'
312
390
  require_relative 'rubocop/cop/lint/redundant_splat_expansion'
313
391
  require_relative 'rubocop/cop/lint/redundant_string_coercion'
392
+ require_relative 'rubocop/cop/lint/redundant_type_conversion'
314
393
  require_relative 'rubocop/cop/lint/redundant_with_index'
315
394
  require_relative 'rubocop/cop/lint/redundant_with_object'
395
+ require_relative 'rubocop/cop/lint/refinement_import_methods'
316
396
  require_relative 'rubocop/cop/lint/regexp_as_condition'
317
397
  require_relative 'rubocop/cop/lint/require_parentheses'
398
+ require_relative 'rubocop/cop/lint/require_range_parentheses'
399
+ require_relative 'rubocop/cop/lint/require_relative_self_path'
318
400
  require_relative 'rubocop/cop/lint/rescue_exception'
319
401
  require_relative 'rubocop/cop/lint/rescue_type'
320
402
  require_relative 'rubocop/cop/lint/return_in_void_context'
@@ -329,12 +411,19 @@ require_relative 'rubocop/cop/lint/shadowed_exception'
329
411
  require_relative 'rubocop/cop/lint/shadowing_outer_local_variable'
330
412
  require_relative 'rubocop/cop/lint/struct_new_override'
331
413
  require_relative 'rubocop/cop/lint/suppressed_exception'
414
+ require_relative 'rubocop/cop/lint/suppressed_exception_in_number_conversion'
415
+ require_relative 'rubocop/cop/lint/symbol_conversion'
332
416
  require_relative 'rubocop/cop/lint/syntax'
417
+ require_relative 'rubocop/cop/lint/to_enum_arguments'
333
418
  require_relative 'rubocop/cop/lint/to_json'
334
419
  require_relative 'rubocop/cop/lint/top_level_return_with_argument'
335
420
  require_relative 'rubocop/cop/lint/trailing_comma_in_attribute_declaration'
421
+ require_relative 'rubocop/cop/lint/triple_quotes'
336
422
  require_relative 'rubocop/cop/lint/underscore_prefixed_variable_name'
423
+ require_relative 'rubocop/cop/lint/unescaped_bracket_in_regexp'
424
+ require_relative 'rubocop/cop/lint/unexpected_block_arity'
337
425
  require_relative 'rubocop/cop/lint/unified_integer'
426
+ require_relative 'rubocop/cop/lint/unmodified_reduce_accumulator'
338
427
  require_relative 'rubocop/cop/lint/unreachable_code'
339
428
  require_relative 'rubocop/cop/lint/unreachable_loop'
340
429
  require_relative 'rubocop/cop/lint/unused_block_argument'
@@ -343,8 +432,15 @@ require_relative 'rubocop/cop/lint/uri_escape_unescape'
343
432
  require_relative 'rubocop/cop/lint/uri_regexp'
344
433
  require_relative 'rubocop/cop/lint/useless_access_modifier'
345
434
  require_relative 'rubocop/cop/lint/useless_assignment'
435
+ require_relative 'rubocop/cop/lint/useless_constant_scoping'
436
+ require_relative 'rubocop/cop/lint/useless_default_value_argument'
437
+ require_relative 'rubocop/cop/lint/useless_defined'
346
438
  require_relative 'rubocop/cop/lint/useless_else_without_rescue'
347
439
  require_relative 'rubocop/cop/lint/useless_method_definition'
440
+ require_relative 'rubocop/cop/lint/useless_numeric_operation'
441
+ require_relative 'rubocop/cop/lint/useless_or'
442
+ require_relative 'rubocop/cop/lint/useless_rescue'
443
+ require_relative 'rubocop/cop/lint/useless_ruby2_keywords'
348
444
  require_relative 'rubocop/cop/lint/useless_setter_call'
349
445
  require_relative 'rubocop/cop/lint/useless_times'
350
446
  require_relative 'rubocop/cop/lint/void'
@@ -358,6 +454,7 @@ require_relative 'rubocop/cop/metrics/abc_size'
358
454
  require_relative 'rubocop/cop/metrics/block_length'
359
455
  require_relative 'rubocop/cop/metrics/block_nesting'
360
456
  require_relative 'rubocop/cop/metrics/class_length'
457
+ require_relative 'rubocop/cop/metrics/collection_literal_length'
361
458
  require_relative 'rubocop/cop/metrics/method_length'
362
459
  require_relative 'rubocop/cop/metrics/module_length'
363
460
  require_relative 'rubocop/cop/metrics/parameter_lists'
@@ -365,17 +462,20 @@ require_relative 'rubocop/cop/metrics/perceived_complexity'
365
462
 
366
463
  require_relative 'rubocop/cop/naming/accessor_method_name'
367
464
  require_relative 'rubocop/cop/naming/ascii_identifiers'
465
+ require_relative 'rubocop/cop/naming/block_forwarding'
368
466
  require_relative 'rubocop/cop/naming/block_parameter_name'
369
467
  require_relative 'rubocop/cop/naming/class_and_module_camel_case'
370
468
  require_relative 'rubocop/cop/naming/constant_name'
371
469
  require_relative 'rubocop/cop/naming/file_name'
372
470
  require_relative 'rubocop/cop/naming/heredoc_delimiter_case'
373
471
  require_relative 'rubocop/cop/naming/heredoc_delimiter_naming'
472
+ require_relative 'rubocop/cop/naming/inclusive_language'
374
473
  require_relative 'rubocop/cop/naming/memoized_instance_variable_name'
375
474
  require_relative 'rubocop/cop/naming/method_name'
376
475
  require_relative 'rubocop/cop/naming/method_parameter_name'
377
476
  require_relative 'rubocop/cop/naming/binary_operator_parameter_name'
378
- require_relative 'rubocop/cop/naming/predicate_name'
477
+ require_relative 'rubocop/cop/naming/predicate_method'
478
+ require_relative 'rubocop/cop/naming/predicate_prefix'
379
479
  require_relative 'rubocop/cop/naming/rescued_exceptions_variable_name'
380
480
  require_relative 'rubocop/cop/naming/variable_name'
381
481
  require_relative 'rubocop/cop/naming/variable_number'
@@ -383,8 +483,12 @@ require_relative 'rubocop/cop/naming/variable_number'
383
483
  require_relative 'rubocop/cop/style/access_modifier_declarations'
384
484
  require_relative 'rubocop/cop/style/accessor_grouping'
385
485
  require_relative 'rubocop/cop/style/alias'
486
+ require_relative 'rubocop/cop/style/ambiguous_endless_method_definition'
386
487
  require_relative 'rubocop/cop/style/and_or'
488
+ require_relative 'rubocop/cop/style/arguments_forwarding'
387
489
  require_relative 'rubocop/cop/style/array_coercion'
490
+ require_relative 'rubocop/cop/style/array_first_last'
491
+ require_relative 'rubocop/cop/style/array_intersect'
388
492
  require_relative 'rubocop/cop/style/array_join'
389
493
  require_relative 'rubocop/cop/style/ascii_comments'
390
494
  require_relative 'rubocop/cop/style/attr'
@@ -392,6 +496,7 @@ require_relative 'rubocop/cop/style/auto_resource_cleanup'
392
496
  require_relative 'rubocop/cop/style/bare_percent_literals'
393
497
  require_relative 'rubocop/cop/style/begin_block'
394
498
  require_relative 'rubocop/cop/style/bisected_attr_accessor'
499
+ require_relative 'rubocop/cop/style/bitwise_predicate'
395
500
  require_relative 'rubocop/cop/style/block_comments'
396
501
  require_relative 'rubocop/cop/style/block_delimiters'
397
502
  require_relative 'rubocop/cop/style/case_equality'
@@ -403,22 +508,32 @@ require_relative 'rubocop/cop/style/class_equality_comparison'
403
508
  require_relative 'rubocop/cop/style/class_methods'
404
509
  require_relative 'rubocop/cop/style/class_methods_definitions'
405
510
  require_relative 'rubocop/cop/style/class_vars'
511
+ require_relative 'rubocop/cop/style/collection_compact'
406
512
  require_relative 'rubocop/cop/style/collection_methods'
513
+ require_relative 'rubocop/cop/style/collection_querying'
407
514
  require_relative 'rubocop/cop/style/colon_method_call'
408
515
  require_relative 'rubocop/cop/style/colon_method_definition'
516
+ require_relative 'rubocop/cop/style/combinable_defined'
409
517
  require_relative 'rubocop/cop/style/combinable_loops'
410
518
  require_relative 'rubocop/cop/style/command_literal'
411
519
  require_relative 'rubocop/cop/style/comment_annotation'
412
520
  require_relative 'rubocop/cop/style/commented_keyword'
521
+ require_relative 'rubocop/cop/style/comparable_between'
522
+ require_relative 'rubocop/cop/style/comparable_clamp'
523
+ require_relative 'rubocop/cop/style/concat_array_literals'
413
524
  require_relative 'rubocop/cop/style/conditional_assignment'
414
525
  require_relative 'rubocop/cop/style/constant_visibility'
415
526
  require_relative 'rubocop/cop/style/copyright'
527
+ require_relative 'rubocop/cop/style/data_inheritance'
416
528
  require_relative 'rubocop/cop/style/date_time'
417
529
  require_relative 'rubocop/cop/style/def_with_parentheses'
530
+ require_relative 'rubocop/cop/style/dig_chain'
418
531
  require_relative 'rubocop/cop/style/dir'
532
+ require_relative 'rubocop/cop/style/dir_empty'
419
533
  require_relative 'rubocop/cop/style/disable_cops_within_source_code_directive'
420
534
  require_relative 'rubocop/cop/style/documentation_method'
421
535
  require_relative 'rubocop/cop/style/documentation'
536
+ require_relative 'rubocop/cop/style/document_dynamic_eval_definition'
422
537
  require_relative 'rubocop/cop/style/double_cop_disable_directive'
423
538
  require_relative 'rubocop/cop/style/double_negation'
424
539
  require_relative 'rubocop/cop/style/each_for_simple_loop'
@@ -426,16 +541,27 @@ require_relative 'rubocop/cop/style/each_with_object'
426
541
  require_relative 'rubocop/cop/style/empty_block_parameter'
427
542
  require_relative 'rubocop/cop/style/empty_case_condition'
428
543
  require_relative 'rubocop/cop/style/empty_else'
544
+ require_relative 'rubocop/cop/style/empty_heredoc'
429
545
  require_relative 'rubocop/cop/style/empty_lambda_parameter'
430
546
  require_relative 'rubocop/cop/style/empty_literal'
431
547
  require_relative 'rubocop/cop/style/empty_method'
548
+ require_relative 'rubocop/cop/style/empty_string_inside_interpolation'
549
+ require_relative 'rubocop/cop/style/endless_method'
432
550
  require_relative 'rubocop/cop/style/encoding'
433
551
  require_relative 'rubocop/cop/style/end_block'
552
+ require_relative 'rubocop/cop/style/env_home'
434
553
  require_relative 'rubocop/cop/style/eval_with_location'
435
554
  require_relative 'rubocop/cop/style/even_odd'
555
+ require_relative 'rubocop/cop/style/exact_regexp_match'
436
556
  require_relative 'rubocop/cop/style/expand_path_arguments'
437
557
  require_relative 'rubocop/cop/style/explicit_block_argument'
438
558
  require_relative 'rubocop/cop/style/exponential_notation'
559
+ require_relative 'rubocop/cop/style/fetch_env_var'
560
+ require_relative 'rubocop/cop/style/file_empty'
561
+ require_relative 'rubocop/cop/style/file_null'
562
+ require_relative 'rubocop/cop/style/file_read'
563
+ require_relative 'rubocop/cop/style/file_touch'
564
+ require_relative 'rubocop/cop/style/file_write'
439
565
  require_relative 'rubocop/cop/style/float_division'
440
566
  require_relative 'rubocop/cop/style/for'
441
567
  require_relative 'rubocop/cop/style/format_string'
@@ -445,8 +571,12 @@ require_relative 'rubocop/cop/style/global_std_stream'
445
571
  require_relative 'rubocop/cop/style/global_vars'
446
572
  require_relative 'rubocop/cop/style/guard_clause'
447
573
  require_relative 'rubocop/cop/style/hash_as_last_array_item'
574
+ require_relative 'rubocop/cop/style/hash_conversion'
448
575
  require_relative 'rubocop/cop/style/hash_each_methods'
576
+ require_relative 'rubocop/cop/style/hash_except'
577
+ require_relative 'rubocop/cop/style/hash_fetch_chain'
449
578
  require_relative 'rubocop/cop/style/hash_like_case'
579
+ require_relative 'rubocop/cop/style/hash_slice'
450
580
  require_relative 'rubocop/cop/style/hash_syntax'
451
581
  require_relative 'rubocop/cop/style/hash_transform_keys'
452
582
  require_relative 'rubocop/cop/style/hash_transform_values'
@@ -454,25 +584,58 @@ require_relative 'rubocop/cop/style/identical_conditional_branches'
454
584
  require_relative 'rubocop/cop/style/if_inside_else'
455
585
  require_relative 'rubocop/cop/style/if_unless_modifier'
456
586
  require_relative 'rubocop/cop/style/if_unless_modifier_of_if_unless'
587
+ require_relative 'rubocop/cop/style/if_with_boolean_literal_branches'
457
588
  require_relative 'rubocop/cop/style/if_with_semicolon'
458
589
  require_relative 'rubocop/cop/style/implicit_runtime_error'
590
+ require_relative 'rubocop/cop/style/in_pattern_then'
459
591
  require_relative 'rubocop/cop/style/infinite_loop'
460
592
  require_relative 'rubocop/cop/style/inverse_methods'
461
593
  require_relative 'rubocop/cop/style/inline_comment'
594
+ require_relative 'rubocop/cop/style/invertible_unless_condition'
462
595
  require_relative 'rubocop/cop/style/ip_addresses'
596
+ require_relative 'rubocop/cop/style/it_assignment'
597
+ require_relative 'rubocop/cop/style/it_block_parameter'
598
+ require_relative 'rubocop/cop/style/keyword_arguments_merging'
463
599
  require_relative 'rubocop/cop/style/keyword_parameters_order'
464
600
  require_relative 'rubocop/cop/style/lambda'
465
601
  require_relative 'rubocop/cop/style/lambda_call'
466
602
  require_relative 'rubocop/cop/style/line_end_concatenation'
603
+ require_relative 'rubocop/cop/style/magic_comment_format'
604
+ require_relative 'rubocop/cop/style/map_into_array'
605
+ require_relative 'rubocop/cop/style/map_to_hash'
606
+ require_relative 'rubocop/cop/style/map_to_set'
467
607
  require_relative 'rubocop/cop/style/method_call_without_args_parentheses'
468
608
  require_relative 'rubocop/cop/style/method_call_with_args_parentheses'
609
+ require_relative 'rubocop/cop/style/min_max_comparison'
610
+ require_relative 'rubocop/cop/style/multiline_in_pattern_then'
611
+ require_relative 'rubocop/cop/style/numbered_parameters'
612
+ require_relative 'rubocop/cop/style/open_struct_use'
613
+ require_relative 'rubocop/cop/style/operator_method_call'
614
+ require_relative 'rubocop/cop/style/redundant_array_constructor'
615
+ require_relative 'rubocop/cop/style/redundant_array_flatten'
469
616
  require_relative 'rubocop/cop/style/redundant_assignment'
617
+ require_relative 'rubocop/cop/style/redundant_constant_base'
618
+ require_relative 'rubocop/cop/style/redundant_current_directory_in_path'
619
+ require_relative 'rubocop/cop/style/redundant_double_splat_hash_braces'
620
+ require_relative 'rubocop/cop/style/redundant_each'
470
621
  require_relative 'rubocop/cop/style/redundant_fetch_block'
471
622
  require_relative 'rubocop/cop/style/redundant_file_extension_in_require'
623
+ require_relative 'rubocop/cop/style/redundant_filter_chain'
624
+ require_relative 'rubocop/cop/style/redundant_format'
625
+ require_relative 'rubocop/cop/style/redundant_heredoc_delimiter_quotes'
626
+ require_relative 'rubocop/cop/style/redundant_initialize'
627
+ require_relative 'rubocop/cop/style/redundant_interpolation_unfreeze'
628
+ require_relative 'rubocop/cop/style/redundant_line_continuation'
629
+ require_relative 'rubocop/cop/style/redundant_regexp_argument'
630
+ require_relative 'rubocop/cop/style/redundant_regexp_constructor'
472
631
  require_relative 'rubocop/cop/style/redundant_self_assignment'
632
+ require_relative 'rubocop/cop/style/redundant_self_assignment_branch'
633
+ require_relative 'rubocop/cop/style/require_order'
634
+ require_relative 'rubocop/cop/style/safe_navigation_chain_length'
635
+ require_relative 'rubocop/cop/style/single_line_do_end_block'
473
636
  require_relative 'rubocop/cop/style/sole_nested_conditional'
474
- require_relative 'rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses'
475
- require_relative 'rubocop/cop/style/method_call_with_args_parentheses/require_parentheses'
637
+ require_relative 'rubocop/cop/style/static_class'
638
+ require_relative 'rubocop/cop/style/map_compact_with_conditional_block'
476
639
  require_relative 'rubocop/cop/style/method_called_on_do_end_block'
477
640
  require_relative 'rubocop/cop/style/method_def_parentheses'
478
641
  require_relative 'rubocop/cop/style/min_max'
@@ -491,18 +654,23 @@ require_relative 'rubocop/cop/style/multiline_when_then'
491
654
  require_relative 'rubocop/cop/style/multiple_comparison'
492
655
  require_relative 'rubocop/cop/style/mutable_constant'
493
656
  require_relative 'rubocop/cop/style/negated_if'
657
+ require_relative 'rubocop/cop/style/negated_if_else_condition'
494
658
  require_relative 'rubocop/cop/style/negated_unless'
495
659
  require_relative 'rubocop/cop/style/negated_while'
660
+ require_relative 'rubocop/cop/style/nested_file_dirname'
496
661
  require_relative 'rubocop/cop/style/nested_modifier'
497
662
  require_relative 'rubocop/cop/style/nested_parenthesized_calls'
498
663
  require_relative 'rubocop/cop/style/nested_ternary_operator'
499
664
  require_relative 'rubocop/cop/style/next'
500
665
  require_relative 'rubocop/cop/style/nil_comparison'
666
+ require_relative 'rubocop/cop/style/nil_lambda'
501
667
  require_relative 'rubocop/cop/style/non_nil_check'
502
668
  require_relative 'rubocop/cop/style/not'
669
+ require_relative 'rubocop/cop/style/numbered_parameters_limit'
503
670
  require_relative 'rubocop/cop/style/numeric_literals'
504
671
  require_relative 'rubocop/cop/style/numeric_literal_prefix'
505
672
  require_relative 'rubocop/cop/style/numeric_predicate'
673
+ require_relative 'rubocop/cop/style/object_then'
506
674
  require_relative 'rubocop/cop/style/one_line_conditional'
507
675
  require_relative 'rubocop/cop/style/or_assignment'
508
676
  require_relative 'rubocop/cop/style/option_hash'
@@ -515,8 +683,10 @@ require_relative 'rubocop/cop/style/percent_q_literals'
515
683
  require_relative 'rubocop/cop/style/perl_backrefs'
516
684
  require_relative 'rubocop/cop/style/preferred_hash_methods'
517
685
  require_relative 'rubocop/cop/style/proc'
686
+ require_relative 'rubocop/cop/style/quoted_symbols'
518
687
  require_relative 'rubocop/cop/style/raise_args'
519
688
  require_relative 'rubocop/cop/style/random_with_offset'
689
+ require_relative 'rubocop/cop/style/redundant_argument'
520
690
  require_relative 'rubocop/cop/style/redundant_begin'
521
691
  require_relative 'rubocop/cop/style/redundant_capital_w'
522
692
  require_relative 'rubocop/cop/style/redundant_condition'
@@ -532,15 +702,19 @@ require_relative 'rubocop/cop/style/redundant_return'
532
702
  require_relative 'rubocop/cop/style/redundant_self'
533
703
  require_relative 'rubocop/cop/style/redundant_sort'
534
704
  require_relative 'rubocop/cop/style/redundant_sort_by'
705
+ require_relative 'rubocop/cop/style/redundant_string_escape'
535
706
  require_relative 'rubocop/cop/style/regexp_literal'
536
707
  require_relative 'rubocop/cop/style/rescue_modifier'
537
708
  require_relative 'rubocop/cop/style/rescue_standard_error'
538
709
  require_relative 'rubocop/cop/style/return_nil'
710
+ require_relative 'rubocop/cop/style/return_nil_in_predicate_method_definition'
539
711
  require_relative 'rubocop/cop/style/safe_navigation'
540
712
  require_relative 'rubocop/cop/style/sample'
713
+ require_relative 'rubocop/cop/style/select_by_regexp'
541
714
  require_relative 'rubocop/cop/style/self_assignment'
542
715
  require_relative 'rubocop/cop/style/semicolon'
543
716
  require_relative 'rubocop/cop/style/send'
717
+ require_relative 'rubocop/cop/style/send_with_literal_method_name'
544
718
  require_relative 'rubocop/cop/style/signal_exception'
545
719
  require_relative 'rubocop/cop/style/single_argument_dig'
546
720
  require_relative 'rubocop/cop/style/single_line_block_params'
@@ -549,6 +723,7 @@ require_relative 'rubocop/cop/style/slicing_with_range'
549
723
  require_relative 'rubocop/cop/style/special_global_vars'
550
724
  require_relative 'rubocop/cop/style/stabby_lambda_parentheses'
551
725
  require_relative 'rubocop/cop/style/stderr_puts'
726
+ require_relative 'rubocop/cop/style/string_chars'
552
727
  require_relative 'rubocop/cop/style/string_concatenation'
553
728
  require_relative 'rubocop/cop/style/string_hash_keys'
554
729
  require_relative 'rubocop/cop/style/string_literals'
@@ -556,10 +731,14 @@ require_relative 'rubocop/cop/style/string_literals_in_interpolation'
556
731
  require_relative 'rubocop/cop/style/string_methods'
557
732
  require_relative 'rubocop/cop/style/strip'
558
733
  require_relative 'rubocop/cop/style/struct_inheritance'
734
+ require_relative 'rubocop/cop/style/super_arguments'
735
+ require_relative 'rubocop/cop/style/super_with_args_parentheses'
736
+ require_relative 'rubocop/cop/style/swap_values'
559
737
  require_relative 'rubocop/cop/style/symbol_array'
560
738
  require_relative 'rubocop/cop/style/symbol_literal'
561
739
  require_relative 'rubocop/cop/style/symbol_proc'
562
740
  require_relative 'rubocop/cop/style/ternary_parentheses'
741
+ require_relative 'rubocop/cop/style/top_level_method_definition'
563
742
  require_relative 'rubocop/cop/style/trailing_body_on_class'
564
743
  require_relative 'rubocop/cop/style/trailing_body_on_method_definition'
565
744
  require_relative 'rubocop/cop/style/trailing_body_on_module'
@@ -571,72 +750,73 @@ require_relative 'rubocop/cop/style/trailing_method_end_statement'
571
750
  require_relative 'rubocop/cop/style/trailing_underscore_variable'
572
751
  require_relative 'rubocop/cop/style/trivial_accessors'
573
752
  require_relative 'rubocop/cop/style/unless_else'
753
+ require_relative 'rubocop/cop/style/unless_logical_operators'
574
754
  require_relative 'rubocop/cop/style/unpack_first'
575
755
  require_relative 'rubocop/cop/style/variable_interpolation'
576
756
  require_relative 'rubocop/cop/style/when_then'
577
757
  require_relative 'rubocop/cop/style/while_until_do'
578
758
  require_relative 'rubocop/cop/style/while_until_modifier'
579
759
  require_relative 'rubocop/cop/style/word_array'
760
+ require_relative 'rubocop/cop/style/yaml_file_read'
580
761
  require_relative 'rubocop/cop/style/yoda_condition'
762
+ require_relative 'rubocop/cop/style/yoda_expression'
581
763
  require_relative 'rubocop/cop/style/zero_length_predicate'
582
764
 
765
+ require_relative 'rubocop/cop/security/compound_hash'
583
766
  require_relative 'rubocop/cop/security/eval'
767
+ require_relative 'rubocop/cop/security/io_methods'
584
768
  require_relative 'rubocop/cop/security/json_load'
585
769
  require_relative 'rubocop/cop/security/marshal_load'
586
770
  require_relative 'rubocop/cop/security/open'
587
771
  require_relative 'rubocop/cop/security/yaml_load'
588
772
 
589
773
  require_relative 'rubocop/cop/team'
590
-
591
- require_relative 'rubocop/formatter/base_formatter'
592
- require_relative 'rubocop/formatter/simple_text_formatter'
593
- # relies on simple text
594
- require_relative 'rubocop/formatter/clang_style_formatter'
595
- require_relative 'rubocop/formatter/disabled_config_formatter'
596
- require_relative 'rubocop/formatter/emacs_style_formatter'
597
- require_relative 'rubocop/formatter/file_list_formatter'
598
- require_relative 'rubocop/formatter/fuubar_style_formatter'
599
- require_relative 'rubocop/formatter/html_formatter'
600
- require_relative 'rubocop/formatter/json_formatter'
601
- require_relative 'rubocop/formatter/junit_formatter'
602
- require_relative 'rubocop/formatter/offense_count_formatter'
603
- require_relative 'rubocop/formatter/progress_formatter'
604
- require_relative 'rubocop/formatter/quiet_formatter'
605
- require_relative 'rubocop/formatter/tap_formatter'
606
- require_relative 'rubocop/formatter/worst_offenders_formatter'
607
- require_relative 'rubocop/formatter/pacman_formatter'
608
- # relies on progress formatter
609
- require_relative 'rubocop/formatter/auto_gen_config_formatter'
610
-
611
- require_relative 'rubocop/formatter/formatter_set'
774
+ require_relative 'rubocop/formatter'
612
775
 
613
776
  require_relative 'rubocop/cached_data'
614
777
  require_relative 'rubocop/config'
615
778
  require_relative 'rubocop/config_loader_resolver'
616
779
  require_relative 'rubocop/config_loader'
780
+ require_relative 'rubocop/config_obsoletion/rule'
781
+ require_relative 'rubocop/config_obsoletion/cop_rule'
782
+ require_relative 'rubocop/config_obsoletion/parameter_rule'
783
+ require_relative 'rubocop/config_obsoletion/changed_enforced_styles'
784
+ require_relative 'rubocop/config_obsoletion/changed_parameter'
785
+ require_relative 'rubocop/config_obsoletion/extracted_cop'
786
+ require_relative 'rubocop/config_obsoletion/removed_cop'
787
+ require_relative 'rubocop/config_obsoletion/renamed_cop'
788
+ require_relative 'rubocop/config_obsoletion/split_cop'
617
789
  require_relative 'rubocop/config_obsoletion'
618
790
  require_relative 'rubocop/config_store'
619
791
  require_relative 'rubocop/config_validator'
792
+ require_relative 'rubocop/feature_loader'
793
+ require_relative 'rubocop/lockfile'
794
+ require_relative 'rubocop/lsp'
620
795
  require_relative 'rubocop/target_finder'
621
796
  require_relative 'rubocop/directive_comment'
622
797
  require_relative 'rubocop/comment_config'
623
- require_relative 'rubocop/magic_comment'
624
798
  require_relative 'rubocop/result_cache'
625
799
  require_relative 'rubocop/runner'
626
800
  require_relative 'rubocop/cli'
627
801
  require_relative 'rubocop/cli/command'
628
802
  require_relative 'rubocop/cli/environment'
629
803
  require_relative 'rubocop/cli/command/base'
630
- require_relative 'rubocop/cli/command/auto_genenerate_config'
804
+ require_relative 'rubocop/cli/command/auto_generate_config'
631
805
  require_relative 'rubocop/cli/command/execute_runner'
632
806
  require_relative 'rubocop/cli/command/init_dotfile'
807
+ require_relative 'rubocop/cli/command/lsp'
633
808
  require_relative 'rubocop/cli/command/show_cops'
809
+ require_relative 'rubocop/cli/command/show_docs_url'
810
+ require_relative 'rubocop/cli/command/suggest_extensions'
634
811
  require_relative 'rubocop/cli/command/version'
635
812
  require_relative 'rubocop/config_regeneration'
636
813
  require_relative 'rubocop/options'
637
814
  require_relative 'rubocop/remote_config'
638
815
  require_relative 'rubocop/target_ruby'
639
816
  require_relative 'rubocop/yaml_duplication_checker'
817
+ require_relative 'rubocop/pending_cops_reporter'
818
+
819
+ # rubocop:enable Style/RequireOrder
640
820
 
641
821
  unless File.exist?("#{__dir__}/../rubocop.gemspec") # Check if we are a gem
642
822
  RuboCop::ResultCache.rubocop_required_features = $LOADED_FEATURES - before_us