UNPKG

cpp-merge

Version:

Command line tool to produce single source file from multiple C/C++ files

45 lines (44 loc) 1.36 kB
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 {};