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 | 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x | export const num = `\\d{1,16}(\\.\\d{1,16})?`;
export const book = `#?[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
export const acc = `[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
export const con = `(limit|keep|overdraft)\\s+(${num}|${num}%|${num}/${num}|unbounded)`;
export const mark = `[A-Z][A-Z0-9\\_]*`;
export const markRegex = new RegExp(`^${mark}$`);
export const absRefValueRegex = new RegExp(`^${num}$`);
export const relRefValueRegex = new RegExp(
`^(${num}%|${num}/${num})<-(${book}):(${acc})$`,
);
export const sourceRegex = new RegExp(
`^\\s*(\\s*(max\\s+)?(${num}|${num}%|${num}/${num})|remaining)\\s+(\\[\\s*((${con}\\s*)(,\\s*${con})*)\\s*\\]\\s+)?(\\{\\s*(ext)\\s*\\}\\s+)?(${book}):(${acc})((\\s+mark\\s+${mark})?(\\s+as\\s+[A-Z][A-Z0-9\\_]*)?)$`,
);
export const destRegex = new RegExp(
`^\\s*(${num}|${num}%|${num}/${num}|remaining)\\s+(${book}):(${acc})((\\s+mark\\s+${mark})?(\\s+as\\s+[A-Z][A-Z0-9\\_]*)?)$`,
);
export const bookMetric = `[a-zA-Z0-9#\\.\\-]+`;
export const accMetric = `[a-zA-Z0-9][a-zA-Z0-9\\.\\_\\-]*`;
export const metricsRegex = new RegExp(
`^(${bookMetric}):(${accMetric})\\s+(add|ADD|sub|SUB|replace|REPLACE)\\s+(.+)$`,
);
|