1
0
mirror of https://github.com/sasjs/lint.git synced 2026-01-17 01:00:06 +00:00

feat(*): add line endings rule, add automatic formatting for fixable violations

This commit is contained in:
Krishna Acondy
2021-04-19 20:06:45 +01:00
parent 031a323839
commit 33a57c3163
32 changed files with 930 additions and 318 deletions

View File

@@ -1,7 +1,11 @@
import { LintConfig } from '../../types'
import { LineEndings } from '../../types/LineEndings'
import { FileLintRule } from '../../types/LintRule'
import { LintRuleType } from '../../types/LintRuleType'
import { Severity } from '../../types/Severity'
const DoxygenHeader = `/**{lineEnding} @file{lineEnding} @brief <Your brief here>{lineEnding}**/`
const name = 'hasDoxygenHeader'
const description =
'Enforce the presence of a Doxygen header at the start of each file.'
@@ -32,6 +36,19 @@ const test = (value: string) => {
}
}
const fix = (value: string, config?: LintConfig): string => {
if (test(value).length === 0) {
return value
}
const lineEndingConfig = config?.lineEndings || LineEndings.LF
const lineEnding = lineEndingConfig === LineEndings.LF ? '\n' : '\r\n'
return `${DoxygenHeader.replace(
/{lineEnding}/g,
lineEnding
)}${lineEnding}${value}`
}
/**
* Lint rule that checks for the presence of a Doxygen header in a given file.
*/
@@ -40,5 +57,6 @@ export const hasDoxygenHeader: FileLintRule = {
name,
description,
message,
test
test,
fix
}