#   Sample Configs
#     - https://github.com/sasstools/sass-lint/blob/develop/docs/sass-lint.yml
#     - https://github.com/sasstools/gulp-sass-lint/blob/master/tests/.sass-lint.yml

#   Sass Lint Rules
#     - https://github.com/sasstools/sass-lint/tree/develop/docs/rules

#   Severity
#     - 0: turns rule off
#     - 1: set as a warning
#     - 2: set to error

# File Options
files:
  ignore:
    - 'sass/vendor/**/*.scss'
    - 'sass/tests/**/*.scss'
    - 'bourbon/app/**/*.scss'
    - 'bourbon-neat/app/**/*.scss'

# Rule Configuration
rules:
 # Extends
  placeholder-in-extend: 0

  # Mixins
  mixins-before-declarations:
    - 1
    -
      exclude: ['media'] # except @include media();

  # Line Spacing
  empty-line-between-blocks:
    - 1
    -
      allow-single-line-rulesets: false

  # Disallows
  no-color-literals:
    - 1
    -
      allow-rgba: true
  no-debug: 0
  no-ids: 0
  no-mergeable-selectors: 0
  no-qualifying-elements:
    - 1
    -
      allow-element-with-attribute: true
      allow-element-with-class: false
      allow-element-with-id: false
  no-vendor-prefixes: 0
  no-warn: 0

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

  # Name Formats
  function-name-format:
    - 1
    -
      convention-explanation: Please use hyphenated lowercase for function names. Also, you may use a leading underscore if you prefer.
  mixin-name-format:
    - 1
    -
      convention-explanation: Please use hyphenated lowercase for mixin names. Also, you may use a leading underscore if you prefer.
  placeholder-name-format:
    - 1
    -
      convention-explanation: Please use hyphenated lowercase for placeholder names. Also, you may use a leading underscore if you prefer.
  variable-name-format:
    - 1
    -
      allow-leading-underscore: false
      convention-explanation: Please use hyphenated lowercase for variable names. No leading underscore is allowed.

  # Style Guide
  attribute-quotes: 1
  border-zero: 0
  brace-style:
    - 1
    -
      style: 1tbs
      allow-single-line: false
  class-name-format:
    - 1
    -
      allow-leading-underscore: false
      convention-explanation: Please use hypenated lowercase for class names, and without a leading underscore. If you find a WordPress core condition that conflicts with this convention feel free to modify and extend the ignore option.
      ignore: ['current_page_item', 'widget_search'] # ignore selectors declared by WordPress

  empty-args: 0
  hex-length: 1
  hex-notation: 1
  id-name-format:
    - 1
    -
      convention-explanation: Please try to use hyphenated lowercase ID name format. If overriding a plugin that does not use this format then please ignore or extend the list of ignore option.
  indentation:
    - 1
    -
      size: tab
  leading-zero:
    - 1
    -
      include: true

  nesting-depth:
    - 1
    -
      max-depth: 3

  property-units:
    - 1
    -
      per-property: { width: ['rem', 'vw'], height: ['rem', 'vh'], margin: ['rem'], padding: ['rem'] }

  quotes:
    - 1
    -
      style: double

  shorthand-values:
    - 1
    -
      allowed-shorthands:
        - 1
        - 2

  # Inner Spacing
  space-between-parens: 0

  # Final Items
  final-newline: 0

  no-misspelled-properties:
    - 1
    -
      'extra-properties':
        - '-webkit-overflow-scrolling'
