Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 10894x 10894x 10894x 10894x 32495x 32495x 32495x 32495x 32495x 32495x 32495x 32495x 32495x 10894x 10894x 264x 264x 10894x 10894x 10347x 10347x 10894x 10894x 258x 258x 10894x 10894x 330x 330x 330x 348x 275x 275x 1855x 1x 1x 1x 1x 1x 1855x 275x 348x 330x 330x 330x 10894x 10894x | import {Issue} from "../issue"; import {BasicRuleConfig} from "./_basic_rule_config"; import {IObject} from "../objects/_iobject"; import {IRule, IRuleMetadata, RuleTag} from "./_irule"; import {IRegistry} from "../_iregistry"; export class LineBreakStyleConf extends BasicRuleConfig { } export class LineBreakStyle implements IRule { private conf = new LineBreakStyleConf(); public getMetadata(): IRuleMetadata { return { key: "line_break_style", title: "Makes sure line breaks are consistent in the ABAP code", shortDescription: `Enforces LF as newlines in ABAP files abapGit does not work with CRLF`, tags: [RuleTag.Whitespace, RuleTag.SingleFile], }; } public initialize(_reg: IRegistry) { return this; } public getConfig() { return this.conf; } public setConfig(conf: LineBreakStyleConf) { this.conf = conf; } public run(obj: IObject): Issue[] { const output: Issue[] = []; for (const file of obj.getFiles()) { if (file.getFilename().endsWith(".abap")) { const rows = file.getRawRows(); for (let i = 0; i < rows.length; i++) { if (rows[i].endsWith("\r") === true) { const message = "Line contains carriage return"; const issue = Issue.atRow(file, i + 1, message, this.getMetadata().key, this.conf.severity); output.push(issue); break; // only one finding per file } } } } return output; } } |