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 | 1x 1x 1x 1x 1x 1x 20847x 20847x 20847x 20847x 1x 10424x 10424x 10424x 10424x 10424x 31099x 31099x 31099x 31099x 31099x 31099x 31099x 31099x 31099x 10424x 10424x 9906x 9906x 10424x 10424x 244x 244x 10424x 10424x 258x 258x 258x 258x 258x 258x 1747x 1747x 2x 2x 1747x 1747x 258x 258x 10424x 10424x | import {ABAPFile} from "../abap/abap_file"; import {Issue} from "../issue"; import {ABAPRule} from "./_abap_rule"; import {BasicRuleConfig} from "./_basic_rule_config"; import {RuleTag} from "./_irule"; export class LineLengthConf extends BasicRuleConfig { /** Maximum line length in characters, trailing whitespace ignored */ public length: number = 120; } export class LineLength extends ABAPRule { private conf = new LineLengthConf(); public getMetadata() { return { key: "line_length", title: "Line length", shortDescription: `Detects lines exceeding the provided maximum length.`, extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#stick-to-a-reasonable-line-length https://docs.abapopenchecks.org/checks/04/`, tags: [RuleTag.Styleguide, RuleTag.SingleFile], }; } public getConfig() { return this.conf; } public setConfig(conf: LineLengthConf) { this.conf = conf; } public runParsed(file: ABAPFile) { const issues: Issue[] = []; // maximum line length in abap files const maxLineLength: number = 255; const array = file.getRawRows(); for (let rowIndex = 0; rowIndex < array.length; rowIndex++) { const row = array[rowIndex].replace("\r", ""); if (row.length > maxLineLength) { const message = `Maximum allowed line length of ${maxLineLength} exceeded, currently ${row.length}`; issues.push(Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity)); } else if (row.length > this.conf.length) { const message = `Reduce line length to max ${this.conf.length}, currently ${row.length}`; issues.push(Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity)); } } return issues; } } |