UNPKG

@oclif/core

Version:

base library for oclif CLIs

29 lines (28 loc) 844 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = renderList; const wordwrap = require('wordwrap'); const screen_1 = require("../screen"); const util_1 = require("../util/util"); function linewrap(length, s) { return wordwrap(length, screen_1.stdtermwidth, { skipScheme: 'ansi-color', })(s).trim(); } function renderList(items) { if (items.length === 0) { return ''; } const maxLength = (0, util_1.maxBy)(items, (item) => item[0].length)?.[0].length ?? 0; const lines = items.map((i) => { let left = i[0]; let right = i[1]; if (!right) { return left; } left = left.padEnd(maxLength); right = linewrap(maxLength + 2, right); return `${left} ${right}`; }); return lines.join('\n'); }