brew/Library/.rubocop.yml

121 lines
2.8 KiB
YAML
Raw Normal View History

2018-11-12 04:46:47 +01:00
inherit_from: ./.rubocop_shared.yml
# enable all formulae audits
FormulaAudit:
Enabled: true
# enable all formulae strict audits
FormulaAuditStrict:
Enabled: true
2020-04-17 10:21:10 +01:00
# enable all pending rubocops
AllCops:
NewCops: enable
# don't allow cops to be disabled in formulae
Style/DisableCopsWithinSourceCodeDirective:
Enabled: true
2018-11-02 17:17:35 +00:00
# make our hashes consistent
2019-11-28 15:10:50 +00:00
Layout/HashAlignment:
2018-11-02 17:17:35 +00:00
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
# `system` is a special case and aligns on second argument
2019-11-28 15:10:50 +00:00
Layout/ArgumentAlignment:
2016-09-18 14:27:09 +01:00
Enabled: false
2016-09-25 02:41:14 +02:00
# this is a bit less "floaty"
Layout/CaseIndentation:
EnforcedStyle: end
2016-09-18 14:27:09 +01:00
# this is a bit less "floaty"
2018-03-05 11:46:38 +00:00
Layout/EndAlignment:
EnforcedStyleAlignWith: start_of_line
2016-09-25 02:41:14 +02:00
# conflicts with DSL-style path concatenation with `/`
Layout/SpaceAroundOperators:
2016-09-18 14:27:09 +01:00
Enabled: false
2020-03-13 21:14:24 +00:00
# layout is not configurable (https://github.com/rubocop-hq/rubocop/issues/6254).
Layout/RescueEnsureAlignment:
Enabled: false
# favour parens-less DSL-style arguments
Lint/AmbiguousBlockAssociation:
2016-09-18 14:27:09 +01:00
Enabled: false
2016-09-25 02:41:14 +02:00
# so many of these in formulae and can't be autocorrected
# TODO: fix these as `ruby -w` complains about them.
2016-09-18 14:27:09 +01:00
Lint/AmbiguousRegexpLiteral:
Enabled: false
2016-09-25 02:41:14 +02:00
# so many of these in formulae and can't be autocorrected
2016-09-18 14:27:09 +01:00
Lint/ParenthesesAsGroupedExpression:
Enabled: false
# most metrics don't make sense to apply for formulae/taps
Metrics/AbcSize:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
# GitHub diff UI wraps beyond 118 characters
2019-12-19 12:01:51 +00:00
Layout/LineLength:
Max: 118
# ignore manpage comments and long single-line strings
IgnoredPatterns: ['#: ', ' url "', ' mirror "', ' plist_options :']
2016-09-25 02:41:14 +02:00
# most of our APIs are internal so don't require docs
2016-09-25 02:41:14 +02:00
Style/Documentation:
Enabled: false
# don't want this for formulae but re-enabled for Library/Homebrew
Style/FrozenStringLiteralComment:
Enabled: false
2020-03-13 21:14:24 +00:00
# potential for errors in formulae too high with this
Style/GuardClause:
Enabled: false
# depends_on a: :b looks weird in formulae.
Style/HashSyntax:
EnforcedStyle: hash_rockets
Exclude:
- '**/Guardfile'
- '**/cmd/**/*.rb'
- '**/lib/**/*.rb'
- '**/spec/**/*.rb'
2016-09-25 02:41:14 +02:00
2020-03-13 21:14:24 +00:00
# autocorrectable and more readable
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
2016-09-25 02:41:14 +02:00
# ruby style guide favorite
Style/StringLiterals:
EnforcedStyle: double_quotes
2016-09-18 14:27:09 +01:00
2016-09-25 02:41:14 +02:00
# consistency with above
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
# make things a bit easier to read
Style/TernaryParentheses:
EnforcedStyle: require_parentheses_when_complex
# a bit confusing to non-Rubyists but useful for longer arrays
2016-09-25 02:41:14 +02:00
Style/WordArray:
MinSize: 4