1 | import { ICommand } from '@cli-engine/config';
|
2 | import Config from './config';
|
3 | import { ITopic, Topic } from './topic';
|
4 | export declare type RunFn = (argv: string[]) => Promise<void>;
|
5 | export declare type GetCommandFn = () => Promise<ICommand>;
|
6 | export 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 | }
|
22 | export interface ILoadResult {
|
23 | topics?: ITopic[];
|
24 | commands?: ICommandInfo[];
|
25 | }
|
26 | export interface ICommandManager {
|
27 | submanagers?(): Promise<ICommandManager[]>;
|
28 | load?(): Promise<ILoadResult>;
|
29 | }
|
30 | export 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 | }
|