diff options
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js')
-rw-r--r-- | dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js new file mode 100644 index 0000000000..82238f8615 --- /dev/null +++ b/dom/webgpu/tests/cts/checkout/tools/eslint-plugin-gpuweb-cts/tabs-anywhere.js @@ -0,0 +1,29 @@ +module.exports = { + meta: { + type: 'suggestion', + docs: { + description: 'Indentation tabs are not allowed, even in multiline strings, due to WPT lint rules. This rule simply disallows tabs anywhere.', + }, + schema: [], + }, + create: context => { + const sourceCode = context.getSourceCode(); + + return { + Program: node => { + for (let lineIdx = 0; lineIdx < sourceCode.lines.length; ++lineIdx) { + const line = sourceCode.lines[lineIdx]; + const matches = line.matchAll(/\t/g); + for (const match of matches) { + context.report({ + node, + loc: { line: lineIdx + 1, column: match.index }, + message: 'Tabs not allowed.', + // fixer is hard to implement, so not implemented. + }); + } + } + }, + }; + }, +}; |