From ac91097b1b3d6c6e094c513e38da2dbdbd9f8efb Mon Sep 17 00:00:00 2001 From: Cameron Hunter Date: Mon, 29 Jul 2019 15:13:27 -0700 Subject: [PATCH 1/2] Allow completionCommand to be set via showCompletionScript --- test/completion.js | 7 +++++++ yargs.js | 7 ++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/test/completion.js b/test/completion.js index 7625b8e5d..a48a26793 100644 --- a/test/completion.js +++ b/test/completion.js @@ -158,6 +158,13 @@ describe('Completion', () => { r.logs[0].should.match(/\.\/test.js --get-yargs-completions/) }) + + it('allows $0 and cmd to be set', () => { + const r = checkUsage(() => yargs([]) + .showCompletionScript('/path/to/my/app', 'show-completions-script'), ['test.js']) + + r.logs[0].should.match(/Installation: \/path\/to\/my\/app show-completions-script/) + }) }) describe('completion()', () => { diff --git a/yargs.js b/yargs.js index e9eae4bac..39ceb15cf 100644 --- a/yargs.js +++ b/yargs.js @@ -907,7 +907,7 @@ function Yargs (processArgs, cwd, parentRequire) { } // register the completion command. - completionCommand = cmd || 'completion' + completionCommand = cmd || completionCommand || 'completion' if (!desc && desc !== false) { desc = 'generate completion script' } @@ -919,9 +919,10 @@ function Yargs (processArgs, cwd, parentRequire) { return self } - self.showCompletionScript = function ($0) { - argsert('[string]', [$0], arguments.length) + self.showCompletionScript = function ($0, cmd) { + argsert('[string] [string]', [$0, cmd], arguments.length) $0 = $0 || self.$0 + completionCommand = cmd || completionCommand || 'completion' _logger.log(completion.generateCompletionScript($0, completionCommand)) return self } From d8d731a4b3e0491af6e831bdab8eb882a502318f Mon Sep 17 00:00:00 2001 From: Cameron Hunter Date: Mon, 29 Jul 2019 16:22:03 -0700 Subject: [PATCH 2/2] Remove unnecessary options in test --- test/completion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/completion.js b/test/completion.js index a48a26793..4324fc5ca 100644 --- a/test/completion.js +++ b/test/completion.js @@ -161,7 +161,7 @@ describe('Completion', () => { it('allows $0 and cmd to be set', () => { const r = checkUsage(() => yargs([]) - .showCompletionScript('/path/to/my/app', 'show-completions-script'), ['test.js']) + .showCompletionScript('/path/to/my/app', 'show-completions-script')) r.logs[0].should.match(/Installation: \/path\/to\/my\/app show-completions-script/) })