rubocop 1.69.2 → 1.74.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +4 -4
- data/config/default.yml +122 -17
- data/config/internal_affairs.yml +20 -0
- data/lib/rubocop/cli/command/execute_runner.rb +3 -3
- data/lib/rubocop/cli/command/show_cops.rb +24 -2
- data/lib/rubocop/cli/command/suggest_extensions.rb +7 -1
- data/lib/rubocop/comment_config.rb +2 -2
- data/lib/rubocop/config.rb +17 -4
- data/lib/rubocop/config_loader.rb +48 -9
- data/lib/rubocop/config_loader_resolver.rb +36 -10
- data/lib/rubocop/config_obsoletion/extracted_cop.rb +4 -3
- data/lib/rubocop/config_obsoletion.rb +1 -1
- data/lib/rubocop/config_validator.rb +19 -9
- data/lib/rubocop/cop/autocorrect_logic.rb +1 -1
- data/lib/rubocop/cop/base.rb +6 -0
- data/lib/rubocop/cop/bundler/duplicated_gem.rb +1 -1
- data/lib/rubocop/cop/bundler/gem_comment.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/cop_enabled.rb +85 -0
- data/lib/rubocop/cop/internal_affairs/example_description.rb +7 -3
- data/lib/rubocop/cop/internal_affairs/location_exists.rb +116 -0
- data/lib/rubocop/cop/internal_affairs/location_expression.rb +2 -1
- data/lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb +3 -2
- data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_processor.rb +63 -0
- data/lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_walker.rb +131 -0
- data/lib/rubocop/cop/internal_affairs/node_pattern_groups.rb +229 -0
- data/lib/rubocop/cop/internal_affairs/node_type_group.rb +91 -0
- data/lib/rubocop/cop/internal_affairs/node_type_multiple_predicates.rb +126 -0
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +4 -3
- data/lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb +90 -0
- data/lib/rubocop/cop/internal_affairs/plugin.rb +33 -0
- data/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +3 -1
- data/lib/rubocop/cop/internal_affairs/single_line_comparison.rb +5 -4
- data/lib/rubocop/cop/internal_affairs/undefined_config.rb +7 -1
- data/lib/rubocop/cop/internal_affairs.rb +6 -16
- data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/argument_alignment.rb +2 -8
- data/lib/rubocop/cop/layout/block_alignment.rb +3 -1
- data/lib/rubocop/cop/layout/class_structure.rb +9 -9
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +4 -4
- data/lib/rubocop/cop/layout/dot_position.rb +1 -1
- data/lib/rubocop/cop/layout/else_alignment.rb +2 -2
- data/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +1 -1
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +7 -11
- data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +27 -1
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +22 -2
- data/lib/rubocop/cop/layout/end_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/extra_spacing.rb +1 -1
- data/lib/rubocop/cop/layout/first_argument_indentation.rb +3 -8
- data/lib/rubocop/cop/layout/first_array_element_indentation.rb +2 -7
- data/lib/rubocop/cop/layout/first_hash_element_indentation.rb +2 -7
- data/lib/rubocop/cop/layout/first_hash_element_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/first_parameter_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/hash_alignment.rb +6 -4
- data/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +2 -1
- data/lib/rubocop/cop/layout/line_continuation_spacing.rb +7 -1
- data/lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/line_length.rb +4 -3
- data/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +25 -0
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -0
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +4 -4
- data/lib/rubocop/cop/layout/redundant_line_break.rb +7 -6
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/single_line_block_chain.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_colon.rb +2 -2
- data/lib/rubocop/cop/layout/space_after_comma.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_method_name.rb +1 -1
- data/lib/rubocop/cop/layout/space_after_semicolon.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_keyword.rb +1 -0
- data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_operators.rb +3 -3
- data/lib/rubocop/cop/layout/space_before_comma.rb +1 -1
- data/lib/rubocop/cop/layout/space_before_semicolon.rb +1 -1
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +5 -3
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +1 -1
- data/lib/rubocop/cop/lint/array_literal_in_regexp.rb +119 -0
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -3
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +1 -1
- data/lib/rubocop/cop/lint/constant_definition_in_block.rb +3 -3
- data/lib/rubocop/cop/lint/constant_reassignment.rb +148 -0
- data/lib/rubocop/cop/lint/cop_directive_syntax.rb +84 -0
- data/lib/rubocop/cop/lint/debugger.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_match_pattern.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +0 -14
- data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_set_element.rb +20 -7
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +14 -64
- data/lib/rubocop/cop/lint/empty_expression.rb +0 -2
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +0 -6
- data/lib/rubocop/cop/lint/float_comparison.rb +6 -8
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +2 -2
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +1 -1
- data/lib/rubocop/cop/lint/literal_as_condition.rb +103 -9
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +24 -6
- data/lib/rubocop/cop/lint/missing_super.rb +2 -2
- data/lib/rubocop/cop/lint/mixed_case_range.rb +3 -3
- data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -1
- data/lib/rubocop/cop/lint/nested_method_definition.rb +8 -4
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/non_atomic_file_operation.rb +4 -3
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +3 -3
- data/lib/rubocop/cop/lint/numeric_operation_with_constant_result.rb +18 -31
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +2 -1
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -5
- data/lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +0 -21
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_type_conversion.rb +258 -0
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/return_in_void_context.rb +4 -11
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +8 -1
- data/lib/rubocop/cop/lint/shared_mutable_default.rb +76 -0
- data/lib/rubocop/cop/lint/suppressed_exception.rb +1 -1
- data/lib/rubocop/cop/lint/suppressed_exception_in_number_conversion.rb +111 -0
- data/lib/rubocop/cop/lint/symbol_conversion.rb +1 -1
- data/lib/rubocop/cop/lint/syntax.rb +4 -1
- data/lib/rubocop/cop/lint/unescaped_bracket_in_regexp.rb +1 -4
- data/lib/rubocop/cop/lint/unexpected_block_arity.rb +1 -1
- data/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_loop.rb +1 -1
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +4 -4
- data/lib/rubocop/cop/lint/useless_assignment.rb +1 -1
- data/lib/rubocop/cop/lint/useless_constant_scoping.rb +71 -0
- data/lib/rubocop/cop/lint/useless_method_definition.rb +1 -1
- data/lib/rubocop/cop/lint/useless_numeric_operation.rb +2 -1
- data/lib/rubocop/cop/lint/useless_ruby2_keywords.rb +2 -2
- data/lib/rubocop/cop/lint/void.rb +11 -9
- data/lib/rubocop/cop/metrics/block_nesting.rb +1 -1
- data/lib/rubocop/cop/metrics/collection_literal_length.rb +7 -0
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +1 -1
- data/lib/rubocop/cop/metrics/method_length.rb +8 -1
- data/lib/rubocop/cop/metrics/module_length.rb +1 -1
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +1 -1
- data/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +7 -7
- data/lib/rubocop/cop/mixin/alignment.rb +2 -2
- data/lib/rubocop/cop/mixin/allowed_pattern.rb +4 -4
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +11 -11
- data/lib/rubocop/cop/mixin/check_single_line_suitability.rb +1 -1
- data/lib/rubocop/cop/mixin/comments_help.rb +4 -2
- data/lib/rubocop/cop/mixin/dig_help.rb +1 -1
- data/lib/rubocop/cop/mixin/frozen_string_literal.rb +1 -1
- data/lib/rubocop/cop/mixin/hash_shorthand_syntax.rb +22 -22
- data/lib/rubocop/cop/mixin/hash_subset.rb +203 -0
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +74 -74
- data/lib/rubocop/cop/mixin/method_complexity.rb +1 -1
- data/lib/rubocop/cop/mixin/percent_literal.rb +1 -1
- data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +48 -24
- data/lib/rubocop/cop/mixin/range_help.rb +15 -3
- data/lib/rubocop/cop/mixin/space_before_punctuation.rb +1 -1
- data/lib/rubocop/cop/mixin/statement_modifier.rb +8 -3
- data/lib/rubocop/cop/mixin/string_help.rb +2 -2
- data/lib/rubocop/cop/mixin/string_literals_help.rb +1 -1
- data/lib/rubocop/cop/mixin/target_ruby_version.rb +1 -1
- data/lib/rubocop/cop/mixin/trailing_comma.rb +15 -3
- data/lib/rubocop/cop/naming/block_forwarding.rb +19 -15
- data/lib/rubocop/cop/naming/predicate_name.rb +44 -0
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +3 -3
- data/lib/rubocop/cop/naming/variable_name.rb +64 -6
- data/lib/rubocop/cop/security/compound_hash.rb +1 -0
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +34 -5
- data/lib/rubocop/cop/style/accessor_grouping.rb +19 -5
- data/lib/rubocop/cop/style/and_or.rb +1 -1
- data/lib/rubocop/cop/style/arguments_forwarding.rb +39 -23
- data/lib/rubocop/cop/style/array_first_last.rb +18 -2
- data/lib/rubocop/cop/style/block_delimiters.rb +7 -20
- data/lib/rubocop/cop/style/class_and_module_children.rb +35 -10
- data/lib/rubocop/cop/style/collection_methods.rb +1 -1
- data/lib/rubocop/cop/style/combinable_defined.rb +1 -1
- data/lib/rubocop/cop/style/combinable_loops.rb +2 -2
- data/lib/rubocop/cop/style/commented_keyword.rb +10 -3
- data/lib/rubocop/cop/style/comparable_between.rb +75 -0
- data/lib/rubocop/cop/style/concat_array_literals.rb +1 -1
- data/lib/rubocop/cop/style/conditional_assignment.rb +6 -4
- data/lib/rubocop/cop/style/documentation.rb +1 -1
- data/lib/rubocop/cop/style/double_negation.rb +4 -4
- data/lib/rubocop/cop/style/each_for_simple_loop.rb +4 -7
- data/lib/rubocop/cop/style/each_with_object.rb +2 -3
- data/lib/rubocop/cop/style/empty_else.rb +4 -2
- data/lib/rubocop/cop/style/empty_literal.rb +1 -1
- data/lib/rubocop/cop/style/empty_method.rb +1 -1
- data/lib/rubocop/cop/style/endless_method.rb +163 -18
- data/lib/rubocop/cop/style/eval_with_location.rb +1 -1
- data/lib/rubocop/cop/style/exact_regexp_match.rb +3 -10
- data/lib/rubocop/cop/style/expand_path_arguments.rb +2 -7
- data/lib/rubocop/cop/style/explicit_block_argument.rb +15 -2
- data/lib/rubocop/cop/style/exponential_notation.rb +3 -3
- data/lib/rubocop/cop/style/fetch_env_var.rb +1 -1
- data/lib/rubocop/cop/style/float_division.rb +8 -4
- data/lib/rubocop/cop/style/format_string_token.rb +38 -11
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +1 -1
- data/lib/rubocop/cop/style/hash_each_methods.rb +3 -6
- data/lib/rubocop/cop/style/hash_except.rb +24 -148
- data/lib/rubocop/cop/style/hash_slice.rb +80 -0
- data/lib/rubocop/cop/style/hash_syntax.rb +6 -3
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +22 -3
- data/lib/rubocop/cop/style/if_unless_modifier.rb +5 -5
- data/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +1 -1
- data/lib/rubocop/cop/style/if_with_semicolon.rb +2 -2
- data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +14 -11
- data/lib/rubocop/cop/style/it_assignment.rb +36 -0
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +14 -8
- data/lib/rubocop/cop/style/line_end_concatenation.rb +10 -4
- data/lib/rubocop/cop/style/map_into_array.rb +1 -1
- data/lib/rubocop/cop/style/map_to_hash.rb +1 -1
- data/lib/rubocop/cop/style/map_to_set.rb +3 -2
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +22 -15
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +2 -0
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +2 -1
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -4
- data/lib/rubocop/cop/style/method_def_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/missing_else.rb +2 -0
- data/lib/rubocop/cop/style/multiline_block_chain.rb +2 -2
- data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -9
- data/lib/rubocop/cop/style/multiple_comparison.rb +26 -20
- data/lib/rubocop/cop/style/mutable_constant.rb +3 -3
- data/lib/rubocop/cop/style/negated_if_else_condition.rb +1 -1
- data/lib/rubocop/cop/style/nested_parenthesized_calls.rb +1 -1
- data/lib/rubocop/cop/style/object_then.rb +13 -15
- data/lib/rubocop/cop/style/open_struct_use.rb +5 -5
- data/lib/rubocop/cop/style/parallel_assignment.rb +1 -5
- data/lib/rubocop/cop/style/parentheses_around_condition.rb +2 -2
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +1 -1
- data/lib/rubocop/cop/style/proc.rb +1 -2
- data/lib/rubocop/cop/style/quoted_symbols.rb +1 -1
- data/lib/rubocop/cop/style/raise_args.rb +6 -4
- data/lib/rubocop/cop/style/random_with_offset.rb +3 -3
- data/lib/rubocop/cop/style/redundant_begin.rb +1 -1
- data/lib/rubocop/cop/style/redundant_condition.rb +47 -2
- data/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +16 -5
- data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +6 -10
- data/lib/rubocop/cop/style/redundant_each.rb +1 -1
- data/lib/rubocop/cop/style/redundant_exception.rb +2 -2
- data/lib/rubocop/cop/style/redundant_format.rb +250 -0
- data/lib/rubocop/cop/style/redundant_freeze.rb +3 -3
- data/lib/rubocop/cop/style/redundant_initialize.rb +12 -3
- data/lib/rubocop/cop/style/redundant_line_continuation.rb +34 -13
- data/lib/rubocop/cop/style/redundant_parentheses.rb +28 -14
- data/lib/rubocop/cop/style/redundant_regexp_argument.rb +3 -0
- data/lib/rubocop/cop/style/redundant_regexp_character_class.rb +1 -1
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +1 -1
- data/lib/rubocop/cop/style/redundant_self_assignment.rb +14 -28
- data/lib/rubocop/cop/style/redundant_sort.rb +2 -2
- data/lib/rubocop/cop/style/redundant_string_escape.rb +2 -2
- data/lib/rubocop/cop/style/rescue_modifier.rb +3 -0
- data/lib/rubocop/cop/style/return_nil.rb +1 -1
- data/lib/rubocop/cop/style/safe_navigation.rb +2 -2
- data/lib/rubocop/cop/style/semicolon.rb +1 -1
- data/lib/rubocop/cop/style/send_with_literal_method_name.rb +2 -1
- data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
- data/lib/rubocop/cop/style/single_line_do_end_block.rb +1 -2
- data/lib/rubocop/cop/style/single_line_methods.rb +6 -7
- data/lib/rubocop/cop/style/slicing_with_range.rb +40 -11
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -8
- data/lib/rubocop/cop/style/string_concatenation.rb +2 -2
- data/lib/rubocop/cop/style/string_literals.rb +1 -1
- data/lib/rubocop/cop/style/string_methods.rb +1 -1
- data/lib/rubocop/cop/style/super_arguments.rb +65 -17
- data/lib/rubocop/cop/style/ternary_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/top_level_method_definition.rb +1 -1
- data/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +4 -1
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +47 -6
- data/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +48 -6
- data/lib/rubocop/cop/style/trivial_accessors.rb +1 -1
- data/lib/rubocop/cop/style/while_until_modifier.rb +0 -1
- data/lib/rubocop/cop/style/yoda_condition.rb +8 -4
- data/lib/rubocop/cop/style/yoda_expression.rb +2 -1
- data/lib/rubocop/cop/util.rb +12 -5
- data/lib/rubocop/cop/utils/format_string.rb +10 -5
- data/lib/rubocop/cop/variable_force/variable.rb +14 -2
- data/lib/rubocop/cop/variable_force/variable_table.rb +3 -3
- data/lib/rubocop/cops_documentation_generator.rb +25 -14
- data/lib/rubocop/directive_comment.rb +45 -11
- data/lib/rubocop/ext/regexp_node.rb +0 -1
- data/lib/rubocop/formatter/formatter_set.rb +1 -1
- data/lib/rubocop/lsp/diagnostic.rb +189 -0
- data/lib/rubocop/lsp/logger.rb +2 -2
- data/lib/rubocop/lsp/routes.rb +7 -23
- data/lib/rubocop/lsp/runtime.rb +17 -49
- data/lib/rubocop/lsp/server.rb +0 -2
- data/lib/rubocop/lsp/stdin_runner.rb +83 -0
- data/lib/rubocop/options.rb +28 -12
- data/lib/rubocop/path_util.rb +15 -8
- data/lib/rubocop/plugin/configuration_integrator.rb +143 -0
- data/lib/rubocop/plugin/load_error.rb +26 -0
- data/lib/rubocop/plugin/loader.rb +100 -0
- data/lib/rubocop/plugin/not_supported_error.rb +29 -0
- data/lib/rubocop/plugin.rb +46 -0
- data/lib/rubocop/rake_task.rb +4 -1
- data/lib/rubocop/result_cache.rb +13 -13
- data/lib/rubocop/rspec/cop_helper.rb +9 -0
- data/lib/rubocop/rspec/expect_offense.rb +6 -2
- data/lib/rubocop/rspec/shared_contexts.rb +19 -1
- data/lib/rubocop/rspec/support.rb +2 -2
- data/lib/rubocop/runner.rb +5 -6
- data/lib/rubocop/server/cache.rb +35 -2
- data/lib/rubocop/server/cli.rb +2 -2
- data/lib/rubocop/target_finder.rb +1 -0
- data/lib/rubocop/target_ruby.rb +15 -0
- data/lib/rubocop/version.rb +17 -2
- data/lib/rubocop.rb +12 -1
- data/lib/ruby_lsp/rubocop/addon.rb +75 -0
- data/lib/ruby_lsp/rubocop/runtime_adapter.rb +47 -0
- metadata +55 -16
- data/lib/rubocop/cop/utils/regexp_ranges.rb +0 -113
- data/lib/rubocop/rspec/host_environment_simulation_helper.rb +0 -28
data/lib/rubocop/runner.rb
CHANGED
@@ -20,11 +20,7 @@ module RuboCop
|
|
20
20
|
message = 'Infinite loop detected'
|
21
21
|
message += " in #{path}" if path
|
22
22
|
message += " and caused by #{root_cause}" if root_cause
|
23
|
-
message
|
24
|
-
hint = 'Hint: Please update to the latest RuboCop version if not already in use, ' \
|
25
|
-
"and report a bug if the issue still occurs on this version.\n" \
|
26
|
-
'Please check the latest version at https://rubygems.org/gems/rubocop.'
|
27
|
-
super(Rainbow(message).red + Rainbow(hint).yellow)
|
23
|
+
super(message)
|
28
24
|
end
|
29
25
|
end
|
30
26
|
|
@@ -157,8 +153,11 @@ module RuboCop
|
|
157
153
|
file_started(file)
|
158
154
|
offenses = file_offenses(file)
|
159
155
|
rescue InfiniteCorrectionLoop => e
|
156
|
+
raise e if @options[:raise_cop_error]
|
157
|
+
|
158
|
+
errors << e
|
159
|
+
warn Rainbow(e.message).red
|
160
160
|
offenses = e.offenses.compact.sort.freeze
|
161
|
-
raise
|
162
161
|
ensure
|
163
162
|
file_finished(file, offenses || [])
|
164
163
|
end
|
data/lib/rubocop/server/cache.rb
CHANGED
@@ -2,8 +2,10 @@
|
|
2
2
|
|
3
3
|
require 'digest'
|
4
4
|
require 'pathname'
|
5
|
+
require 'yaml'
|
5
6
|
require_relative '../cache_config'
|
6
7
|
require_relative '../config_finder'
|
8
|
+
require_relative '../path_util'
|
7
9
|
|
8
10
|
#
|
9
11
|
# This code is based on https://github.com/fohte/rubocop-daemon.
|
@@ -50,9 +52,11 @@ module RuboCop
|
|
50
52
|
end.find(&:exist?)
|
51
53
|
version_data = lockfile_path&.read || RuboCop::Version::STRING
|
52
54
|
config_data = Pathname(ConfigFinder.find_config_path(Dir.pwd)).read
|
53
|
-
|
55
|
+
yaml = YAML.safe_load(config_data, permitted_classes: [Regexp, Symbol], aliases: true)
|
56
|
+
inherit_from_data = inherit_from_data(yaml)
|
57
|
+
require_data = require_data(yaml)
|
54
58
|
|
55
|
-
Digest::SHA1.hexdigest(version_data + config_data +
|
59
|
+
Digest::SHA1.hexdigest(version_data + config_data + inherit_from_data + require_data)
|
56
60
|
end
|
57
61
|
# rubocop:enable Metrics/AbcSize
|
58
62
|
|
@@ -164,6 +168,35 @@ module RuboCop
|
|
164
168
|
def write_version_file(version)
|
165
169
|
version_path.write(version)
|
166
170
|
end
|
171
|
+
|
172
|
+
def inherit_from_data(yaml)
|
173
|
+
return '' unless (inherit_from_paths = yaml['inherit_from'])
|
174
|
+
|
175
|
+
Array(inherit_from_paths).map do |path|
|
176
|
+
next if PathUtil.remote_file?(path)
|
177
|
+
|
178
|
+
path = Pathname(path)
|
179
|
+
|
180
|
+
path.exist? ? path.read : ''
|
181
|
+
end.join
|
182
|
+
end
|
183
|
+
|
184
|
+
def require_data(yaml)
|
185
|
+
return '' unless (require_paths = yaml['require'])
|
186
|
+
|
187
|
+
Array(require_paths).map do |path|
|
188
|
+
# NOTE: This targets only relative or absolute path specifications.
|
189
|
+
# For example, specifications like `require: rubocop-performance`,
|
190
|
+
# which can be loaded from `$LOAD_PATH`, are ignored.
|
191
|
+
next unless path.start_with?('.', '/')
|
192
|
+
|
193
|
+
# NOTE: `.so` files are not typically specified, so only `.rb` files are targeted.
|
194
|
+
path = "#{path}.rb" unless path.end_with?('.rb')
|
195
|
+
path = Pathname(path)
|
196
|
+
|
197
|
+
path.exist? ? path.read : ''
|
198
|
+
end.join
|
199
|
+
end
|
167
200
|
end
|
168
201
|
end
|
169
202
|
end
|
data/lib/rubocop/server/cli.rb
CHANGED
@@ -86,7 +86,7 @@ module RuboCop
|
|
86
86
|
end
|
87
87
|
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
88
88
|
|
89
|
-
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
89
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
90
90
|
def run_command(server_command, detach:)
|
91
91
|
case server_command
|
92
92
|
when '--server'
|
@@ -107,7 +107,7 @@ module RuboCop
|
|
107
107
|
Server::ClientCommand::Status.new.run
|
108
108
|
end
|
109
109
|
end
|
110
|
-
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
110
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
111
111
|
|
112
112
|
def fetch_cache_root_path_from(arguments)
|
113
113
|
cache_root = arguments.detect { |argument| argument.start_with?('--cache-root') }
|
@@ -127,6 +127,7 @@ module RuboCop
|
|
127
127
|
if mode == :only_recognized_file_types || force_exclusion?
|
128
128
|
files.select! { |file| included_file?(file) }
|
129
129
|
end
|
130
|
+
files.reject! { |file| FileTest.directory?(file) }
|
130
131
|
|
131
132
|
force_exclusion? ? without_excluded(files) : files
|
132
133
|
end
|
data/lib/rubocop/target_ruby.rb
CHANGED
@@ -34,6 +34,20 @@ module RuboCop
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
# The target ruby version may be configured by setting the
|
38
|
+
# `RUBOCOP_TARGET_RUBY_VERSION` environment variable.
|
39
|
+
class RuboCopEnvVar < Source
|
40
|
+
def name
|
41
|
+
'`RUBOCOP_TARGET_RUBY_VERSION` environment variable'
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def find_version
|
47
|
+
ENV.fetch('RUBOCOP_TARGET_RUBY_VERSION', nil)&.to_f
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
37
51
|
# The target ruby version may be configured in RuboCop's config.
|
38
52
|
# @api private
|
39
53
|
class RuboCopConfig < Source
|
@@ -246,6 +260,7 @@ module RuboCop
|
|
246
260
|
end
|
247
261
|
|
248
262
|
SOURCES = [
|
263
|
+
RuboCopEnvVar,
|
249
264
|
RuboCopConfig,
|
250
265
|
GemspecFile,
|
251
266
|
RubyVersionFile,
|
data/lib/rubocop/version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# This module holds the RuboCop version information.
|
5
5
|
module Version
|
6
|
-
STRING = '1.
|
6
|
+
STRING = '1.74.0'
|
7
7
|
|
8
8
|
MSG = '%<version>s (using %<parser_version>s, ' \
|
9
9
|
'rubocop-ast %<rubocop_ast_version>s, ' \
|
@@ -63,9 +63,21 @@ module RuboCop
|
|
63
63
|
end
|
64
64
|
|
65
65
|
# @api private
|
66
|
+
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
66
67
|
def self.extension_versions(env)
|
68
|
+
plugins = config_for_pwd(env).loaded_plugins
|
69
|
+
plugin_versions = plugins.filter_map do |plugin|
|
70
|
+
next if Plugin::BUILTIN_INTERNAL_PLUGINS.key?(plugin.about.name)
|
71
|
+
next unless (plugin_name = plugin.about.name)
|
72
|
+
|
73
|
+
" - #{plugin_name} #{plugin.about.version}"
|
74
|
+
end
|
75
|
+
|
76
|
+
# TODO: It needs to be maintained for a while to ensure compatibility with extensions that
|
77
|
+
# don't support plugins. It should be removed in future once the old style becomes obsolete.
|
67
78
|
features = config_for_pwd(env).loaded_features.sort
|
68
|
-
features.
|
79
|
+
features -= plugins.map { |plugin| plugin.about.name }
|
80
|
+
feature_versions = features.filter_map do |loaded_feature|
|
69
81
|
next unless (match = loaded_feature.match(/rubocop-(?<feature>.*)/))
|
70
82
|
|
71
83
|
# Get the expected name of the folder containing the extension code.
|
@@ -84,7 +96,10 @@ module RuboCop
|
|
84
96
|
|
85
97
|
" - #{loaded_feature} #{feature_version}"
|
86
98
|
end
|
99
|
+
|
100
|
+
plugin_versions + feature_versions
|
87
101
|
end
|
102
|
+
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
88
103
|
|
89
104
|
# @api private
|
90
105
|
def self.target_ruby_version(env)
|
data/lib/rubocop.rb
CHANGED
@@ -100,6 +100,7 @@ require_relative 'rubocop/cop/mixin/frozen_string_literal'
|
|
100
100
|
require_relative 'rubocop/cop/mixin/gem_declaration'
|
101
101
|
require_relative 'rubocop/cop/mixin/gemspec_help'
|
102
102
|
require_relative 'rubocop/cop/mixin/hash_alignment_styles'
|
103
|
+
require_relative 'rubocop/cop/mixin/hash_subset'
|
103
104
|
require_relative 'rubocop/cop/mixin/hash_transform_method'
|
104
105
|
require_relative 'rubocop/cop/mixin/integer_node'
|
105
106
|
require_relative 'rubocop/cop/mixin/interpolation'
|
@@ -147,7 +148,6 @@ require_relative 'rubocop/cop/mixin/comments_help' # relies on visibility_help
|
|
147
148
|
require_relative 'rubocop/cop/mixin/def_node' # relies on visibility_help
|
148
149
|
|
149
150
|
require_relative 'rubocop/cop/utils/format_string'
|
150
|
-
require_relative 'rubocop/cop/utils/regexp_ranges'
|
151
151
|
|
152
152
|
require_relative 'rubocop/cop/migration/department_name'
|
153
153
|
|
@@ -293,6 +293,7 @@ require_relative 'rubocop/cop/lint/ambiguous_operator'
|
|
293
293
|
require_relative 'rubocop/cop/lint/ambiguous_operator_precedence'
|
294
294
|
require_relative 'rubocop/cop/lint/ambiguous_range'
|
295
295
|
require_relative 'rubocop/cop/lint/ambiguous_regexp_literal'
|
296
|
+
require_relative 'rubocop/cop/lint/array_literal_in_regexp'
|
296
297
|
require_relative 'rubocop/cop/lint/assignment_in_condition'
|
297
298
|
require_relative 'rubocop/cop/lint/big_decimal_new'
|
298
299
|
require_relative 'rubocop/cop/lint/binary_operator_with_identical_operands'
|
@@ -300,7 +301,9 @@ require_relative 'rubocop/cop/lint/boolean_symbol'
|
|
300
301
|
require_relative 'rubocop/cop/lint/circular_argument_reference'
|
301
302
|
require_relative 'rubocop/cop/lint/constant_definition_in_block'
|
302
303
|
require_relative 'rubocop/cop/lint/constant_overwritten_in_rescue'
|
304
|
+
require_relative 'rubocop/cop/lint/constant_reassignment'
|
303
305
|
require_relative 'rubocop/cop/lint/constant_resolution'
|
306
|
+
require_relative 'rubocop/cop/lint/cop_directive_syntax'
|
304
307
|
require_relative 'rubocop/cop/lint/debugger'
|
305
308
|
require_relative 'rubocop/cop/lint/deprecated_class_methods'
|
306
309
|
require_relative 'rubocop/cop/lint/deprecated_constants'
|
@@ -329,6 +332,7 @@ require_relative 'rubocop/cop/lint/empty_in_pattern'
|
|
329
332
|
require_relative 'rubocop/cop/lint/empty_interpolation'
|
330
333
|
require_relative 'rubocop/cop/lint/empty_when'
|
331
334
|
require_relative 'rubocop/cop/lint/ensure_return'
|
335
|
+
require_relative 'rubocop/cop/lint/shared_mutable_default'
|
332
336
|
require_relative 'rubocop/cop/lint/erb_new_arguments'
|
333
337
|
require_relative 'rubocop/cop/lint/flip_flop'
|
334
338
|
require_relative 'rubocop/cop/lint/float_comparison'
|
@@ -380,6 +384,7 @@ require_relative 'rubocop/cop/lint/redundant_require_statement'
|
|
380
384
|
require_relative 'rubocop/cop/lint/redundant_safe_navigation'
|
381
385
|
require_relative 'rubocop/cop/lint/redundant_splat_expansion'
|
382
386
|
require_relative 'rubocop/cop/lint/redundant_string_coercion'
|
387
|
+
require_relative 'rubocop/cop/lint/redundant_type_conversion'
|
383
388
|
require_relative 'rubocop/cop/lint/redundant_with_index'
|
384
389
|
require_relative 'rubocop/cop/lint/redundant_with_object'
|
385
390
|
require_relative 'rubocop/cop/lint/refinement_import_methods'
|
@@ -401,6 +406,7 @@ require_relative 'rubocop/cop/lint/shadowed_exception'
|
|
401
406
|
require_relative 'rubocop/cop/lint/shadowing_outer_local_variable'
|
402
407
|
require_relative 'rubocop/cop/lint/struct_new_override'
|
403
408
|
require_relative 'rubocop/cop/lint/suppressed_exception'
|
409
|
+
require_relative 'rubocop/cop/lint/suppressed_exception_in_number_conversion'
|
404
410
|
require_relative 'rubocop/cop/lint/symbol_conversion'
|
405
411
|
require_relative 'rubocop/cop/lint/syntax'
|
406
412
|
require_relative 'rubocop/cop/lint/to_enum_arguments'
|
@@ -421,6 +427,7 @@ require_relative 'rubocop/cop/lint/uri_escape_unescape'
|
|
421
427
|
require_relative 'rubocop/cop/lint/uri_regexp'
|
422
428
|
require_relative 'rubocop/cop/lint/useless_access_modifier'
|
423
429
|
require_relative 'rubocop/cop/lint/useless_assignment'
|
430
|
+
require_relative 'rubocop/cop/lint/useless_constant_scoping'
|
424
431
|
require_relative 'rubocop/cop/lint/useless_defined'
|
425
432
|
require_relative 'rubocop/cop/lint/useless_else_without_rescue'
|
426
433
|
require_relative 'rubocop/cop/lint/useless_method_definition'
|
@@ -502,6 +509,7 @@ require_relative 'rubocop/cop/style/combinable_loops'
|
|
502
509
|
require_relative 'rubocop/cop/style/command_literal'
|
503
510
|
require_relative 'rubocop/cop/style/comment_annotation'
|
504
511
|
require_relative 'rubocop/cop/style/commented_keyword'
|
512
|
+
require_relative 'rubocop/cop/style/comparable_between'
|
505
513
|
require_relative 'rubocop/cop/style/comparable_clamp'
|
506
514
|
require_relative 'rubocop/cop/style/concat_array_literals'
|
507
515
|
require_relative 'rubocop/cop/style/conditional_assignment'
|
@@ -557,6 +565,7 @@ require_relative 'rubocop/cop/style/hash_conversion'
|
|
557
565
|
require_relative 'rubocop/cop/style/hash_each_methods'
|
558
566
|
require_relative 'rubocop/cop/style/hash_except'
|
559
567
|
require_relative 'rubocop/cop/style/hash_like_case'
|
568
|
+
require_relative 'rubocop/cop/style/hash_slice'
|
560
569
|
require_relative 'rubocop/cop/style/hash_syntax'
|
561
570
|
require_relative 'rubocop/cop/style/hash_transform_keys'
|
562
571
|
require_relative 'rubocop/cop/style/hash_transform_values'
|
@@ -573,6 +582,7 @@ require_relative 'rubocop/cop/style/inverse_methods'
|
|
573
582
|
require_relative 'rubocop/cop/style/inline_comment'
|
574
583
|
require_relative 'rubocop/cop/style/invertible_unless_condition'
|
575
584
|
require_relative 'rubocop/cop/style/ip_addresses'
|
585
|
+
require_relative 'rubocop/cop/style/it_assignment'
|
576
586
|
require_relative 'rubocop/cop/style/keyword_arguments_merging'
|
577
587
|
require_relative 'rubocop/cop/style/keyword_parameters_order'
|
578
588
|
require_relative 'rubocop/cop/style/lambda'
|
@@ -598,6 +608,7 @@ require_relative 'rubocop/cop/style/redundant_each'
|
|
598
608
|
require_relative 'rubocop/cop/style/redundant_fetch_block'
|
599
609
|
require_relative 'rubocop/cop/style/redundant_file_extension_in_require'
|
600
610
|
require_relative 'rubocop/cop/style/redundant_filter_chain'
|
611
|
+
require_relative 'rubocop/cop/style/redundant_format'
|
601
612
|
require_relative 'rubocop/cop/style/redundant_heredoc_delimiter_quotes'
|
602
613
|
require_relative 'rubocop/cop/style/redundant_initialize'
|
603
614
|
require_relative 'rubocop/cop/style/redundant_interpolation_unfreeze'
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../rubocop'
|
4
|
+
require_relative '../../rubocop/lsp/logger'
|
5
|
+
require_relative 'runtime_adapter'
|
6
|
+
|
7
|
+
module RubyLsp
|
8
|
+
module RuboCop
|
9
|
+
# A Ruby LSP add-on for RuboCop.
|
10
|
+
class Addon < RubyLsp::Addon
|
11
|
+
def initializer
|
12
|
+
@runtime_adapter = nil
|
13
|
+
end
|
14
|
+
|
15
|
+
def name
|
16
|
+
'RuboCop'
|
17
|
+
end
|
18
|
+
|
19
|
+
def activate(global_state, message_queue)
|
20
|
+
::RuboCop::LSP::Logger.log(
|
21
|
+
"Activating RuboCop LSP addon #{::RuboCop::Version::STRING}.", prefix: '[RuboCop]'
|
22
|
+
)
|
23
|
+
|
24
|
+
@runtime_adapter = RuntimeAdapter.new
|
25
|
+
global_state.register_formatter('rubocop', @runtime_adapter)
|
26
|
+
register_additional_file_watchers(global_state, message_queue)
|
27
|
+
|
28
|
+
::RuboCop::LSP::Logger.log(
|
29
|
+
"Initialized RuboCop LSP addon #{::RuboCop::Version::STRING}.", prefix: '[RuboCop]'
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
def deactivate
|
34
|
+
@runtime_adapter = nil
|
35
|
+
end
|
36
|
+
|
37
|
+
# rubocop:disable Layout/LineLength, Metrics/MethodLength
|
38
|
+
def register_additional_file_watchers(global_state, message_queue)
|
39
|
+
return unless global_state.supports_watching_files
|
40
|
+
|
41
|
+
message_queue << Request.new(
|
42
|
+
id: 'rubocop-file-watcher',
|
43
|
+
method: 'client/registerCapability',
|
44
|
+
params: Interface::RegistrationParams.new(
|
45
|
+
registrations: [
|
46
|
+
Interface::Registration.new(
|
47
|
+
id: 'workspace/didChangeWatchedFilesRuboCop',
|
48
|
+
method: 'workspace/didChangeWatchedFiles',
|
49
|
+
register_options: Interface::DidChangeWatchedFilesRegistrationOptions.new(
|
50
|
+
watchers: [
|
51
|
+
Interface::FileSystemWatcher.new(
|
52
|
+
glob_pattern: '**/.rubocop{,_todo}.yml',
|
53
|
+
kind: Constant::WatchKind::CREATE | Constant::WatchKind::CHANGE | Constant::WatchKind::DELETE
|
54
|
+
)
|
55
|
+
]
|
56
|
+
)
|
57
|
+
)
|
58
|
+
]
|
59
|
+
)
|
60
|
+
)
|
61
|
+
end
|
62
|
+
# rubocop:enable Layout/LineLength, Metrics/MethodLength
|
63
|
+
|
64
|
+
def workspace_did_change_watched_files(changes)
|
65
|
+
return unless changes.any? { |change| change[:uri].end_with?('.rubocop.yml') }
|
66
|
+
|
67
|
+
@runtime_adapter = RuntimeAdapter.new
|
68
|
+
|
69
|
+
::RuboCop::LSP::Logger.log(<<~MESSAGE, prefix: '[RuboCop]')
|
70
|
+
Re-initialized RuboCop LSP addon #{::RuboCop::Version::STRING} due to .rubocop.yml file change.
|
71
|
+
MESSAGE
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../rubocop/lsp/runtime'
|
4
|
+
|
5
|
+
module RubyLsp
|
6
|
+
module RuboCop
|
7
|
+
# Provides an adapter to bridge RuboCop's built-in LSP runtime with Ruby LSP's add-on.
|
8
|
+
# @api private
|
9
|
+
class RuntimeAdapter
|
10
|
+
include RubyLsp::Requests::Support::Formatter
|
11
|
+
|
12
|
+
def initialize
|
13
|
+
config_store = ::RuboCop::ConfigStore.new
|
14
|
+
|
15
|
+
@runtime = ::RuboCop::LSP::Runtime.new(config_store)
|
16
|
+
end
|
17
|
+
|
18
|
+
def run_diagnostic(uri, document)
|
19
|
+
@runtime.offenses(uri_to_path(uri), document.source, document.encoding)
|
20
|
+
end
|
21
|
+
|
22
|
+
def run_formatting(uri, document)
|
23
|
+
@runtime.format(uri_to_path(uri), document.source, command: 'rubocop.formatAutocorrects')
|
24
|
+
end
|
25
|
+
|
26
|
+
def run_range_formatting(_uri, _partial_source, _base_indentation)
|
27
|
+
# Not yet supported. Should return the formatted version of `partial_source` which is
|
28
|
+
# a partial selection of the entire document. For example, it should not try to add
|
29
|
+
# a frozen_string_literal magic comment and all style corrections should start from
|
30
|
+
# the `base_indentation`.
|
31
|
+
nil
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
# duplicated from: lib/standard/lsp/routes.rb
|
37
|
+
# modified to incorporate Ruby LSP's to_standardized_path method
|
38
|
+
def uri_to_path(uri)
|
39
|
+
if uri.respond_to?(:to_standardized_path) && (standardized_path = uri.to_standardized_path)
|
40
|
+
standardized_path
|
41
|
+
else
|
42
|
+
uri.to_s.delete_prefix('file://')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
metadata
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.74.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
8
8
|
- Jonas Arvidsson
|
9
9
|
- Yuji Nakayama
|
10
|
-
autorequire:
|
11
10
|
bindir: exe
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2025-03-13 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: json
|
@@ -30,16 +29,30 @@ dependencies:
|
|
30
29
|
name: language_server-protocol
|
31
30
|
requirement: !ruby/object:Gem::Requirement
|
32
31
|
requirements:
|
33
|
-
- - "
|
32
|
+
- - "~>"
|
34
33
|
- !ruby/object:Gem::Version
|
35
|
-
version: 3.17.0
|
34
|
+
version: 3.17.0.2
|
36
35
|
type: :runtime
|
37
36
|
prerelease: false
|
38
37
|
version_requirements: !ruby/object:Gem::Requirement
|
39
38
|
requirements:
|
40
|
-
- - "
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 3.17.0.2
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: lint_roller
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 1.1.0
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
41
54
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
55
|
+
version: 1.1.0
|
43
56
|
- !ruby/object:Gem::Dependency
|
44
57
|
name: parallel
|
45
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +127,7 @@ dependencies:
|
|
114
127
|
requirements:
|
115
128
|
- - ">="
|
116
129
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
130
|
+
version: 1.38.0
|
118
131
|
- - "<"
|
119
132
|
- !ruby/object:Gem::Version
|
120
133
|
version: '2.0'
|
@@ -124,7 +137,7 @@ dependencies:
|
|
124
137
|
requirements:
|
125
138
|
- - ">="
|
126
139
|
- !ruby/object:Gem::Version
|
127
|
-
version: 1.
|
140
|
+
version: 1.38.0
|
128
141
|
- - "<"
|
129
142
|
- !ruby/object:Gem::Version
|
130
143
|
version: '2.0'
|
@@ -266,12 +279,14 @@ files:
|
|
266
279
|
- lib/rubocop/cop/ignored_node.rb
|
267
280
|
- lib/rubocop/cop/internal_affairs.rb
|
268
281
|
- lib/rubocop/cop/internal_affairs/cop_description.rb
|
282
|
+
- lib/rubocop/cop/internal_affairs/cop_enabled.rb
|
269
283
|
- lib/rubocop/cop/internal_affairs/create_empty_file.rb
|
270
284
|
- lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb
|
271
285
|
- lib/rubocop/cop/internal_affairs/example_description.rb
|
272
286
|
- lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb
|
273
287
|
- lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb
|
274
288
|
- lib/rubocop/cop/internal_affairs/lambda_or_proc.rb
|
289
|
+
- lib/rubocop/cop/internal_affairs/location_exists.rb
|
275
290
|
- lib/rubocop/cop/internal_affairs/location_expression.rb
|
276
291
|
- lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb
|
277
292
|
- lib/rubocop/cop/internal_affairs/method_name_end_with.rb
|
@@ -279,10 +294,17 @@ files:
|
|
279
294
|
- lib/rubocop/cop/internal_affairs/node_destructuring.rb
|
280
295
|
- lib/rubocop/cop/internal_affairs/node_first_or_last_argument.rb
|
281
296
|
- lib/rubocop/cop/internal_affairs/node_matcher_directive.rb
|
297
|
+
- lib/rubocop/cop/internal_affairs/node_pattern_groups.rb
|
298
|
+
- lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_processor.rb
|
299
|
+
- lib/rubocop/cop/internal_affairs/node_pattern_groups/ast_walker.rb
|
300
|
+
- lib/rubocop/cop/internal_affairs/node_type_group.rb
|
301
|
+
- lib/rubocop/cop/internal_affairs/node_type_multiple_predicates.rb
|
282
302
|
- lib/rubocop/cop/internal_affairs/node_type_predicate.rb
|
283
303
|
- lib/rubocop/cop/internal_affairs/numblock_handler.rb
|
284
304
|
- lib/rubocop/cop/internal_affairs/offense_location_keyword.rb
|
305
|
+
- lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb
|
285
306
|
- lib/rubocop/cop/internal_affairs/operator_keyword.rb
|
307
|
+
- lib/rubocop/cop/internal_affairs/plugin.rb
|
286
308
|
- lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb
|
287
309
|
- lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb
|
288
310
|
- lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb
|
@@ -404,6 +426,7 @@ files:
|
|
404
426
|
- lib/rubocop/cop/lint/ambiguous_operator_precedence.rb
|
405
427
|
- lib/rubocop/cop/lint/ambiguous_range.rb
|
406
428
|
- lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
|
429
|
+
- lib/rubocop/cop/lint/array_literal_in_regexp.rb
|
407
430
|
- lib/rubocop/cop/lint/assignment_in_condition.rb
|
408
431
|
- lib/rubocop/cop/lint/big_decimal_new.rb
|
409
432
|
- lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb
|
@@ -411,7 +434,9 @@ files:
|
|
411
434
|
- lib/rubocop/cop/lint/circular_argument_reference.rb
|
412
435
|
- lib/rubocop/cop/lint/constant_definition_in_block.rb
|
413
436
|
- lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb
|
437
|
+
- lib/rubocop/cop/lint/constant_reassignment.rb
|
414
438
|
- lib/rubocop/cop/lint/constant_resolution.rb
|
439
|
+
- lib/rubocop/cop/lint/cop_directive_syntax.rb
|
415
440
|
- lib/rubocop/cop/lint/debugger.rb
|
416
441
|
- lib/rubocop/cop/lint/deprecated_class_methods.rb
|
417
442
|
- lib/rubocop/cop/lint/deprecated_constants.rb
|
@@ -491,6 +516,7 @@ files:
|
|
491
516
|
- lib/rubocop/cop/lint/redundant_safe_navigation.rb
|
492
517
|
- lib/rubocop/cop/lint/redundant_splat_expansion.rb
|
493
518
|
- lib/rubocop/cop/lint/redundant_string_coercion.rb
|
519
|
+
- lib/rubocop/cop/lint/redundant_type_conversion.rb
|
494
520
|
- lib/rubocop/cop/lint/redundant_with_index.rb
|
495
521
|
- lib/rubocop/cop/lint/redundant_with_object.rb
|
496
522
|
- lib/rubocop/cop/lint/refinement_import_methods.rb
|
@@ -510,8 +536,10 @@ files:
|
|
510
536
|
- lib/rubocop/cop/lint/shadowed_argument.rb
|
511
537
|
- lib/rubocop/cop/lint/shadowed_exception.rb
|
512
538
|
- lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
|
539
|
+
- lib/rubocop/cop/lint/shared_mutable_default.rb
|
513
540
|
- lib/rubocop/cop/lint/struct_new_override.rb
|
514
541
|
- lib/rubocop/cop/lint/suppressed_exception.rb
|
542
|
+
- lib/rubocop/cop/lint/suppressed_exception_in_number_conversion.rb
|
515
543
|
- lib/rubocop/cop/lint/symbol_conversion.rb
|
516
544
|
- lib/rubocop/cop/lint/syntax.rb
|
517
545
|
- lib/rubocop/cop/lint/to_enum_arguments.rb
|
@@ -532,6 +560,7 @@ files:
|
|
532
560
|
- lib/rubocop/cop/lint/uri_regexp.rb
|
533
561
|
- lib/rubocop/cop/lint/useless_access_modifier.rb
|
534
562
|
- lib/rubocop/cop/lint/useless_assignment.rb
|
563
|
+
- lib/rubocop/cop/lint/useless_constant_scoping.rb
|
535
564
|
- lib/rubocop/cop/lint/useless_defined.rb
|
536
565
|
- lib/rubocop/cop/lint/useless_else_without_rescue.rb
|
537
566
|
- lib/rubocop/cop/lint/useless_method_definition.rb
|
@@ -592,6 +621,7 @@ files:
|
|
592
621
|
- lib/rubocop/cop/mixin/gemspec_help.rb
|
593
622
|
- lib/rubocop/cop/mixin/hash_alignment_styles.rb
|
594
623
|
- lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
|
624
|
+
- lib/rubocop/cop/mixin/hash_subset.rb
|
595
625
|
- lib/rubocop/cop/mixin/hash_transform_method.rb
|
596
626
|
- lib/rubocop/cop/mixin/heredoc.rb
|
597
627
|
- lib/rubocop/cop/mixin/integer_node.rb
|
@@ -699,6 +729,7 @@ files:
|
|
699
729
|
- lib/rubocop/cop/style/command_literal.rb
|
700
730
|
- lib/rubocop/cop/style/comment_annotation.rb
|
701
731
|
- lib/rubocop/cop/style/commented_keyword.rb
|
732
|
+
- lib/rubocop/cop/style/comparable_between.rb
|
702
733
|
- lib/rubocop/cop/style/comparable_clamp.rb
|
703
734
|
- lib/rubocop/cop/style/concat_array_literals.rb
|
704
735
|
- lib/rubocop/cop/style/conditional_assignment.rb
|
@@ -754,6 +785,7 @@ files:
|
|
754
785
|
- lib/rubocop/cop/style/hash_each_methods.rb
|
755
786
|
- lib/rubocop/cop/style/hash_except.rb
|
756
787
|
- lib/rubocop/cop/style/hash_like_case.rb
|
788
|
+
- lib/rubocop/cop/style/hash_slice.rb
|
757
789
|
- lib/rubocop/cop/style/hash_syntax.rb
|
758
790
|
- lib/rubocop/cop/style/hash_transform_keys.rb
|
759
791
|
- lib/rubocop/cop/style/hash_transform_values.rb
|
@@ -770,6 +802,7 @@ files:
|
|
770
802
|
- lib/rubocop/cop/style/inverse_methods.rb
|
771
803
|
- lib/rubocop/cop/style/invertible_unless_condition.rb
|
772
804
|
- lib/rubocop/cop/style/ip_addresses.rb
|
805
|
+
- lib/rubocop/cop/style/it_assignment.rb
|
773
806
|
- lib/rubocop/cop/style/keyword_arguments_merging.rb
|
774
807
|
- lib/rubocop/cop/style/keyword_parameters_order.rb
|
775
808
|
- lib/rubocop/cop/style/lambda.rb
|
@@ -854,6 +887,7 @@ files:
|
|
854
887
|
- lib/rubocop/cop/style/redundant_fetch_block.rb
|
855
888
|
- lib/rubocop/cop/style/redundant_file_extension_in_require.rb
|
856
889
|
- lib/rubocop/cop/style/redundant_filter_chain.rb
|
890
|
+
- lib/rubocop/cop/style/redundant_format.rb
|
857
891
|
- lib/rubocop/cop/style/redundant_freeze.rb
|
858
892
|
- lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb
|
859
893
|
- lib/rubocop/cop/style/redundant_initialize.rb
|
@@ -939,7 +973,6 @@ files:
|
|
939
973
|
- lib/rubocop/cop/team.rb
|
940
974
|
- lib/rubocop/cop/util.rb
|
941
975
|
- lib/rubocop/cop/utils/format_string.rb
|
942
|
-
- lib/rubocop/cop/utils/regexp_ranges.rb
|
943
976
|
- lib/rubocop/cop/variable_force.rb
|
944
977
|
- lib/rubocop/cop/variable_force/assignment.rb
|
945
978
|
- lib/rubocop/cop/variable_force/branch.rb
|
@@ -985,22 +1018,28 @@ files:
|
|
985
1018
|
- lib/rubocop/formatter/worst_offenders_formatter.rb
|
986
1019
|
- lib/rubocop/lockfile.rb
|
987
1020
|
- lib/rubocop/lsp.rb
|
1021
|
+
- lib/rubocop/lsp/diagnostic.rb
|
988
1022
|
- lib/rubocop/lsp/logger.rb
|
989
1023
|
- lib/rubocop/lsp/routes.rb
|
990
1024
|
- lib/rubocop/lsp/runtime.rb
|
991
1025
|
- lib/rubocop/lsp/server.rb
|
992
1026
|
- lib/rubocop/lsp/severity.rb
|
1027
|
+
- lib/rubocop/lsp/stdin_runner.rb
|
993
1028
|
- lib/rubocop/magic_comment.rb
|
994
1029
|
- lib/rubocop/name_similarity.rb
|
995
1030
|
- lib/rubocop/options.rb
|
996
1031
|
- lib/rubocop/path_util.rb
|
997
1032
|
- lib/rubocop/platform.rb
|
1033
|
+
- lib/rubocop/plugin.rb
|
1034
|
+
- lib/rubocop/plugin/configuration_integrator.rb
|
1035
|
+
- lib/rubocop/plugin/load_error.rb
|
1036
|
+
- lib/rubocop/plugin/loader.rb
|
1037
|
+
- lib/rubocop/plugin/not_supported_error.rb
|
998
1038
|
- lib/rubocop/rake_task.rb
|
999
1039
|
- lib/rubocop/remote_config.rb
|
1000
1040
|
- lib/rubocop/result_cache.rb
|
1001
1041
|
- lib/rubocop/rspec/cop_helper.rb
|
1002
1042
|
- lib/rubocop/rspec/expect_offense.rb
|
1003
|
-
- lib/rubocop/rspec/host_environment_simulation_helper.rb
|
1004
1043
|
- lib/rubocop/rspec/parallel_formatter.rb
|
1005
1044
|
- lib/rubocop/rspec/shared_contexts.rb
|
1006
1045
|
- lib/rubocop/rspec/support.rb
|
@@ -1030,17 +1069,18 @@ files:
|
|
1030
1069
|
- lib/rubocop/version.rb
|
1031
1070
|
- lib/rubocop/warning.rb
|
1032
1071
|
- lib/rubocop/yaml_duplication_checker.rb
|
1072
|
+
- lib/ruby_lsp/rubocop/addon.rb
|
1073
|
+
- lib/ruby_lsp/rubocop/runtime_adapter.rb
|
1033
1074
|
homepage: https://github.com/rubocop/rubocop
|
1034
1075
|
licenses:
|
1035
1076
|
- MIT
|
1036
1077
|
metadata:
|
1037
1078
|
homepage_uri: https://rubocop.org/
|
1038
|
-
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.
|
1079
|
+
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.74.0
|
1039
1080
|
source_code_uri: https://github.com/rubocop/rubocop/
|
1040
|
-
documentation_uri: https://docs.rubocop.org/rubocop/1.
|
1081
|
+
documentation_uri: https://docs.rubocop.org/rubocop/1.74/
|
1041
1082
|
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
|
1042
1083
|
rubygems_mfa_required: 'true'
|
1043
|
-
post_install_message:
|
1044
1084
|
rdoc_options: []
|
1045
1085
|
require_paths:
|
1046
1086
|
- lib
|
@@ -1055,8 +1095,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1055
1095
|
- !ruby/object:Gem::Version
|
1056
1096
|
version: '0'
|
1057
1097
|
requirements: []
|
1058
|
-
rubygems_version: 3.
|
1059
|
-
signing_key:
|
1098
|
+
rubygems_version: 3.6.2
|
1060
1099
|
specification_version: 4
|
1061
1100
|
summary: Automatic Ruby code style checking tool.
|
1062
1101
|
test_files: []
|