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 10132x 10132x 10132x 10132x 30225x 30225x 30225x 30225x 30225x 30225x 30225x 30225x 30225x 10132x 10132x 244x 244x 10132x 10132x 9625x 9625x 10132x 10132x 238x 238x 10132x 10132x 308x 308x 308x 325x 255x 255x 1713x 1x 1x 1x 1x 1x 1713x 255x 325x 308x 308x 308x 10132x 10132x | 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; } } |