| # BSD 2-Clause License |
| |
| # Copyright (c) 2009-present, Homebrew contributors |
| # All rights reserved. |
| |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| |
| # * Redistributions of source code must retain the above copyright notice, this |
| # list of conditions and the following disclaimer. |
| |
| # * Redistributions in binary form must reproduce the above copyright notice, |
| # this list of conditions and the following disclaimer in the documentation |
| # and/or other materials provided with the distribution. |
| |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
| # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| # Taken from Homebrew @ Dec 3, 2018. Modified to pass yamllint |
| # |
| --- |
| # make our hashes consistent |
| Layout/AlignHash: |
| EnforcedHashRocketStyle: table |
| EnforcedColonStyle: table |
| |
| # `system` is a special case and aligns on second argument |
| Layout/AlignParameters: |
| Enabled: false |
| |
| # favour parens-less DSL-style arguments |
| Lint/AmbiguousOperator: |
| Enabled: false |
| |
| # this is a bit less "floaty" |
| Layout/CaseIndentation: |
| EnforcedStyle: end |
| |
| # this is a bit less "floaty" |
| Layout/EndAlignment: |
| EnforcedStyleAlignWith: start_of_line |
| |
| # conflicts with DSL-style path concatenation with `/` |
| Layout/SpaceAroundOperators: |
| Enabled: false |
| |
| # Auto-correct is broken (https://github.com/rubocop-hq/rubocop/issues/6300). |
| Layout/EmptyLineAfterGuardClause: |
| Enabled: false |
| |
| # Auto-correct is broken (https://github.com/rubocop-hq/rubocop/issues/6258) |
| # and layout is not configurable |
| # (https://github.com/rubocop-hq/rubocop/issues/6254). |
| Layout/RescueEnsureAlignment: |
| Enabled: false |
| |
| # favour parens-less DSL-style arguments |
| Lint/AmbiguousBlockAssociation: |
| Enabled: false |
| |
| # so many of these in formulae and can't be autocorrected |
| # TODO: fix these as `ruby -w` complains about them. |
| Lint/AmbiguousRegexpLiteral: |
| Enabled: false |
| |
| # assignment in conditions are useful sometimes |
| # TODO: add parentheses for these and remove |
| Lint/AssignmentInCondition: |
| Enabled: false |
| |
| # we output how to use interpolated strings too often |
| Lint/InterpolationCheck: |
| Enabled: false |
| |
| # so many of these in formulae and can't be autocorrected |
| 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 (so that's the goal) |
| Metrics/LineLength: |
| Max: 170 |
| # ignore manpage comments and long single-line strings |
| IgnoredPatterns: ['#: ', ' url "', ' mirror "', ' plist_options :'] |
| |
| # our current conditional style is established |
| # TODO: enable this when possible |
| Style/ConditionalAssignment: |
| Enabled: false |
| |
| # most of our APIs are internal so don't require docs |
| Style/Documentation: |
| Enabled: false |
| |
| # we want to add this slowly and manually |
| # TODO: add to more files |
| Style/FrozenStringLiteralComment: |
| Enabled: false |
| |
| # so many of these in formulae and can't be autocorrected |
| Style/GuardClause: |
| Enabled: false |
| |
| # depends_on a: :b looks weird in formulae. |
| Style/HashSyntax: |
| EnforcedStyle: hash_rockets |
| Exclude: |
| - '**/cmd/*.rb' |
| |
| # ruby style guide favorite |
| Style/StringLiterals: |
| EnforcedStyle: double_quotes |
| |
| # consistency with above |
| Style/StringLiteralsInInterpolation: |
| EnforcedStyle: double_quotes |
| |
| # make things a bit easier to read |
| Style/TernaryParentheses: |
| EnforcedStyle: require_parentheses_when_complex |
| |
| # messes with existing plist/caveats style |
| Style/TrailingBodyOnMethodDefinition: |
| Enabled: false |
| |
| # a bit confusing to non-Rubyists but useful for longer arrays |
| Style/WordArray: |
| MinSize: 4 |