UNPKG

@abaplint/core

Version:
52 lines (51 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LineBreakStyle = exports.LineBreakStyleConf = void 0; const issue_1 = require("../issue"); const _basic_rule_config_1 = require("./_basic_rule_config"); const _irule_1 = require("./_irule"); class LineBreakStyleConf extends _basic_rule_config_1.BasicRuleConfig { } exports.LineBreakStyleConf = LineBreakStyleConf; class LineBreakStyle { constructor() { this.conf = new LineBreakStyleConf(); } getMetadata() { 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: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile], }; } initialize(_reg) { return this; } getConfig() { return this.conf; } setConfig(conf) { this.conf = conf; } run(obj) { const output = []; 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_1.Issue.atRow(file, i + 1, message, this.getMetadata().key, this.conf.severity); output.push(issue); break; // only one finding per file } } } } return output; } } exports.LineBreakStyle = LineBreakStyle; //# sourceMappingURL=line_break_style.js.map