Skip to content

@stylistic/

switch-colon-spacing

Spacing around colons improves readability of case/default clauses.

Rule Details

This rule controls spacing around colons of case and default clauses in switch statements. This rule does the check only if the consecutive tokens exist on the same line.

This rule has 2 options that are boolean value.

json
{
    "switch-colon-spacing": ["error", {"after": true, "before": false}]
}
  • "after": true (Default) requires one or more spaces after colons.
  • "after": false disallows spaces after colons.
  • "before": true requires one or more spaces before colons.
  • "before": false (Default) disallows before colons.

Examples of incorrect code for this rule:

js
/*eslint @stylistic/switch-colon-spacing: "error"*/

switch (a) {
    case 0 
:
break;
default
:
foo();
}
incorrect

Examples of correct code for this rule:

js
/*eslint @stylistic/switch-colon-spacing: "error"*/

switch (a) {
    case 0: foo(); break;
    case 1:
        bar();
        break;
    default:
        baz();
        break;
}
correct

Examples of incorrect code for this rule with {"after": false, "before": true} option:

js
/*eslint @stylistic/switch-colon-spacing: ["error", {"after": false, "before": true}]*/

switch (a) {
    case 0
:
break;
default
:
foo();
}
incorrect

Examples of correct code for this rule with {"after": false, "before": true} option:

js
/*eslint @stylistic/switch-colon-spacing: ["error", {"after": false, "before": true}]*/

switch (a) {
    case 0 :foo(); break;
    case 1 :
        bar();
        break;
    default :
        baz();
        break;
}
correct

When Not To Use It

If you don't want to notify spacing around colons of switch statements, then it's safe to disable this rule.

Released under the MIT License.