createParser static method

ArgParser createParser()

Creates and configures an ArgParser with all supported commands and options.

Returns an ArgParser configured with:

  • Global options (token, file)
  • Icons command with its specific options
  • Variables command with its specific options

Example usage:

final parser = CommandParser.createParser();
final results = parser.parse(arguments);

Implementation

static ArgParser createParser() {
  final parser = ArgParser();

  // Global options
  parser.addOption(
    'token',
    abbr: 't',
    help: 'Figma access token',
    mandatory: true,
  );

  parser.addOption(
    'file',
    abbr: 'f',
    help: 'Figma file ID',
    mandatory: true,
  );

  // Commands
  parser.addCommand('icons')
    ..addOption(
      'node',
      abbr: 'n',
      help: 'Node ID containing icons',
      mandatory: true,
    )
    ..addOption(
      'output',
      abbr: 'o',
      help: 'Output directory for all generated files',
      mandatory: true,
    )
    ..addFlag(
      'verbose',
      abbr: 'v',
      help: 'Enable verbose logging',
      defaultsTo: false,
    )
    ..addFlag(
      'direct-svg',
      help: 'Export directly as SVG instead of PDF',
      defaultsTo: false,
    )
    ..addFlag(
      'clean',
      help: 'Clean output directories before processing',
      defaultsTo: false,
    );

  parser.addCommand('variables')
    ..addOption(
      'output',
      abbr: 'o',
      help: 'Output directory for theme files',
      mandatory: true,
    )
    ..addFlag(
      'verbose',
      abbr: 'v',
      help: 'Enable verbose logging',
      defaultsTo: false,
    )
    ..addFlag(
      'clean',
      help: 'Clean output directory before processing',
      defaultsTo: false,
    );

  return parser;
}