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 57 58 59 60 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 10423x 10423x 10423x 10423x 10423x 31098x 31098x 31098x 31098x 31098x 31098x 31098x 31098x 31098x 10423x 10423x 2x 2x 10423x 10423x 9906x 9906x 10423x 10423x 243x 243x 10423x 10423x 259x 259x 259x 259x 259x 5915x 5915x 5915x 5915x 5915x 2x 2x 2x 2x 2x 2x 5915x 259x 259x 259x 10423x | import {Issue} from "../issue"; import {ABAPRule} from "./_abap_rule"; import {BasicRuleConfig} from "./_basic_rule_config"; import {Position} from "../position"; import {EditHelper} from "../edit_helper"; import {IRuleMetadata, RuleTag} from "./_irule"; import {ABAPFile} from "../abap/abap_file"; export class ColonMissingSpaceConf extends BasicRuleConfig { } export class ColonMissingSpace extends ABAPRule { private conf = new ColonMissingSpaceConf(); public getMetadata(): IRuleMetadata { return { key: "colon_missing_space", title: "Colon missing space", shortDescription: `Checks for missing spaces after colons in chained statements.`, tags: [RuleTag.Whitespace, RuleTag.Quickfix, RuleTag.SingleFile], badExample: `WRITE:hello, world.`, goodExample: `WRITE: hello, world.`, }; } private getMessage(): string { return "Missing space after the colon"; } public getConfig() { return this.conf; } public setConfig(conf: ColonMissingSpaceConf) { this.conf = conf; } public runParsed(file: ABAPFile) { const issues: Issue[] = []; const tokens = file.getTokens(); for (let i = 0; i < tokens.length; i++) { const token = tokens[i]; if (token.getStr() === ":" && tokens[i + 1] !== undefined && tokens[i + 1].getRow() === token.getRow() && tokens[i + 1].getCol() === token.getCol() + 1) { const start = token.getStart(); const end = new Position(start.getRow(), start.getCol() + 1); const fix = EditHelper.insertAt(file, end, " "); const issue = Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix); issues.push(issue); } } return issues; } } |