Update LibAC syntax for arguments system

This commit is contained in:
zontreck 2025-01-22 04:16:46 -07:00
parent 0dc2f68034
commit ef829c5c66
9 changed files with 87 additions and 78 deletions

View file

@ -1,5 +1,6 @@
import 'dart:io';
import 'package:libac_dart/argparse/Parser.dart';
import 'package:simplehelpertools/constants.dart';
import 'package:libac_dart/argparse/Args.dart';
import 'package:libac_dart/argparse/Builder.dart';
@ -10,27 +11,25 @@ import 'package:libac_dart/nbt/NbtIo.dart';
import 'package:libac_dart/nbt/SnbtIo.dart';
import 'package:libac_dart/nbt/impl/CompoundTag.dart';
const HEADER =
String HEADER =
"nbt2snbt\nCopyright Piccari Creations 2024 - Tara Piccari\nVersion: ${HelperConsts.NBT_VERSION}\nPurpose: Converts Named Binary Tag files to a more readable Stringified version\n\n";
void main(List<String> args) async {
Arguments usage = ArgumentsBuilder.builder()
.withArgument(
BoolArgument(name: "help", description: "Print this output"))
.withArgument(BoolArgument(name: "help"))
.withArgument(StringArgument(name: "input", value: "%"))
.withArgument(StringArgument(
name: "input", value: "%", description: "The input file to convert"))
.withArgument(StringArgument(
name: "out",
value: "%",
description:
"The path to the output file. If not supplied, STDOUT is used."))
name: "out",
value: "%",
))
.build();
Arguments defaults = Arguments();
Arguments vArgs = await CLIHelper.parseArgs(args, defaults);
Arguments vArgs = ArgumentParser.parse(args);
if (vArgs.hasArg("help") || vArgs.count == 0) {
print(HEADER);
print(CLIHelper.makeArgCLIHelp(usage));
print(ArgumentHelpers.generateHelpMessage(
usage.getArgumentsList(), "nbt2snbt"));
} else {
if (!vArgs.hasArg("input")) {
print(HEADER);