@optique/core 0.10.0-dev.348 → 0.10.0-dev.353
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 +53 -0
- package/dist/facade.js +53 -0
- package/dist/parser.cjs +3 -5
- package/dist/parser.js +3 -5
- package/package.json +1 -1
package/dist/facade.cjs
CHANGED
|
@@ -527,6 +527,59 @@ function runParser(parserOrProgram, programNameOrArgs, argsOrOptions, optionsPar
|
|
|
527
527
|
else if (commandParsers.length === 2) helpGeneratorParser = require_constructs.longestMatch(commandParsers[0], commandParsers[1]);
|
|
528
528
|
else helpGeneratorParser = require_constructs.longestMatch(...commandParsers);
|
|
529
529
|
}
|
|
530
|
+
const reportInvalidHelpCommand = (validationError) => {
|
|
531
|
+
stderr(`Usage: ${indentLines(require_usage.formatUsage(programName, augmentedParser.usage, {
|
|
532
|
+
colors,
|
|
533
|
+
maxWidth: maxWidth == null ? void 0 : maxWidth - 7,
|
|
534
|
+
expandCommands: true
|
|
535
|
+
}), 7)}`);
|
|
536
|
+
const errorMessage = require_message.formatMessage(validationError, {
|
|
537
|
+
colors,
|
|
538
|
+
quotes: !colors
|
|
539
|
+
});
|
|
540
|
+
stderr(`Error: ${errorMessage}`);
|
|
541
|
+
return onError(1);
|
|
542
|
+
};
|
|
543
|
+
if (classified.commands.length > 0) {
|
|
544
|
+
let validationContext = {
|
|
545
|
+
buffer: [...classified.commands],
|
|
546
|
+
optionsTerminated: false,
|
|
547
|
+
state: helpGeneratorParser.initialState,
|
|
548
|
+
usage: helpGeneratorParser.usage
|
|
549
|
+
};
|
|
550
|
+
const processStep = (stepResult) => {
|
|
551
|
+
if (!stepResult.success) return stepResult.error;
|
|
552
|
+
if (stepResult.consumed.length < 1) return require_message.message`Unexpected option or subcommand: ${require_message.optionName(validationContext.buffer[0])}.`;
|
|
553
|
+
validationContext = {
|
|
554
|
+
...validationContext,
|
|
555
|
+
buffer: stepResult.next.buffer,
|
|
556
|
+
optionsTerminated: stepResult.next.optionsTerminated,
|
|
557
|
+
state: stepResult.next.state,
|
|
558
|
+
usage: stepResult.next.usage ?? validationContext.usage
|
|
559
|
+
};
|
|
560
|
+
return validationContext.buffer.length > 0 ? "continue" : null;
|
|
561
|
+
};
|
|
562
|
+
let validationResult = "continue";
|
|
563
|
+
while (validationResult === "continue") {
|
|
564
|
+
const stepResult = helpGeneratorParser.parse(validationContext);
|
|
565
|
+
if (stepResult instanceof Promise) {
|
|
566
|
+
const asyncValidate = async (result$1) => {
|
|
567
|
+
let res = processStep(result$1);
|
|
568
|
+
while (res === "continue") {
|
|
569
|
+
const next = helpGeneratorParser.parse(validationContext);
|
|
570
|
+
const resolved = next instanceof Promise ? await next : next;
|
|
571
|
+
res = processStep(resolved);
|
|
572
|
+
}
|
|
573
|
+
if (res != null) return reportInvalidHelpCommand(res);
|
|
574
|
+
const docOrPromise$1 = require_parser.getDocPage(helpGeneratorParser, classified.commands);
|
|
575
|
+
return docOrPromise$1 instanceof Promise ? docOrPromise$1.then(displayHelp) : displayHelp(docOrPromise$1);
|
|
576
|
+
};
|
|
577
|
+
return stepResult.then(asyncValidate);
|
|
578
|
+
}
|
|
579
|
+
validationResult = processStep(stepResult);
|
|
580
|
+
}
|
|
581
|
+
if (validationResult != null) return reportInvalidHelpCommand(validationResult);
|
|
582
|
+
}
|
|
530
583
|
const displayHelp = (doc) => {
|
|
531
584
|
if (doc != null) {
|
|
532
585
|
const isMetaCommandHelp = (completionName === "singular" || completionName === "both" ? requestedCommand === "completion" : false) || (completionName === "plural" || completionName === "both" ? requestedCommand === "completions" : false) || requestedCommand === "help" || requestedCommand === "version";
|
package/dist/facade.js
CHANGED
|
@@ -527,6 +527,59 @@ function runParser(parserOrProgram, programNameOrArgs, argsOrOptions, optionsPar
|
|
|
527
527
|
else if (commandParsers.length === 2) helpGeneratorParser = longestMatch(commandParsers[0], commandParsers[1]);
|
|
528
528
|
else helpGeneratorParser = longestMatch(...commandParsers);
|
|
529
529
|
}
|
|
530
|
+
const reportInvalidHelpCommand = (validationError) => {
|
|
531
|
+
stderr(`Usage: ${indentLines(formatUsage(programName, augmentedParser.usage, {
|
|
532
|
+
colors,
|
|
533
|
+
maxWidth: maxWidth == null ? void 0 : maxWidth - 7,
|
|
534
|
+
expandCommands: true
|
|
535
|
+
}), 7)}`);
|
|
536
|
+
const errorMessage = formatMessage(validationError, {
|
|
537
|
+
colors,
|
|
538
|
+
quotes: !colors
|
|
539
|
+
});
|
|
540
|
+
stderr(`Error: ${errorMessage}`);
|
|
541
|
+
return onError(1);
|
|
542
|
+
};
|
|
543
|
+
if (classified.commands.length > 0) {
|
|
544
|
+
let validationContext = {
|
|
545
|
+
buffer: [...classified.commands],
|
|
546
|
+
optionsTerminated: false,
|
|
547
|
+
state: helpGeneratorParser.initialState,
|
|
548
|
+
usage: helpGeneratorParser.usage
|
|
549
|
+
};
|
|
550
|
+
const processStep = (stepResult) => {
|
|
551
|
+
if (!stepResult.success) return stepResult.error;
|
|
552
|
+
if (stepResult.consumed.length < 1) return message`Unexpected option or subcommand: ${optionName(validationContext.buffer[0])}.`;
|
|
553
|
+
validationContext = {
|
|
554
|
+
...validationContext,
|
|
555
|
+
buffer: stepResult.next.buffer,
|
|
556
|
+
optionsTerminated: stepResult.next.optionsTerminated,
|
|
557
|
+
state: stepResult.next.state,
|
|
558
|
+
usage: stepResult.next.usage ?? validationContext.usage
|
|
559
|
+
};
|
|
560
|
+
return validationContext.buffer.length > 0 ? "continue" : null;
|
|
561
|
+
};
|
|
562
|
+
let validationResult = "continue";
|
|
563
|
+
while (validationResult === "continue") {
|
|
564
|
+
const stepResult = helpGeneratorParser.parse(validationContext);
|
|
565
|
+
if (stepResult instanceof Promise) {
|
|
566
|
+
const asyncValidate = async (result$1) => {
|
|
567
|
+
let res = processStep(result$1);
|
|
568
|
+
while (res === "continue") {
|
|
569
|
+
const next = helpGeneratorParser.parse(validationContext);
|
|
570
|
+
const resolved = next instanceof Promise ? await next : next;
|
|
571
|
+
res = processStep(resolved);
|
|
572
|
+
}
|
|
573
|
+
if (res != null) return reportInvalidHelpCommand(res);
|
|
574
|
+
const docOrPromise$1 = getDocPage(helpGeneratorParser, classified.commands);
|
|
575
|
+
return docOrPromise$1 instanceof Promise ? docOrPromise$1.then(displayHelp) : displayHelp(docOrPromise$1);
|
|
576
|
+
};
|
|
577
|
+
return stepResult.then(asyncValidate);
|
|
578
|
+
}
|
|
579
|
+
validationResult = processStep(stepResult);
|
|
580
|
+
}
|
|
581
|
+
if (validationResult != null) return reportInvalidHelpCommand(validationResult);
|
|
582
|
+
}
|
|
530
583
|
const displayHelp = (doc) => {
|
|
531
584
|
if (doc != null) {
|
|
532
585
|
const isMetaCommandHelp = (completionName === "singular" || completionName === "both" ? requestedCommand === "completion" : false) || (completionName === "plural" || completionName === "both" ? requestedCommand === "completions" : false) || requestedCommand === "help" || requestedCommand === "version";
|
package/dist/parser.cjs
CHANGED
|
@@ -403,11 +403,9 @@ function buildDocPage(parser, context, args) {
|
|
|
403
403
|
const term = usage[i];
|
|
404
404
|
if (term.type === "exclusive") {
|
|
405
405
|
const found = findCommandInExclusive(term, arg);
|
|
406
|
-
if (found)
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
} else i++;
|
|
410
|
-
} else i++;
|
|
406
|
+
if (found) usage.splice(i, 1, ...found);
|
|
407
|
+
}
|
|
408
|
+
i++;
|
|
411
409
|
}
|
|
412
410
|
return {
|
|
413
411
|
usage,
|
package/dist/parser.js
CHANGED
|
@@ -403,11 +403,9 @@ function buildDocPage(parser, context, args) {
|
|
|
403
403
|
const term = usage[i];
|
|
404
404
|
if (term.type === "exclusive") {
|
|
405
405
|
const found = findCommandInExclusive(term, arg);
|
|
406
|
-
if (found)
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
} else i++;
|
|
410
|
-
} else i++;
|
|
406
|
+
if (found) usage.splice(i, 1, ...found);
|
|
407
|
+
}
|
|
408
|
+
i++;
|
|
411
409
|
}
|
|
412
410
|
return {
|
|
413
411
|
usage,
|