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

feat: mult-line macro declarations

This commit is contained in:
Saad Jutt
2021-05-21 05:10:34 +05:00
parent 8bfb547427
commit af2d2c12c1
12 changed files with 325 additions and 86 deletions

View File

@@ -16,36 +16,48 @@ const test = (value: string, config?: LintConfig) => {
if (!macro.name) {
diagnostics.push({
message: 'Macro definition missing name',
lineNumber: macro.startLineNumber!,
startColumnNumber: getColumnNumber(macro.declarationLine, '%macro'),
lineNumber: macro.startLineNumbers![0],
startColumnNumber: getColumnNumber(
macro.declarationLines![0],
'%macro'
),
endColumnNumber:
getColumnNumber(macro.declarationLine, '%macro') +
getColumnNumber(macro.declarationLines![0], '%macro') +
macro.declaration.length,
severity: Severity.Warning
})
} else if (!macro.declarationLine.includes('(')) {
} else if (!macro.declarationLines.find((dl) => dl.includes('('))) {
const macroNameLineIndex = macro.declarationLines.findIndex((dl) =>
dl.includes(macro.name)
)
diagnostics.push({
message,
lineNumber: macro.startLineNumber!,
startColumnNumber: getColumnNumber(macro.declarationLine, macro.name),
lineNumber: macro.startLineNumbers![macroNameLineIndex],
startColumnNumber: getColumnNumber(
macro.declarationLines[macroNameLineIndex],
macro.name
),
endColumnNumber:
getColumnNumber(macro.declarationLine, macro.name) +
getColumnNumber(
macro.declarationLines[macroNameLineIndex],
macro.name
) +
macro.name.length -
1,
severity: Severity.Warning
})
} else if (macro.name !== macro.name.trim()) {
diagnostics.push({
message: 'Macro definition contains space(s)',
lineNumber: macro.startLineNumber!,
startColumnNumber: getColumnNumber(macro.declarationLine, macro.name),
endColumnNumber:
getColumnNumber(macro.declarationLine, macro.name) +
macro.name.length -
1 +
`()`.length,
severity: Severity.Warning
})
// } else if (macro.name !== macro.name.trim()) {
// diagnostics.push({
// message: 'Macro definition contains space(s)',
// lineNumber: macro.startLineNumber!,
// startColumnNumber: getColumnNumber(macro.declarationLine, macro.name),
// endColumnNumber:
// getColumnNumber(macro.declarationLine, macro.name) +
// macro.name.length -
// 1 +
// `()`.length,
// severity: Severity.Warning
// })
}
})