1
0
mirror of https://github.com/sasjs/lint.git synced 2026-01-16 16:50:05 +00:00

fix: check tab indentation in whole line

This commit is contained in:
2022-12-09 16:36:09 +05:00
parent 8be59ac591
commit 3701253302
8 changed files with 163 additions and 116 deletions

38
src/rules/line/noTabs.ts Normal file
View File

@@ -0,0 +1,38 @@
import { LintConfig } from '../../types'
import { LineLintRule } from '../../types/LintRule'
import { LintRuleType } from '../../types/LintRuleType'
import { Severity } from '../../types/Severity'
import { getIndicesOf } from '../../utils'
const name = 'noTabs'
const alias = 'noTabIndentation'
const description = 'Disallow indenting with tabs.'
const message = 'Line contains tab indentation'
const test = (value: string, lineNumber: number, config?: LintConfig) => {
const severity =
config?.severityLevel[name] ||
config?.severityLevel[alias] ||
Severity.Warning
const indices = getIndicesOf('\t', value)
return indices.map((index) => ({
message,
lineNumber,
startColumnNumber: index + 1,
endColumnNumber: index + 2,
severity
}))
}
/**
* Lint rule that checks if a given line of text is indented with a tab.
*/
export const noTabs: LineLintRule = {
type: LintRuleType.Line,
name,
description,
message,
test
}