swc/crates/swc_bundler/tests/.cache/deno/28ddc10bea9c284f99a9d0069dfe0114eba5e3a8.ts
2021-11-09 20:42:49 +09:00

30 lines
1.0 KiB
TypeScript

// Loaded from https://deno.land/x/cliffy@v0.12.1/packages/command/commands/help.ts
import { IFlags } from '../../flags/lib/types.ts';
import { Command } from '../lib/command.ts';
import { CommandType } from '../types/command.ts';
/**
* Generates well formatted and colored help output for specified command.
*/
export class HelpCommand extends Command {
public constructor( cmd?: Command ) {
super();
this.type( 'command', new CommandType() )
.arguments( '[command:command]' )
.description( 'Show this help or the help of a sub-command.' )
.action( ( flags: IFlags, name?: string ) => {
if ( !cmd ) {
cmd = name ? this.getGlobalParent()?.getBaseCommand( name ) : this.getGlobalParent();
}
if ( !cmd ) {
throw new Error( `Failed to generate help for command '${ name }'. Command not found.` );
}
cmd.help();
Deno.exit( 0 );
} );
}
}