Skip to content

indent-binary-ops ​

Rule Details ​

Indentation for binary operators in multiline expressions. This is a supplement to the indent rule. They are supposed to be used together with the same indentation size.

Options ​

Same as the indent rule, it takes an option for the indentation size.

For example, for 2-space indentation:

json
{
  "@stylistic/indent": ["error", 2],
  "@stylistic/indent-binary-ops": ["error", 2]
}

Or for tabbed indentation:

json
{
  "@stylistic/indent": ["error", "tab"],
  "@stylistic/indent-binary-ops": ["error", "tab"]
}

This rule works by:

  • Only check for binary operations that are multiline.
  • Align the indentation of the second line with the same indentation of the first line (handled by the indent rule)
  • In some conditions (e.g. last line ends with an open bracket), the indentation of the second line will be one level increased to the first line's indentation.

Examples ​

Examples of incorrect code for this rule:

ts
/* eslint @stylistic/indent-binary-ops: ["error", 2] */

if (a
&& b
&& c
&& (d
|| e
|| f
) ) { foo() }
incorrect

Examples of correct code for this rule:

ts
/* eslint @stylistic/indent-binary-ops: ["error", 2] */

if (a
  && b
  && c
  && (d
    || e
    || f
  )
) {
  foo()
}
correct

Changelog ​

v6.0.0-beta.5 on

Released under the MIT License.