LuaLikeCommandRunner constructor

LuaLikeCommandRunner()

Implementation

LuaLikeCommandRunner()
  : super(
      'lualike',
      'LuaLike $lualikeVersion - A Lua-like scripting language for Dart\n'
          'Lua $luaCompatVersion compatible\n'
          'Usage: lualike [options] [script [args]]',
    ) {
  argParser.addFlag(
    'debug',
    help: 'Enable debug mode with detailed logging',
    negatable: false,
  );

  // argParser.addFlag('help', help: 'Show help', negatable: false);

  argParser.addOption(
    'level',
    help: 'Set log level (FINE, INFO, WARNING, SEVERE, etc)',
  );

  argParser.addOption(
    'category',
    help: 'Set log category to filter (only logs for this category)',
  );

  argParser.addFlag(
    'ast',
    help: 'Use AST interpreter (default)',
    defaultsTo: true,
  );

  argParser.addFlag('bytecode', help: 'Use bytecode VM', defaultsTo: false);

  // Add standard Lua options
  argParser.addMultiOption(
    'execute',
    abbr: 'e',
    help: 'Execute string',
    valueHelp: 'code',
    splitCommas: false,
  );

  argParser.addMultiOption(
    'require',
    abbr: 'l',
    help: 'Require file',
    valueHelp: 'file',
    splitCommas: false,
  );

  argParser.addFlag(
    'interactive',
    abbr: 'i',
    help: 'Enter interactive mode after running script',
    negatable: false,
  );

  argParser.addFlag(
    'version',
    abbr: 'v',
    help: 'Print version information',
    negatable: false,
  );

  argParser.addFlag(
    'stdin',
    help: 'Execute stdin as a file (use - on command line)',
    negatable: false,
    hide: true,
  );
}