From e1871aa792de219b221179417d410931af70d405 Mon Sep 17 00:00:00 2001 From: Osman Altun Date: Wed, 4 Aug 2021 23:45:59 +0200 Subject: [PATCH] fix: wrap(null) no longer causes strange indentation behavior (#1988) --- lib/usage.ts | 2 +- test/usage.cjs | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/usage.ts b/lib/usage.ts index 807625ae8..1426c4337 100644 --- a/lib/usage.ts +++ b/lib/usage.ts @@ -206,7 +206,7 @@ export function usage(yargs: YargsInstance, shim: PlatformShim) { if (usages.length) { // user-defined usage. usages.forEach(usage => { - ui.div(`${usage[0].replace(/\$0/g, base$0)}`); + ui.div({text: `${usage[0].replace(/\$0/g, base$0)}`}); if (usage[1]) { ui.div({text: `${usage[1]}`, padding: [1, 0, 0, 0]}); } diff --git a/test/usage.cjs b/test/usage.cjs index 22ab8782a..24b29476b 100644 --- a/test/usage.cjs +++ b/test/usage.cjs @@ -1884,6 +1884,32 @@ describe('usage tests', () => { ' -h, --help Show help [boolean]', ]); }); + + it('should not indent usage when no wrap is specified', () => { + const expected = [ + ' My greatest CLI App', + 'Hello, world', + '', + 'Options:', + ' --help Show help [boolean]', + ' --version Show version number [boolean]', + ]; + + const r = checkUsage(() => + yargs('--help') + .usage( + [ + ' My greatest CLI App', + 'Hello, world', + ].join('\n') + ) + .wrap(null) + .parse() + ); + + // the leading whitespaces on the first line should not cause indentation to usage string + r.logs[0].split('\n').should.deep.equal(expected); + }); }); describe('commands', () => {