rubocop 1.69.2 → 1.72.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.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +2 -2
- data/config/default.yml +66 -2
- 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 -8
- data/lib/rubocop/config_loader_resolver.rb +33 -8
- data/lib/rubocop/config_validator.rb +18 -8
- 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 +4 -2
- 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_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 +5 -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/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 +1 -0
- 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 +1 -0
- 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_regexp_character_class_element.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_set_element.rb +20 -7
- data/lib/rubocop/cop/lint/empty_expression.rb +0 -2
- data/lib/rubocop/cop/lint/float_comparison.rb +5 -2
- 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_in_interpolation.rb +24 -6
- data/lib/rubocop/cop/lint/missing_super.rb +2 -2
- data/lib/rubocop/cop/lint/mixed_case_range.rb +1 -1
- 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 +1 -1
- 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_string_coercion.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_type_conversion.rb +231 -0
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +8 -1
- data/lib/rubocop/cop/lint/shared_mutable_default.rb +65 -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 +80 -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 +5 -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/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 +188 -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 +3 -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/trailing_comma.rb +3 -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/security/compound_hash.rb +1 -0
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +34 -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 +6 -3
- 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/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 +3 -3
- 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/eval_with_location.rb +1 -1
- data/lib/rubocop/cop/style/exact_regexp_match.rb +3 -10
- data/lib/rubocop/cop/style/explicit_block_argument.rb +15 -2
- data/lib/rubocop/cop/style/exponential_notation.rb +1 -1
- 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/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 +3 -3
- 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 +6 -6
- data/lib/rubocop/cop/style/it_assignment.rb +36 -0
- data/lib/rubocop/cop/style/keyword_parameters_order.rb +1 -1
- 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 +19 -12
- 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 +1 -1
- 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 +2 -2
- data/lib/rubocop/cop/style/redundant_current_directory_in_path.rb +2 -1
- 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 +238 -0
- data/lib/rubocop/cop/style/redundant_freeze.rb +2 -2
- 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/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 +3 -4
- data/lib/rubocop/cop/style/slicing_with_range.rb +40 -11
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -2
- data/lib/rubocop/cop/style/string_concatenation.rb +1 -1
- 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/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 +7 -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 +13 -13
- data/lib/rubocop/directive_comment.rb +44 -10
- 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 +39 -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 +4 -1
- data/lib/rubocop/rspec/support.rb +1 -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 +11 -0
- data/lib/ruby_lsp/rubocop/addon.rb +75 -0
- data/lib/ruby_lsp/rubocop/runtime_adapter.rb +47 -0
- metadata +53 -15
- data/lib/rubocop/rspec/host_environment_simulation_helper.rb +0 -28
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.72.2'
|
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'
|
@@ -293,6 +294,7 @@ require_relative 'rubocop/cop/lint/ambiguous_operator'
|
|
293
294
|
require_relative 'rubocop/cop/lint/ambiguous_operator_precedence'
|
294
295
|
require_relative 'rubocop/cop/lint/ambiguous_range'
|
295
296
|
require_relative 'rubocop/cop/lint/ambiguous_regexp_literal'
|
297
|
+
require_relative 'rubocop/cop/lint/array_literal_in_regexp'
|
296
298
|
require_relative 'rubocop/cop/lint/assignment_in_condition'
|
297
299
|
require_relative 'rubocop/cop/lint/big_decimal_new'
|
298
300
|
require_relative 'rubocop/cop/lint/binary_operator_with_identical_operands'
|
@@ -300,7 +302,9 @@ require_relative 'rubocop/cop/lint/boolean_symbol'
|
|
300
302
|
require_relative 'rubocop/cop/lint/circular_argument_reference'
|
301
303
|
require_relative 'rubocop/cop/lint/constant_definition_in_block'
|
302
304
|
require_relative 'rubocop/cop/lint/constant_overwritten_in_rescue'
|
305
|
+
require_relative 'rubocop/cop/lint/constant_reassignment'
|
303
306
|
require_relative 'rubocop/cop/lint/constant_resolution'
|
307
|
+
require_relative 'rubocop/cop/lint/cop_directive_syntax'
|
304
308
|
require_relative 'rubocop/cop/lint/debugger'
|
305
309
|
require_relative 'rubocop/cop/lint/deprecated_class_methods'
|
306
310
|
require_relative 'rubocop/cop/lint/deprecated_constants'
|
@@ -329,6 +333,7 @@ require_relative 'rubocop/cop/lint/empty_in_pattern'
|
|
329
333
|
require_relative 'rubocop/cop/lint/empty_interpolation'
|
330
334
|
require_relative 'rubocop/cop/lint/empty_when'
|
331
335
|
require_relative 'rubocop/cop/lint/ensure_return'
|
336
|
+
require_relative 'rubocop/cop/lint/shared_mutable_default'
|
332
337
|
require_relative 'rubocop/cop/lint/erb_new_arguments'
|
333
338
|
require_relative 'rubocop/cop/lint/flip_flop'
|
334
339
|
require_relative 'rubocop/cop/lint/float_comparison'
|
@@ -380,6 +385,7 @@ require_relative 'rubocop/cop/lint/redundant_require_statement'
|
|
380
385
|
require_relative 'rubocop/cop/lint/redundant_safe_navigation'
|
381
386
|
require_relative 'rubocop/cop/lint/redundant_splat_expansion'
|
382
387
|
require_relative 'rubocop/cop/lint/redundant_string_coercion'
|
388
|
+
require_relative 'rubocop/cop/lint/redundant_type_conversion'
|
383
389
|
require_relative 'rubocop/cop/lint/redundant_with_index'
|
384
390
|
require_relative 'rubocop/cop/lint/redundant_with_object'
|
385
391
|
require_relative 'rubocop/cop/lint/refinement_import_methods'
|
@@ -401,6 +407,7 @@ require_relative 'rubocop/cop/lint/shadowed_exception'
|
|
401
407
|
require_relative 'rubocop/cop/lint/shadowing_outer_local_variable'
|
402
408
|
require_relative 'rubocop/cop/lint/struct_new_override'
|
403
409
|
require_relative 'rubocop/cop/lint/suppressed_exception'
|
410
|
+
require_relative 'rubocop/cop/lint/suppressed_exception_in_number_conversion'
|
404
411
|
require_relative 'rubocop/cop/lint/symbol_conversion'
|
405
412
|
require_relative 'rubocop/cop/lint/syntax'
|
406
413
|
require_relative 'rubocop/cop/lint/to_enum_arguments'
|
@@ -421,6 +428,7 @@ require_relative 'rubocop/cop/lint/uri_escape_unescape'
|
|
421
428
|
require_relative 'rubocop/cop/lint/uri_regexp'
|
422
429
|
require_relative 'rubocop/cop/lint/useless_access_modifier'
|
423
430
|
require_relative 'rubocop/cop/lint/useless_assignment'
|
431
|
+
require_relative 'rubocop/cop/lint/useless_constant_scoping'
|
424
432
|
require_relative 'rubocop/cop/lint/useless_defined'
|
425
433
|
require_relative 'rubocop/cop/lint/useless_else_without_rescue'
|
426
434
|
require_relative 'rubocop/cop/lint/useless_method_definition'
|
@@ -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.72.2
|
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-02-17 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,16 @@ 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_multiple_predicates.rb
|
282
301
|
- lib/rubocop/cop/internal_affairs/node_type_predicate.rb
|
283
302
|
- lib/rubocop/cop/internal_affairs/numblock_handler.rb
|
284
303
|
- lib/rubocop/cop/internal_affairs/offense_location_keyword.rb
|
304
|
+
- lib/rubocop/cop/internal_affairs/on_send_without_on_csend.rb
|
285
305
|
- lib/rubocop/cop/internal_affairs/operator_keyword.rb
|
306
|
+
- lib/rubocop/cop/internal_affairs/plugin.rb
|
286
307
|
- lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb
|
287
308
|
- lib/rubocop/cop/internal_affairs/redundant_context_config_parameter.rb
|
288
309
|
- lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb
|
@@ -404,6 +425,7 @@ files:
|
|
404
425
|
- lib/rubocop/cop/lint/ambiguous_operator_precedence.rb
|
405
426
|
- lib/rubocop/cop/lint/ambiguous_range.rb
|
406
427
|
- lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
|
428
|
+
- lib/rubocop/cop/lint/array_literal_in_regexp.rb
|
407
429
|
- lib/rubocop/cop/lint/assignment_in_condition.rb
|
408
430
|
- lib/rubocop/cop/lint/big_decimal_new.rb
|
409
431
|
- lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb
|
@@ -411,7 +433,9 @@ files:
|
|
411
433
|
- lib/rubocop/cop/lint/circular_argument_reference.rb
|
412
434
|
- lib/rubocop/cop/lint/constant_definition_in_block.rb
|
413
435
|
- lib/rubocop/cop/lint/constant_overwritten_in_rescue.rb
|
436
|
+
- lib/rubocop/cop/lint/constant_reassignment.rb
|
414
437
|
- lib/rubocop/cop/lint/constant_resolution.rb
|
438
|
+
- lib/rubocop/cop/lint/cop_directive_syntax.rb
|
415
439
|
- lib/rubocop/cop/lint/debugger.rb
|
416
440
|
- lib/rubocop/cop/lint/deprecated_class_methods.rb
|
417
441
|
- lib/rubocop/cop/lint/deprecated_constants.rb
|
@@ -491,6 +515,7 @@ files:
|
|
491
515
|
- lib/rubocop/cop/lint/redundant_safe_navigation.rb
|
492
516
|
- lib/rubocop/cop/lint/redundant_splat_expansion.rb
|
493
517
|
- lib/rubocop/cop/lint/redundant_string_coercion.rb
|
518
|
+
- lib/rubocop/cop/lint/redundant_type_conversion.rb
|
494
519
|
- lib/rubocop/cop/lint/redundant_with_index.rb
|
495
520
|
- lib/rubocop/cop/lint/redundant_with_object.rb
|
496
521
|
- lib/rubocop/cop/lint/refinement_import_methods.rb
|
@@ -510,8 +535,10 @@ files:
|
|
510
535
|
- lib/rubocop/cop/lint/shadowed_argument.rb
|
511
536
|
- lib/rubocop/cop/lint/shadowed_exception.rb
|
512
537
|
- lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
|
538
|
+
- lib/rubocop/cop/lint/shared_mutable_default.rb
|
513
539
|
- lib/rubocop/cop/lint/struct_new_override.rb
|
514
540
|
- lib/rubocop/cop/lint/suppressed_exception.rb
|
541
|
+
- lib/rubocop/cop/lint/suppressed_exception_in_number_conversion.rb
|
515
542
|
- lib/rubocop/cop/lint/symbol_conversion.rb
|
516
543
|
- lib/rubocop/cop/lint/syntax.rb
|
517
544
|
- lib/rubocop/cop/lint/to_enum_arguments.rb
|
@@ -532,6 +559,7 @@ files:
|
|
532
559
|
- lib/rubocop/cop/lint/uri_regexp.rb
|
533
560
|
- lib/rubocop/cop/lint/useless_access_modifier.rb
|
534
561
|
- lib/rubocop/cop/lint/useless_assignment.rb
|
562
|
+
- lib/rubocop/cop/lint/useless_constant_scoping.rb
|
535
563
|
- lib/rubocop/cop/lint/useless_defined.rb
|
536
564
|
- lib/rubocop/cop/lint/useless_else_without_rescue.rb
|
537
565
|
- lib/rubocop/cop/lint/useless_method_definition.rb
|
@@ -592,6 +620,7 @@ files:
|
|
592
620
|
- lib/rubocop/cop/mixin/gemspec_help.rb
|
593
621
|
- lib/rubocop/cop/mixin/hash_alignment_styles.rb
|
594
622
|
- lib/rubocop/cop/mixin/hash_shorthand_syntax.rb
|
623
|
+
- lib/rubocop/cop/mixin/hash_subset.rb
|
595
624
|
- lib/rubocop/cop/mixin/hash_transform_method.rb
|
596
625
|
- lib/rubocop/cop/mixin/heredoc.rb
|
597
626
|
- lib/rubocop/cop/mixin/integer_node.rb
|
@@ -754,6 +783,7 @@ files:
|
|
754
783
|
- lib/rubocop/cop/style/hash_each_methods.rb
|
755
784
|
- lib/rubocop/cop/style/hash_except.rb
|
756
785
|
- lib/rubocop/cop/style/hash_like_case.rb
|
786
|
+
- lib/rubocop/cop/style/hash_slice.rb
|
757
787
|
- lib/rubocop/cop/style/hash_syntax.rb
|
758
788
|
- lib/rubocop/cop/style/hash_transform_keys.rb
|
759
789
|
- lib/rubocop/cop/style/hash_transform_values.rb
|
@@ -770,6 +800,7 @@ files:
|
|
770
800
|
- lib/rubocop/cop/style/inverse_methods.rb
|
771
801
|
- lib/rubocop/cop/style/invertible_unless_condition.rb
|
772
802
|
- lib/rubocop/cop/style/ip_addresses.rb
|
803
|
+
- lib/rubocop/cop/style/it_assignment.rb
|
773
804
|
- lib/rubocop/cop/style/keyword_arguments_merging.rb
|
774
805
|
- lib/rubocop/cop/style/keyword_parameters_order.rb
|
775
806
|
- lib/rubocop/cop/style/lambda.rb
|
@@ -854,6 +885,7 @@ files:
|
|
854
885
|
- lib/rubocop/cop/style/redundant_fetch_block.rb
|
855
886
|
- lib/rubocop/cop/style/redundant_file_extension_in_require.rb
|
856
887
|
- lib/rubocop/cop/style/redundant_filter_chain.rb
|
888
|
+
- lib/rubocop/cop/style/redundant_format.rb
|
857
889
|
- lib/rubocop/cop/style/redundant_freeze.rb
|
858
890
|
- lib/rubocop/cop/style/redundant_heredoc_delimiter_quotes.rb
|
859
891
|
- lib/rubocop/cop/style/redundant_initialize.rb
|
@@ -985,22 +1017,28 @@ files:
|
|
985
1017
|
- lib/rubocop/formatter/worst_offenders_formatter.rb
|
986
1018
|
- lib/rubocop/lockfile.rb
|
987
1019
|
- lib/rubocop/lsp.rb
|
1020
|
+
- lib/rubocop/lsp/diagnostic.rb
|
988
1021
|
- lib/rubocop/lsp/logger.rb
|
989
1022
|
- lib/rubocop/lsp/routes.rb
|
990
1023
|
- lib/rubocop/lsp/runtime.rb
|
991
1024
|
- lib/rubocop/lsp/server.rb
|
992
1025
|
- lib/rubocop/lsp/severity.rb
|
1026
|
+
- lib/rubocop/lsp/stdin_runner.rb
|
993
1027
|
- lib/rubocop/magic_comment.rb
|
994
1028
|
- lib/rubocop/name_similarity.rb
|
995
1029
|
- lib/rubocop/options.rb
|
996
1030
|
- lib/rubocop/path_util.rb
|
997
1031
|
- lib/rubocop/platform.rb
|
1032
|
+
- lib/rubocop/plugin.rb
|
1033
|
+
- lib/rubocop/plugin/configuration_integrator.rb
|
1034
|
+
- lib/rubocop/plugin/load_error.rb
|
1035
|
+
- lib/rubocop/plugin/loader.rb
|
1036
|
+
- lib/rubocop/plugin/not_supported_error.rb
|
998
1037
|
- lib/rubocop/rake_task.rb
|
999
1038
|
- lib/rubocop/remote_config.rb
|
1000
1039
|
- lib/rubocop/result_cache.rb
|
1001
1040
|
- lib/rubocop/rspec/cop_helper.rb
|
1002
1041
|
- lib/rubocop/rspec/expect_offense.rb
|
1003
|
-
- lib/rubocop/rspec/host_environment_simulation_helper.rb
|
1004
1042
|
- lib/rubocop/rspec/parallel_formatter.rb
|
1005
1043
|
- lib/rubocop/rspec/shared_contexts.rb
|
1006
1044
|
- lib/rubocop/rspec/support.rb
|
@@ -1030,17 +1068,18 @@ files:
|
|
1030
1068
|
- lib/rubocop/version.rb
|
1031
1069
|
- lib/rubocop/warning.rb
|
1032
1070
|
- lib/rubocop/yaml_duplication_checker.rb
|
1071
|
+
- lib/ruby_lsp/rubocop/addon.rb
|
1072
|
+
- lib/ruby_lsp/rubocop/runtime_adapter.rb
|
1033
1073
|
homepage: https://github.com/rubocop/rubocop
|
1034
1074
|
licenses:
|
1035
1075
|
- MIT
|
1036
1076
|
metadata:
|
1037
1077
|
homepage_uri: https://rubocop.org/
|
1038
|
-
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.
|
1078
|
+
changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.72.2
|
1039
1079
|
source_code_uri: https://github.com/rubocop/rubocop/
|
1040
|
-
documentation_uri: https://docs.rubocop.org/rubocop/1.
|
1080
|
+
documentation_uri: https://docs.rubocop.org/rubocop/1.72/
|
1041
1081
|
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
|
1042
1082
|
rubygems_mfa_required: 'true'
|
1043
|
-
post_install_message:
|
1044
1083
|
rdoc_options: []
|
1045
1084
|
require_paths:
|
1046
1085
|
- lib
|
@@ -1055,8 +1094,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1055
1094
|
- !ruby/object:Gem::Version
|
1056
1095
|
version: '0'
|
1057
1096
|
requirements: []
|
1058
|
-
rubygems_version: 3.
|
1059
|
-
signing_key:
|
1097
|
+
rubygems_version: 3.6.2
|
1060
1098
|
specification_version: 4
|
1061
1099
|
summary: Automatic Ruby code style checking tool.
|
1062
1100
|
test_files: []
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# RuboCop can be run in contexts where unexpected other libraries are included,
|
4
|
-
# which may interfere with its normal behavior. In order to test those
|
5
|
-
# situations, it may be necessary to require another library for the duration
|
6
|
-
# of one spec
|
7
|
-
module HostEnvironmentSimulatorHelper
|
8
|
-
def in_its_own_process_with(*files)
|
9
|
-
if ::Process.respond_to?(:fork)
|
10
|
-
pid = ::Process.fork do
|
11
|
-
# Need to write coverage result under different name
|
12
|
-
if defined?(SimpleCov)
|
13
|
-
SimpleCov.command_name "rspec-fork-#{Process.pid}"
|
14
|
-
SimpleCov.pid = Process.pid
|
15
|
-
end
|
16
|
-
|
17
|
-
files.each { |file| require file }
|
18
|
-
yield
|
19
|
-
end
|
20
|
-
::Process.wait(pid)
|
21
|
-
|
22
|
-
# assert that the block did not fail
|
23
|
-
expect($CHILD_STATUS).to be_success
|
24
|
-
else
|
25
|
-
warn 'Process.fork is not available.'
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|