# Docs: https://github.com/sasstools/sass-lint/
# legend:
# 0 turns rule off; 1 sets it to a warning (should not be committed in); 2 sets it to an error (should not be written)

options:
  formatter: stylish
files:
  include: '**/*.s+(a|c)ss'
  # ignore:

rules:
  # Extends
  extends-before-mixins: 1
  extends-before-declarations: 0
  placeholder-in-extend: 1

  # Mixins
  mixins-before-declarations: 0

  # Line Spacing
  one-declaration-per-line: 2
  empty-line-between-blocks: 2
  single-line-per-selector: 2

  # Disallows
  no-attribute-selectors: 0
  no-color-hex: 0
  no-color-keywords: 0
  no-color-literals: 0
  no-combinators: 0
  no-css-comments: 0
  no-debug: 2
  no-disallowed-properties: 0
  no-duplicate-properties: 2
  no-empty-rulesets: 2
  no-extends: 0
  no-ids: 2
  no-important: 0
  no-invalid-hex: 2
  no-mergeable-selectors: 1
  no-misspelled-properties: 0
  no-qualifying-elements: 1
  no-trailing-whitespace: 2
  no-trailing-zero: 2
  no-transition-all: 0
  no-universal-selectors: 0
  no-url-domains: 1
  no-url-protocols: 1
  no-vendor-prefixes: 0
  no-warn: 2
  property-units: 0

  # Nesting
  declarations-before-nesting: 1
  force-attribute-nesting: 0
  force-element-nesting: 0
  force-pseudo-nesting: 0

  # Name Formats
  class-name-format:
    - 2
    -
      convention: hyphenatedbem
  function-name-format:
    - 2
    -
      allow-leading-underscore: false
      convention: hyphenatedbem
  id-name-format: 0
  mixin-name-format:
    - 2
    -
      allow-leading-underscore: false
      convention: hyphenatedbem
  placeholder-name-format:
    - 2
    -
      allow-leading-underscore: false
      convention: hyphenatedbem
  variable-name-format:
    - 2
    -
      allow-leading-underscore: false
      convention: hyphenatedbem

  # Style Guide
  attribute-quotes: 0
  bem-depth: 2
  border-zero: 1
  brace-style:
    - 2
    -
      allow-single-line: false
      style: '1tbs'
  clean-import-paths:
    - 2
    -
      filename-extension: false
      leading-underscore: true
  empty-args: 1
  hex-length:
    - 2
    -
      style: short
  hex-notation:
    - 2
    -
      style: lowercase
  indentation:
    - 2
    -
      size: 2
  leading-zero: 2
  max-line-length: 0
  max-file-line-count: 0
  nesting-depth:
    - 2
    -
      max-depth: 2
  property-sort-order: 0
  pseudo-element: 0
  quotes:
    - 2
    -
      style: single
  shorthand-values: 2
  url-quotes: 0
  variable-for-property: 1
  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
