import utils from '@serverlessinc/sf-core/src/utils.js' const { writeText, style } = utils export default (commandOptions) => { const indentFillLength = 40 for (const [option, optionsObject] of Object.entries(commandOptions)) { let legacyOptionsIndentFill = '.'.repeat( Math.max(indentFillLength - option.length, 0), ) let optionsIndentFill = ' '.repeat( Math.max(indentFillLength - option.length - 4, 0), ) if (optionsObject.required) { legacyOptionsIndentFill = legacyOptionsIndentFill.slice( 0, legacyOptionsIndentFill.length - 18, ) optionsIndentFill = optionsIndentFill.slice( 0, optionsIndentFill.length - 18, ) } else { legacyOptionsIndentFill = legacyOptionsIndentFill.slice( 0, legacyOptionsIndentFill.length - 7, ) optionsIndentFill = optionsIndentFill.slice( 0, optionsIndentFill.length - 7, ) } if (optionsObject.shortcut) { legacyOptionsIndentFill = legacyOptionsIndentFill.slice( 0, legacyOptionsIndentFill.length - 5, ) optionsIndentFill = optionsIndentFill.slice( 0, optionsIndentFill.length - 5, ) } let shortcutInfo = '' let requiredInfo = '' if (optionsObject.shortcut) shortcutInfo = ` / -${optionsObject.shortcut}` if (optionsObject.required) requiredInfo = ' (required)' const optionsUsage = optionsObject.usage ? optionsIndentFill + style.aside(optionsObject.usage) : '' writeText(` --${option}${shortcutInfo}${requiredInfo} ${optionsUsage}`) } }