cpp-merge
Version:
Command line tool to produce single source file from multiple C/C++ files
45 lines (44 loc) • 1.36 kB
TypeScript
import { TraceError } from "../common/errors";
import { Argument, Option } from "./types";
export declare class ArgumentError extends TraceError {
readonly argument: string;
constructor(message: string, argument: string);
}
export declare class UnknownArgumentError extends ArgumentError {
constructor(argument: string, message?: string);
}
export declare class UnknownOptionError extends ArgumentError {
constructor(argument: string, message?: string);
}
export declare class OptionArgumentExpectedError extends ArgumentError {
constructor(option: string, message?: string);
}
export type ParseResult = {
arguments: ParsedArguments;
options: ParsedOptions;
};
type ParsedArguments = {
[name: string]: string | undefined;
};
type ParsedOptions = {
[name: string]: string | undefined;
};
export default class ArgumentParser {
private readonly helpFormatter;
private readonly arguments;
private readonly options;
private readonly programName;
private readonly description;
constructor(params: {
programName: string;
description: string;
});
addArgument(argument: Argument): void;
addOption(option: Option): void;
parseArguments(args: string[]): ParseResult;
private isOption;
private parseOption;
private findOption;
formatHelp(): string;
}
export {};