@optique/core 0.6.3-dev.124 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/facade.cjs CHANGED
@@ -329,7 +329,7 @@ function classifyResult(result, args) {
329
329
  * Handles shell completion requests.
330
330
  * @since 0.6.0
331
331
  */
332
- function handleCompletion(completionArgs, programName, parser, completionParser, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth) {
332
+ function handleCompletion(completionArgs, programName, parser, completionParser, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode) {
333
333
  const shellName = completionArgs[0] || "";
334
334
  const args = completionArgs.slice(1);
335
335
  if (!shellName) {
@@ -361,7 +361,8 @@ function handleCompletion(completionArgs, programName, parser, completionParser,
361
361
  return onError(1);
362
362
  }
363
363
  if (args.length === 0) {
364
- const script = shell.generateScript(programName, ["completion", shellName]);
364
+ const completionArg = completionMode === "option" ? "--completion" : "completion";
365
+ const script = shell.generateScript(programName, [completionArg, shellName]);
365
366
  stdout(script);
366
367
  } else {
367
368
  const suggestions = require_parser.suggest(parser, args);
@@ -441,17 +442,17 @@ function run(parser, programName, args, options = {}) {
441
442
  } : createCompletionParser(completion, programName, availableShells);
442
443
  if (options.completion) {
443
444
  const hasHelpOption = args.includes("--help");
444
- if ((completionMode === "command" || completionMode === "both") && args.length >= 1 && args[0] === "completion" && !hasHelpOption) return handleCompletion(args.slice(1), programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
445
+ if ((completionMode === "command" || completionMode === "both") && args.length >= 1 && args[0] === "completion" && !hasHelpOption) return handleCompletion(args.slice(1), programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
445
446
  if (completionMode === "option" || completionMode === "both") for (let i = 0; i < args.length; i++) {
446
447
  const arg = args[i];
447
448
  if (arg.startsWith("--completion=")) {
448
449
  const shell = arg.slice(13);
449
450
  const completionArgs = args.slice(i + 1);
450
- return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
451
+ return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
451
452
  } else if (arg === "--completion" && i + 1 < args.length) {
452
453
  const shell = args[i + 1];
453
454
  const completionArgs = args.slice(i + 2);
454
- return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
455
+ return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
455
456
  }
456
457
  }
457
458
  }
package/dist/facade.js CHANGED
@@ -329,7 +329,7 @@ function classifyResult(result, args) {
329
329
  * Handles shell completion requests.
330
330
  * @since 0.6.0
331
331
  */
332
- function handleCompletion(completionArgs, programName, parser, completionParser, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth) {
332
+ function handleCompletion(completionArgs, programName, parser, completionParser, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode) {
333
333
  const shellName = completionArgs[0] || "";
334
334
  const args = completionArgs.slice(1);
335
335
  if (!shellName) {
@@ -361,7 +361,8 @@ function handleCompletion(completionArgs, programName, parser, completionParser,
361
361
  return onError(1);
362
362
  }
363
363
  if (args.length === 0) {
364
- const script = shell.generateScript(programName, ["completion", shellName]);
364
+ const completionArg = completionMode === "option" ? "--completion" : "completion";
365
+ const script = shell.generateScript(programName, [completionArg, shellName]);
365
366
  stdout(script);
366
367
  } else {
367
368
  const suggestions = suggest(parser, args);
@@ -441,17 +442,17 @@ function run(parser, programName, args, options = {}) {
441
442
  } : createCompletionParser(completion, programName, availableShells);
442
443
  if (options.completion) {
443
444
  const hasHelpOption = args.includes("--help");
444
- if ((completionMode === "command" || completionMode === "both") && args.length >= 1 && args[0] === "completion" && !hasHelpOption) return handleCompletion(args.slice(1), programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
445
+ if ((completionMode === "command" || completionMode === "both") && args.length >= 1 && args[0] === "completion" && !hasHelpOption) return handleCompletion(args.slice(1), programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
445
446
  if (completionMode === "option" || completionMode === "both") for (let i = 0; i < args.length; i++) {
446
447
  const arg = args[i];
447
448
  if (arg.startsWith("--completion=")) {
448
449
  const shell = arg.slice(13);
449
450
  const completionArgs = args.slice(i + 1);
450
- return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
451
+ return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
451
452
  } else if (arg === "--completion" && i + 1 < args.length) {
452
453
  const shell = args[i + 1];
453
454
  const completionArgs = args.slice(i + 2);
454
- return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth);
455
+ return handleCompletion([shell, ...completionArgs], programName, parser, completionParsers.completionCommand, stdout, stderr, onCompletion, onError, availableShells, colors, maxWidth, completionMode);
455
456
  }
456
457
  }
457
458
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optique/core",
3
- "version": "0.6.3-dev.124+dba6a10a",
3
+ "version": "0.6.3",
4
4
  "description": "Type-safe combinatorial command-line interface parser",
5
5
  "keywords": [
6
6
  "CLI",