stylelint-scss
Version:
A collection of SCSS specific rules for stylelint
204 lines (141 loc) • 3.22 kB
Markdown
# double-slash-comment-empty-line-before
Require or disallow an empty line before `//`-comments.
```scss
a {}
/* ← */
// comment /* ↑ */
/** ↑
* This line */
```
The `--fix` option on the [command line](https://github.com/stylelint/stylelint/blob/master/docs/user-guide/cli.md#autofixing-errors) can automatically fix all of the problems reported by this rule.
This rule only works with SCSS-like [single-line comments](https://sass-lang.com/documentation/syntax/comments) and ignores:
* comments that are the very first nodes in a file;
* CSS comments (`/* */`);
* comments that are on the same line as some non-comment code (inline comments).
## Options
`string`: `"always"|"never"`
### `"always"`
There *must always* be an empty line before `//`-comments.
The following patterns are considered warnings:
```scss
a {}
// comment
```
The following patterns are *not* considered warnings:
```scss
a {}
// comment
```
```scss
a {} // comment
```
### `"never"`
There *must never* be an empty line before `//`-comments.
The following patterns are considered warnings:
```scss
a {}
// comment
```
The following patterns are *not* considered warnings:
```scss
a {}
// comment
```
```scss
a {} // comment
```
## Optional options
### `except: ["first-nested", "inside-block"]`
#### `"first-nested"`
Reverse the primary option for `//`-comments that are nested and the first child of their parent node.
For example, with `"always"`:
The following patterns are considered warnings:
```scss
a {
// comment
color: pink;
}
```
The following patterns are *not* considered warnings:
```scss
a {
// comment
color: pink;
}
```
#### `"inside-block"`
Reverse the primary option for `//`-comments that are inside a block.
For example, with `"always"`:
The following patterns are considered warnings:
```scss
a {
background: pink;
// comment
color: pink;
}
```
The following patterns are *not* considered warnings:
```scss
a {
background: pink;
// comment
color: pink;
}
```
### `ignore: ["between-comments", "stylelint-commands", "inside-block"]`
#### `"between-comments"`
Don't require an empty line before `//`-comments that are placed after other `//`-comments or CSS comments.
For example, with `"always"`:
The following patterns are *not* considered warnings:
```scss
a {
background: pink;
// comment
// comment
color: #eee;
}
```
```scss
a {
background: pink;
/* comment */
// comment
color: #eee;
}
```
#### `"stylelint-commands"`
Ignore `//`-comments that deliver commands to stylelint, e.g. `// stylelint-disable color-no-hex`.
For example, with `"always"`:
The following patterns are considered warnings:
```scss
a {
background: pink;
// not a stylelint command
color: #eee;
}
```
The following patterns are *not* considered warnings:
```scss
a {
background: pink;
// stylelint-disable color-no-hex
color: pink;
}
```
#### `"inside-block"`
Ignore `//`-comments that are inside a block.
For example, the following patterns are *not* considered warnings:
```scss
a {
background: pink;
// comment
color: pink;
}
```
```scss
a {
background: pink;
// comment
color: pink;
}
```