UNPKG

1.64 kBTypeScriptView Raw
1import { ICommand } from '@cli-engine/config';
2import Config from './config';
3import { ITopic, Topic } from './topic';
4export declare type RunFn = (argv: string[]) => Promise<void>;
5export declare type GetCommandFn = () => Promise<ICommand>;
6export interface ICommandInfo {
7 _version?: string;
8 id: string;
9 hidden: boolean;
10 help: string;
11 helpLine: [string, string | undefined];
12 aliases: string[];
13 description: string | undefined;
14 usage: string | undefined;
15 plugin: {
16 name: string;
17 version: string;
18 };
19 fetchCommand: GetCommandFn;
20 run: RunFn;
21}
22export interface ILoadResult {
23 topics?: ITopic[];
24 commands?: ICommandInfo[];
25}
26export interface ICommandManager {
27 submanagers?(): Promise<ICommandManager[]>;
28 load?(): Promise<ILoadResult>;
29}
30export declare class CommandManager {
31 protected config: Config;
32 private managers;
33 private hooks;
34 private debug;
35 private result;
36 private _submanagers;
37 constructor(config: Config);
38 run(argv: string[]): Promise<any>;
39 help(argv: string[]): Promise<void>;
40 notFound(id: string): Promise<void>;
41 commands(): Promise<ICommandInfo[]>;
42 rootCommands(): Promise<ICommandInfo[]>;
43 findTopic(id: string): Promise<Topic | undefined>;
44 findCommand(id: string, must: true): Promise<ICommandInfo>;
45 findCommand(id: string, must?: boolean): Promise<ICommandInfo | undefined>;
46 topics(): Promise<Topic[]>;
47 rootTopics(): Promise<{
48 [k: string]: Topic;
49 }>;
50 private load();
51 private submanagers();
52 private addResult(result?);
53 private cmdAskingForHelp(argv);
54}