Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

AtomLinter/linter-sass-lint

Repository files navigation

linter-sass-lint

Build Status Circle CI Build status

apm apm apm

This linter plugin for Linter provides an interface to sass-lint. It will be used with files that have the “Sass” or “SCSS” syntax.

sass-lint is a node only sass linter and isn't related to scss-lint.

Installation

You'll need to have Linter installed to use this plugin

The current latest version of sass-lint comes bundled with this plugin but if you'd like to install it manually you can follow the instructions here.

Plugin installation

apm install linter-sass-lint

.sass-lint.yml

A .sass-lint.yml config file is required for this linter. You can find an example of one here and documentation on how to configure this and each of the rules here.

By default this plugin will search up the directory tree for this file, you can also specify a path to this config file in the plugin settings or in ~/.atom/config.cson file. Usually you would place this config file in your projects root and keep it under version control too.

You can use the noConfigDisable option to prevent any attempts at linting (and the missing config error messages you will encounter) if a valid config is not found.

By default a config file found in the root of your currently open project will take preference over a config file specified with the configFile option.

Settings

There are three options you can configure either within the plugin or by editing your ~/.atom/config.cson file.

  • noConfigDisable - Enable to prevent any linting if a valid config file (.sass-lint.yml) is not found in the project root.

  • configFile - this is path to a .sass-lint.yml config file, this should only be used if you'd like to specify a global config file rather than rely on a project config file in the root of your project.

  • globalNodePath This is where you can set your global node installation path. Run npm get prefix and paste the result here. This will be where linter-sass-lint will then search for the globally installed version of sass-lint if you choose to enable this with globalSassLint.

  • globalSassLint This allows you to specify that you want to use your globally installed version of sass-lint (npm install -g sass-lint) instead of the version bundled with linter-sass-lint.

  • resolvePathsRelativeToConfig This option allows you to choose to resolve file paths relative to your config file rather than relative to the root of your currently open project.

Extra File Extensions

This plugin will attempt to lint a file with framework specific file extensions on top of the usual .scss and .sass extensions such as with shopify's .scss.liquid extension as long as you still include .scss or .sass somewhere in the file, you must also ensure that the Atom grammar scope for that file is set to either SCSS or Sass depending on which it corresponds to.

This does not mean that sass-lint will be able to definitely parse any sort of non standard SCSS or Sass code and if you use any platform specific code in the file it will almost definitely produce a parse error. Sass-lint will not be moving to support any use of non standard language outside of the Sass spec.

Contributing

Contributions, suggestions and fixes are more than welcome.

Please read the Contribution Guidlines

A general sense of the guidelines can be found below.

  1. Indentation is 2 spaces.
  2. All code should pass the coffeelinter linter, the config of which is included in this repository (npm-test).
  3. the .editorconfig file should be used to ensure a consistent style info here

General contribution guidelines apply

  1. Fork the plugin repository
  2. Create a feature/hotfix branch off of master
  3. Lint your code npm-test
  4. Commit and push the branch
  5. Make a pull request

If you're unsure on whether your contribution will be required then please file an issue first and we can discuss it.

If you find any problems with the sass-lint itself with regards to bugs in rules then please visit the sass-lint Github Page please note that sass-lint is young and still under heavy development.