Force UTF-8 encoding

Change-Id: I22d7118e50fbf261e7490acb7021972a20f22b69
Reviewed-on: http://gerrit.causes.com/43807
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update changelog

Change-Id: I9580d5ccf59d995db256280a92d3caee6208ec1a
Reviewed-on: http://gerrit.causes.com/43808
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Tested-by: jenkins <jenkins@causes.com>
Add mixins and nested rule checking to DeclarationOrder

Change-Id: I3f13160add6513c0f7cd785032d54a4689cb680a
Reviewed-on: http://gerrit.causes.com/43809
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Fix DeclarationOrder linter nits

There were a few things funny about this implementation (mainly the
unnecessary explicit checking of a node within the `check_for_children`
method, which should have simply returned the name of the node type
since it is used in a `map`.

Change-Id: I86342e05890a57c3c96abbc08617a10b082fb445
Reviewed-on: http://gerrit.causes.com/43810
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Simplify some DeclarationOrder specs

These specs seemed more complicated than necessary given what they were
testing. Simplify them.

Change-Id: Iaa05ba339be9ee508bf0d39f121d75a77c017f9a
Reviewed-on: http://gerrit.causes.com/43811
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update changelog with DeclarationOrder changes

Change-Id: Ie1d3496354fa71c3e656c2b3e10c216fa0e86eed
Reviewed-on: http://gerrit.causes.com/43812
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Add ImportPartial linter

Change-Id: Ie4c35945f1ec971a2446bdc3da81f4a740c765e8
Reviewed-on: http://gerrit.causes.com/43813
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Rename ImportPartial -> ImportPath

The naming here was a bit misleading, as the linter not only checked for
the present of underscores indicating a partial, but also for an
unnecessary file extension. Thus, it makes more sense to give it the
name `ImportPath`, since it is ultimately checking that the path of the
import conforms to some specification.

Change-Id: I14ad99cd9d67c41e7bafff66942a2e76c387ba32
Reviewed-on: http://gerrit.causes.com/43814
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update changelog with ImportPath

Change-Id: Ic08294933fe1db37211025fa70cb8ff86b9666a0
Reviewed-on: http://gerrit.causes.com/43815
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Add QualifyingElement linter

Change-Id: I9f110293263f3f3889f706f1c1676829a6300ce3
Reviewed-on: http://gerrit.causes.com/43816
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Fix QualifyingElement nits

Change-Id: I89da36e21f94e8fc149fd3e7906d3a8474b64bf8
Reviewed-on: http://gerrit.causes.com/43817
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update changelog with QualifyingElement linter

Change-Id: I78b4688c1be24dc63749e18f6e894988d88b6170
Reviewed-on: http://gerrit.causes.com/43818
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Add invalid_{child,parent}_method_name to nodes

Otherwise, instead of an error that can be useful, we just get:
`undefined method invalid_parent_method_name`

Change-Id: Ic6258018c47b3758869985083befc84345e2cc88
Reviewed-on: http://gerrit.causes.com/44134
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Fix BEM convention for SelectorFormat

Rename the `BEM` convention for the `SelectorFormat` `convention` option
to `hyphenated_BEM`, and introduce `BEM` format as specified in
https://bem.info/method/definitions/

Change-Id: Id7764250bfc4c10d1d46374bd6d4e217f170c8f5
Reviewed-on: http://gerrit.causes.com/44135
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Fix PropertySpelling treatment of nested properties

This linter would incorrectly report the following as a lint:

    p {
      text: {
        transform: uppercase;
      }
    }

Fix it to handle nested properties.

Change-Id: Ie3b4921713361d1af7b0b312309a8ebc0288762d
Reviewed-on: http://gerrit.causes.com/44136
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Add --out flag to redirect output to file

Change-Id: I61012c538b569766a4306a76b0a6fbb526cc4c29
Reviewed-on: http://gerrit.causes.com/44157
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>
Update changelog with --out flag

Change-Id: I397cbdfd58ecf320c2a14567eab0dfc192ec6dcf
Reviewed-on: http://gerrit.causes.com/44158
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>