files:
  # formatter: stylish
  include: 'src/scss/*'
  ignore:
    - 'src/scss/vendor/**/*.scss'
    - 'src/scss/base/_reset.scss'
    - 'src/scss/base/_print.scss'
    - 'src/scss/base/_fonts.scss'
    - 'src/scss/base/mixins.scss'
    - 'src/scss/dirty/_hacks.scss'

rules:
  # Extends
  extends-before-mixins: 2
  extends-before-declarations: 2
  placeholder-in-extend: 2

  # Mixins
  mixins-before-declarations:
    - 2
    -
      exclude: ['bp']

  # Line Spacing
  one-declaration-per-line: 2
  empty-line-between-blocks: 2
  single-line-per-selector: 2

  # Disallows
  no-attribute-selectors: 0
  no-color-keywords: 2
  no-color-literals: 2
  no-combinators: 0
  no-css-comments: 0
  no-debug: 2
  no-disallowed-properties: 0
  no-duplicate-properties: 2
  no-empty-rulesets: 2
  no-extends: 1
  no-ids: 2
  no-important: 0
  no-invalid-hex: 2
  no-mergeable-selectors: 2
  no-misspelled-properties: 2
  no-qualifying-elements:
    - 2
    -
      allow-element-with-attribute: true

  no-trailing-whitespace: 2
  no-trailing-zero: 2
  no-transition-all: 0
  no-universal-selectors: 2
  no-url-protocols: 1
  no-vendor-prefixes: 2
  no-warn: 2
  property-units: 0

  # Nesting
  force-attribute-nesting: 0
  force-element-nesting: 0
  force-pseudo-nesting: 0

  # Name Formats
  class-name-format: 2
  function-name-format: 2
  id-name-format: 2
  mixin-name-format: 2
  placeholder-name-format: 2
  variable-name-format: 2

  # Style Guide
  attribute-quotes: 2
  bem-depth: 0
  border-zero:
    - 2
    -
      convention: 'none'

  brace-style: 2
  clean-import-paths: 2
  empty-args: 0
  hex-length: 2
  hex-notation: 2
  indentation: 2
  leading-zero: 2
  nesting-depth: 0
  property-sort-order: 0
  pseudo-element: 2
  quotes: 2
  shorthand-values: 2
  url-quotes: 2
  variable-for-property: 0
  zero-unit: 2

  # Inner Spacing
  space-after-comma: 2
  space-before-colon: 2
  space-after-colon: 2
  space-before-brace: 2
  space-before-bang: 2
  space-after-bang: 2
  space-between-parens: 2
  space-around-operator: 2

  # Final Items
  trailing-semicolon: 2
  final-newline: 2
