mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
clean up daft parsing behaviour
This commit is contained in:
parent
4a432e6a23
commit
2afb859027
1 changed files with 3 additions and 11 deletions
|
|
@ -1,18 +1,10 @@
|
||||||
import { parseArgs as stdParseArgs } from '@std/cli';
|
import { parseArgs as stdParseArgs } from '@std/cli';
|
||||||
import { cleanArg, Command } from './mod.ts';
|
import { cleanArg, Command } from './mod.ts';
|
||||||
|
|
||||||
export const setupCli = (commands: Command, parserArgs: Partial<ParsedSubcommand> = {}) => {
|
export const setupCli = (command: Command, parserArgs: Partial<ParsedSubcommand> = {}) => {
|
||||||
for (const [_name, body] of Object.entries(commands)) {
|
parserArgs = parseSubcommand(command, parserArgs);
|
||||||
for (const subcommand in body) {
|
|
||||||
const s = body[subcommand];
|
|
||||||
parserArgs = parseSubcommand(s, parserArgs);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const parsed = stdParseArgs(Deno.args, parserArgs);
|
const parsed = stdParseArgs(Deno.args, parserArgs);
|
||||||
return {
|
return { parsed, parserArgs };
|
||||||
parsed,
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export type ParsedArgs = ReturnType<typeof setupCli>['parsed'];
|
export type ParsedArgs = ReturnType<typeof setupCli>['parsed'];
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue