.rubocop.yml
# This file is synced from `Homebrew/brew` by the `.github` repository, do not modify it directly.
---
AllCops:
TargetRubyVersion: 3.3
NewCops: enable
Include:
- "**/*.rbi"
Exclude:
- Homebrew/sorbet/rbi/{dsl,gems}/**/*.rbi
- Homebrew/bin/*
- Homebrew/vendor/**/*
- Taps/*/*/vendor/**/*
- "**/vendor/**/*"
SuggestExtensions:
rubocop-minitest: false
Layout/ArgumentAlignment:
Exclude:
- Taps/*/*/*.rb
- "/**/Formula/**/*.rb"
- "**/Formula/**/*.rb"
Layout/CaseIndentation:
EnforcedStyle: end
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/EndAlignment:
EnforcedStyleAlignWith: start_of_line
Layout/HashAlignment:
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
Layout/LeadingCommentSpace:
Exclude:
- Taps/*/*/cmd/*.rb
Layout/LineLength:
Max: 118
AllowedPatterns:
- "#: "
- ' url "'
- ' mirror "'
- " plist_options "
- ' executable: "'
- ' font "'
- ' homepage "'
- ' name "'
- ' pkg "'
- ' pkgutil: "'
- " sha256 cellar: "
- " sha256 "
- "#{language}"
- "#{version."
- ' "/Library/Application Support/'
- "\"/Library/Caches/"
- "\"/Library/PreferencePanes/"
- ' "~/Library/Application Support/'
- "\"~/Library/Caches/"
- "\"~/Library/Containers"
- "\"~/Application Support"
- " was verified as official when first introduced to the cask"
Layout/SpaceAroundOperators:
Enabled: false
Layout/SpaceBeforeBrackets:
Exclude:
- "**/*_spec.rb"
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
Lint/AmbiguousBlockAssociation:
Enabled: false
Lint/DuplicateBranch:
Exclude:
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
Lint/ParenthesesAsGroupedExpression:
Exclude:
- Taps/*/*/*.rb
- "/**/Formula/**/*.rb"
- "**/Formula/**/*.rb"
Lint/UnusedMethodArgument:
AllowUnusedKeywordArguments: true
Metrics:
Enabled: false
Naming/BlockForwarding:
Enabled: false
Naming/FileName:
Regex: !ruby/regexp /^[\w\@\-\+\.]+(\.rb)?$/
Naming/HeredocDelimiterNaming:
ForbiddenDelimiters:
- END, EOD, EOF
Naming/InclusiveLanguage:
CheckStrings: true
FlaggedTerms:
slave:
AllowedRegex:
- gitslave
- log_slave
- ssdb_slave
- var_slave
- patches/13_fix_scope_for_show_slave_status_data.patch
Naming/MethodName:
AllowedPatterns:
- "\\A(fetch_)?HEAD\\?\\Z"
Naming/MethodParameterName:
inherit_mode:
merge:
- AllowedNames
Naming/VariableNumber:
Enabled: false
Style/AndOr:
EnforcedStyle: always
Style/ArgumentsForwarding:
Enabled: false
Style/AutoResourceCleanup:
Enabled: true
Style/BarePercentLiterals:
EnforcedStyle: percent_q
Style/BlockDelimiters:
BracesRequiredMethods:
- sig
Style/ClassAndModuleChildren:
Exclude:
- "**/*.rbi"
Style/CollectionMethods:
Enabled: true
Style/DisableCopsWithinSourceCodeDirective:
Enabled: true
Include:
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
Style/Documentation:
Exclude:
- Taps/**/*
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
- "**/*.rbi"
Style/EmptyMethod:
Exclude:
- "**/*.rbi"
Style/FetchEnvVar:
Exclude:
- Taps/*/*/*.rb
- "/**/Formula/**/*.rb"
- "**/Formula/**/*.rb"
Style/FrozenStringLiteralComment:
EnforcedStyle: always
Exclude:
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
- Homebrew/test/**/Casks/**/*.rb
- "**/*.rbi"
- "**/Brewfile"
Style/GuardClause:
Exclude:
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
Style/HashAsLastArrayItem:
Exclude:
- Taps/*/*/*.rb
- "/**/Formula/**/*.rb"
- "**/Formula/**/*.rb"
Style/InverseMethods:
InverseMethods:
:blank?: :present?
Style/InvertibleUnlessCondition:
Enabled: true
InverseMethods:
:==: :!=
:zero?:
:blank?: :present?
Style/MutableConstant:
EnforcedStyle: strict
Style/NumericLiteralPrefix:
EnforcedOctalStyle: zero_only
Style/NumericLiterals:
MinDigits: 7
Strict: true
Exclude:
- "**/Brewfile"
Style/OpenStructUse:
Exclude:
- Taps/**/*
- Homebrew/cli/args.rb
- Homebrew/cli/args.rbi
Style/OptionalBooleanParameter:
AllowedMethods:
- respond_to?
- respond_to_missing?
Style/RescueStandardError:
EnforcedStyle: implicit
Style/ReturnNil:
Enabled: true
Style/StderrPuts:
Enabled: false
Style/StringConcatenation:
Exclude:
- Taps/*/*/*.rb
- "/**/{Formula,Casks}/**/*.rb"
- "**/{Formula,Casks}/**/*.rb"
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
Style/StringMethods:
Enabled: true
Style/SuperWithArgsParentheses:
Enabled: false
Style/SymbolArray:
EnforcedStyle: brackets
Style/TernaryParentheses:
EnforcedStyle: require_parentheses_when_complex
Style/TopLevelMethodDefinition:
Enabled: true
Exclude:
- Taps/**/*
Style/TrailingCommaInArguments:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: comma
Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: comma
Style/UnlessLogicalOperators:
Enabled: true
EnforcedStyle: forbid_logical_operators
Style/WordArray:
MinSize: 4