pxt-core
Version:
Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors
44 lines (43 loc) • 1.15 kB
TypeScript
export declare type FlagType = "boolean" | "string" | "number";
export interface CommandFlag {
description: string;
argument?: string;
type?: FlagType;
aliases?: string[];
possibleValues?: (string | RegExp)[];
deprecated?: boolean;
hidden?: boolean;
}
export interface Command {
name: string;
help: string;
onlineHelp?: boolean;
priority?: number;
advanced?: boolean;
argString?: string;
flags?: {
[index: string]: CommandFlag;
};
aliases?: string[];
numArgs?: number;
anyArgs?: boolean;
_aliasMap?: {
[index: string]: string;
};
_callback?: (c?: ParsedCommand) => Promise<void>;
}
export interface ParsedCommand {
name: string;
args: string[];
flags: {
[index: string]: boolean | string | number;
};
}
export declare class CommandParser {
private commands;
defineCommand(c: Command, callback: (c?: ParsedCommand) => Promise<void>): void;
parseCommand(args: string[]): Promise<void>;
printHelp(args: string[], print: (s: string) => void): void;
private printCommandHelp;
private printTopLevelHelp;
}