# Documentation for the sass-lint Linters is available at:
# https://github.com/sasstools/sass-lint/tree/master/docs/rules

options:
  formatter: stylish
  merge-default-rules: true
rules:
  # Extends
  extends-before-mixins: 2
  extends-before-declarations: 2
  placeholder-in-extend: 2

  # Mixins
  mixins-before-declarations:
    - 2
    - exclude:
      - 'breakpoint'
      - 'mq'
      - 'respond-to'
      - 'rtl'
      - 'zen-breakpoint'
      - 'zen-layout'
      - 'zen-mq'
      - 'zen-respond-to'

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

  # Disallows
  no-attribute-selectors: 0
  no-color-hex: 2
  no-color-keywords: 2
  no-color-literals: 2
  no-combinators: 0
  no-css-comments: 2
  no-debug: 2
  no-disallowed-properties: 2
  no-duplicate-properties: 2
  no-empty-rulesets: 0
  no-extends: 0
  no-ids: 2
  no-important: 2
  no-invalid-hex: 2
  no-mergeable-selectors: 2
  no-misspelled-properties:
    - 2
    - extra-properties:
      - '*font-family'
      - '*height'
      - 'interpolation-mode'
      - '*margin-left'
      - '*vertical-align'
      - '*width'
  no-qualifying-elements: 0
  no-trailing-whitespace: 2
  no-trailing-zero: 2
  no-transition-all: 0
  no-universal-selectors: 0
  no-url-protocols: 2
  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
    - convention: hyphenatedbem
  function-name-format: 2
  id-name-format: 2
  mixin-name-format:
    - 2
    - convention: hyphenatedbem
  placeholder-name-format:
    - 2
    - convention: hyphenatedbem
  variable-name-format: 2

  # Style Guide
  attribute-quotes: 2
  bem-depth: 0
  border-zero: 2
  brace-style:
    - 2
    - style: stroustrup
    - allow-single-line: false
  clean-import-paths: 2
  empty-args: 0
  hex-length: 2
  hex-notation: 2
  indentation:
    - 2
    - size: 4
  leading-zero: 2
  nesting-depth:
    - 2
    - max-depth: 4
  property-sort-order: 0
  pseudo-element: 1
  quotes: 2
  shorthand-values: 2
  url-quotes: 2
  variable-for-property: 2
  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: 0
  space-around-operator: 0

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