# Default application configuration that all configurations inherit from.

scss_files: "scss/**/*.scss"
plugin_directories: ['.scss-linters']

# List of gem names to load custom linters from (make sure they are already
# installed)
plugin_gems: []

linters:
  BangFormat:
    enabled: true
    space_before_bang: true
    space_after_bang: false

  BemDepth:
    enabled: true
    max_elements: 1

  BorderZero:
    enabled: true
    convention: zero # or `none`

  ColorKeyword:
    enabled: false

  ColorVariable:
    enabled: false

  Comment:
    enabled: true
    allowed: '/\*[!*]'

  DebugStatement:
    enabled: true

  DeclarationOrder:
    enabled: true

  DisableLinterReason:
    enabled: false

  DuplicateProperty:
    enabled: true

  ElsePlacement:
    enabled: true
    style: same_line # or 'new_line'

  EmptyLineBetweenBlocks:
    enabled: true
    ignore_single_line_blocks: true

  EmptyRule:
    enabled: true

  ExtendDirective:
    enabled: false

  FinalNewline:
    enabled: true
    present: true

  HexLength:
    enabled: false
    style: long # or 'short'

  HexNotation:
    enabled: true
    style: lowercase # or 'uppercase'

  HexValidation:
    enabled: true

  IdSelector:
    enabled: true

  ImportantRule:
    enabled: true

  ImportPath:
    enabled: true
    leading_underscore: false
    filename_extension: false

  Indentation:
    enabled: true
    allow_non_nested_indentation: false
    character: space # or 'tab'
    width: 4

  LeadingZero:
    enabled: true
    style: include_zero # or 'exclude_zero'

  MergeableSelector:
    enabled: true
    force_nesting: true

  NameFormat:
    # Disabling this for now. Too many differing naming concepts for functions, mixins, and variables
    enabled: false
    allow_leading_underscore: true
    convention: hyphenated_lowercase # or 'camel_case', or 'snake_case', or a regex pattern

  NestingDepth:
    enabled: true
    max_depth: 3
    ignore_parent_selectors: false

  PlaceholderInExtend:
    enabled: false

  PropertyCount:
    enabled: true
    include_nested: false
    max_properties: 10

  PropertySortOrder:
    enabled: true
    order:
      - content
      - display
      - vertical-align
      - visibility
      - overflow
      - position
      - top
      - right
      - bottom
      - left
      - z-index
      - white-space
      - border-collapse
      - border-spacing
      - table-layout
      - flex
      - flex-basis
      - flex-direction
      - flex-flow
      - flex-grow
      - flex-shrink
      - flex-wrap
      - align-content
      - align-items
      - align-self
      - justify-content
      - order
      - width
      - min-width
      - max-width
      - height
      - min-height
      - max-height
      - margin
      - margin-top
      - margin-right
      - margin-bottom
      - margin-left
      - padding
      - padding-top
      - padding-right
      - padding-bottom
      - padding-left
      - float
      - clear
      - columns
      - column-gap
      - column-fill
      - column-rule
      - column-span
      - column-count
      - column-width
      -
      - font
      - font-family
      - font-size
      - font-smoothing
      - font-style
      - font-variant
      - font-weight
      - letter-spacing
      - line-height
      - list-style
      - text-align
      - text-decoration
      - text-indent
      - text-overflow
      - text-rendering
      - text-shadow
      - text-transform
      - text-wrap
      - word-spacing
      -
      - color
      - border
      - border-top
      - border-right
      - border-bottom
      - border-left
      - border-width
      - border-top-width
      - border-right-width
      - border-bottom-width
      - border-left-width
      - border-style
      - border-top-style
      - border-right-style
      - border-bottom-style
      - border-left-style
      - border-radius
      - border-top-left-radius
      - border-top-right-radius
      - border-bottom-left-radius
      - border-bottom-right-radius
      - border-color
      - border-top-color
      - border-right-color
      - border-bottom-color
      - border-left-color
      - box-shadow
      - outline
      - outline-color
      - outline-offset
      - outline-style
      - outline-width
      - background
      - background-color
      - background-image
      - background-repeat
      - background-position
      - background-size
      - transform
      - transition
      - animation
      - opacity
      -
      - caption-side
      -
      - cursor
      - empty-cells
      - pointer-events
      - appearance
      -
      - quotes
      - speak
    ignore_unspecified: true
    min_properties: 2
    separate_groups: true

  PropertySpelling:
    enabled: true
    extra_properties: []

  PropertyUnits:
    enabled: true
    global: [
      'ch', 'em', 'ex', 'rem',                 # Font-relative lengths
      'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
      'vh', 'vw', 'vmin', 'vmax',              # Viewport-percentage lengths
      'deg', 'grad', 'rad', 'turn',            # Angle
      'ms', 's',                               # Duration
      'Hz', 'kHz',                             # Frequency
      'dpi', 'dpcm', 'dppx',                   # Resolution
      '%']                                     # Other
    properties: {}

  QualifyingElement:
    enabled: true
    allow_element_with_attribute: false
    allow_element_with_class: false
    allow_element_with_id: false

  SelectorDepth:
    enabled: true
    max_depth: 2

  SelectorFormat:
    enabled: true
    convention: hyphenated_BEM # or 'strict_BEM', or 'hyphenated_BEM', or 'snake_case', or 'camel_case', or a regex pattern

  Shorthand:
    enabled: true
    allowed_shorthands: [1, 2, 3]

  SingleLinePerProperty:
    enabled: true
    allow_single_line_rule_sets: false

  SingleLinePerSelector:
    enabled: false

  SpaceAfterComma:
    enabled: true
    style: one_space # or 'no_space', or 'at_least_one_space'

  SpaceAfterPropertyColon:
    enabled: true
    style: one_space # or 'no_space', or 'at_least_one_space', or 'aligned'

  SpaceAfterPropertyName:
    enabled: true

  SpaceAfterVariableName:
    enabled: true

  SpaceAroundOperator:
    enabled: true
    style: one_space # or 'no_space'

  SpaceBeforeBrace:
    enabled: false
    style: space # or 'new_line'
    allow_single_line_padding: true

  SpaceBetweenParens:
    enabled: true
    spaces: 0

  StringQuotes:
    enabled: true
    style: double_quotes # or single_quotes

  TrailingSemicolon:
    enabled: true

  TrailingWhitespace:
    enabled: true

  TrailingZero:
    enabled: false

  TransitionAll:
    enabled: true

  UnnecessaryMantissa:
    enabled: true

  UnnecessaryParentReference:
    enabled: true

  UrlFormat:
    enabled: true

  UrlQuotes:
    enabled: true

  VariableForProperty:
    enabled: false
    properties: []

  VendorPrefix:
    enabled: true
    identifier_list: bourbon
    additional_identifiers: []
    excluded_identifiers: []

  ZeroUnit:
    enabled: true

  Compass::*:
    enabled: false
