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,28 +1,34 @@
import 'package:libac_dart/argparse/Args.dart';
import 'package:libac_dart/argparse/Builder.dart';
import 'package:libac_dart/argparse/CLIHelper.dart';
import 'package:libac_dart/argparse/Parser.dart';
import 'package:libac_dart/argparse/types/Bool.dart';
import 'package:simplehelpertools/constants.dart';
String get CH_VERSION => HelperConsts.CH_VERSION;
Future<int> main(List<String> args) async {
print("Git Commit Helper\nVersion: ${CH_VERSION}\n\n");
print("Git Commit Helper\nVersion: $CH_VERSION\n\n");
Arguments defaults = ArgumentsBuilder.builder()
.withArgument(
BoolArgument(name: "help", description: "Print out this help page"))
.withArgument(BoolArgument(
name: "commit",
description: "Create a commit for the current working directory"))
.withArgument(BoolArgument(name: "sign", description: "Sign the commit"))
name: "help",
))
.withArgument(BoolArgument(
name: "force", description: "Ignore gitignore rules for commits"))
name: "commit",
))
.withArgument(BoolArgument(
name: "sign",
))
.withArgument(BoolArgument(
name: "force",
))
.build();
Arguments argx = await CLIHelper.parseArgs(args, Arguments());
Arguments argx = ArgumentParser.parse(args);
if (argx.hasArg("help") || argx.count == 0) {
print(CLIHelper.makeArgCLIHelp(defaults));
print(
ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "ch"));
return 0;
}

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';
@ -11,15 +12,20 @@ import 'package:libac_dart/utils/DBIKC.dart';
Future<int> main(List<String> args) async {
Arguments defaults = ArgumentsBuilder.builder()
.withArgument(StringArgument(
name: "value", value: "", description: "Text to encode/decode"))
.withArgument(BoolArgument(name: "help", description: "This help text"))
name: "value",
value: "",
))
.withArgument(BoolArgument(
name: "help",
))
.build();
var helpText = CLIHelper.makeArgCLIHelp(defaults);
var helpText =
ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "dbikc");
var HEADER =
"Double Breasted Interrupted Key Cipher\nVersion: ${HelperConsts.DBIKC_VERSION}\n\n";
Arguments parsed = await CLIHelper.parseArgs(args, Arguments());
Arguments parsed = ArgumentParser.parse(args);
if (parsed.hasArg("help") || !parsed.hasArg("value")) {
print("$HEADER$helpText");
exit(0);

View file

@ -6,6 +6,7 @@
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';
@ -22,27 +23,27 @@ Future<int> main(List<String> args) async {
Arguments defaults = ArgumentsBuilder.builder()
.withArgument(BoolArgument(
name: "asc",
description: "Operate in ascending mode, smallest size listed first"))
name: "asc",
))
.withArgument(StringArgument(
name: "path",
value: "/",
description: "The path to generate a report for"))
.withArgument(
BoolArgument(name: "help", description: "Hey look! It's me!"))
.withArgument(StringArgument(
name: "out",
value: "file.html",
description:
"Where to place the report. If not specified, stdout is used"))
name: "path",
value: "/",
))
.withArgument(BoolArgument(
name: "nohtml",
description:
"Disables HTML generation and uses a plain text report instead."))
name: "help",
))
.withArgument(StringArgument(
name: "out",
value: "file.html",
))
.withArgument(BoolArgument(
name: "nohtml",
))
.build();
Arguments parsed = await CLIHelper.parseArgs(args, Arguments());
String helpTest = "$HEADER${CLIHelper.makeArgCLIHelp(defaults)}";
Arguments parsed = await ArgumentParser.parse(args);
String helpTest =
"$HEADER${ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "mkfsreport")}";
if (parsed.count == 0 || !parsed.hasArg("path") || parsed.hasArg("help")) {
print(helpTest);
@ -61,7 +62,7 @@ Future<int> main(List<String> args) async {
StringArgument pathArg = parsed.getArg("path") as StringArgument;
if (verbose) print("> Analyzing files...");
await getDirectorySize(pathArg.value,
await getDirectorySize(pathArg.getValue(),
cacheSize: true, recursive: true, verbose: parsed.hasArg("o"));
FileInformationCache FIC = FileInformationCache.obtain();
@ -79,12 +80,12 @@ Future<int> main(List<String> args) async {
if (verbose) {
StringArgument outputPath = parsed.getArg("out") as StringArgument;
await prnt("\n> Saving report...");
await File(outputPath.value).writeAsString(report);
await File(outputPath.getValue()).writeAsString(report);
await prnt("\n> Task Completed\n");
var size = await File(outputPath.value).length();
var size = await File(outputPath.getValue()).length();
FileInfo savedFile =
FileInfo(path: outputPath.value, size: size, isFile: true);
FileInfo(path: outputPath.getValue(), size: size, isFile: true);
await prnt("> Report file size: ${savedFile.toString()}\n\n");
} else {
print(report);

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);

View file

@ -1,3 +1,4 @@
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,17 +11,16 @@ Future<int> main(List<String> args) async {
"Registry Editor\nVersion: ${HelperConsts.REGEDIT_VERSION}\nUsing Bundled LibAC: ${Constants.VERSION}\nAuthor: Tara Piccari\n";
Arguments defaults = ArgumentsBuilder.builder()
.withArgument(BoolArgument(name: "help", description: "Oh hey it's me!"))
.withArgument(BoolArgument(
name: "add", description: "Add or update registry value"))
.withArgument(
BoolArgument(name: "del", description: "Delete Registry value"))
.withArgument(BoolArgument(name: "help"))
.withArgument(BoolArgument(name: "add"))
.withArgument(BoolArgument(name: "del"))
.build();
Arguments parsed = await CLIHelper.parseArgs(args, Arguments());
Arguments parsed = ArgumentParser.parse(args);
if (parsed.count == 0 || parsed.hasArg("help")) {
print("${HEADER}\n\n${CLIHelper.makeArgCLIHelp(defaults)}");
print(
"$HEADER\n\n${ArgumentHelpers.generateHelpMessage(defaults.getArgumentsList(), "regedit")}");
}
return 0;

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,23 @@ import 'package:libac_dart/nbt/NbtIo.dart';
import 'package:libac_dart/nbt/SnbtIo.dart';
import 'package:libac_dart/nbt/impl/CompoundTag.dart';
const HEADER =
var HEADER =
"snbt2nbt\nCopyright Piccari Creations 2024 - Tara Piccari\nVersion: ${HelperConsts.NBT_VERSION}\nPurpose: Converts the more readable stringified NBT to Named Binary Tag format\n\n";
void main(List<String> args) async {
Arguments usage = ArgumentsBuilder.builder()
.withArgument(
BoolArgument(name: "help", description: "Print this output"))
.withArgument(StringArgument(
name: "input", value: "%", description: "The input file to convert"))
.withArgument(StringArgument(
name: "out", value: "%", description: "The path to the output file."))
.withArgument(BoolArgument(
name: "compress",
description: "If supplied, compresses the output file"))
.withArgument(BoolArgument(name: "help"))
.withArgument(StringArgument(name: "input", value: "%"))
.withArgument(StringArgument(name: "out", value: "%"))
.withArgument(BoolArgument(name: "compress"))
.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(), "snbt2nbt"));
} else {
if (!vArgs.hasArg("input")) {
print(HEADER);

View file

@ -3,34 +3,34 @@ import 'dart:io';
import 'package:libac_dart/argparse/Args.dart';
import 'package:libac_dart/argparse/Builder.dart';
import 'package:libac_dart/argparse/CLIHelper.dart';
import 'package:libac_dart/argparse/Parser.dart';
import 'package:libac_dart/argparse/types/Bool.dart';
import 'package:libac_dart/utils/TimeUtils.dart';
import 'package:simplehelpertools/constants.dart';
Future<void> main(List<String> lArgs) async {
Arguments args = await CLIHelper.parseArgs(lArgs, Arguments());
Arguments args = ArgumentParser.parse(lArgs);
Arguments defaults = ArgumentsBuilder.builder()
.withArgument(BoolArgument(
name: "version", description: "Print the version information"))
.withArgument(
BoolArgument(name: "help", description: "Print this message"))
.withArgument(BoolArgument(
name: "silent",
description: "Only prints the timestamp and newline terminators"))
.withArgument(BoolArgument(name: "version"))
.withArgument(BoolArgument(name: "help"))
.withArgument(BoolArgument(name: "silent"))
.build();
if (args.hasArg("version") || args.hasArg("help"))
if (args.hasArg("version") || args.hasArg("help")) {
print(
"Timestamp\nVersion: ${HelperConsts.TIMESTAMP_VERSION}\nLibAC Version: ${HelperConsts.LIBAC_VERSION}\n\n");
}
if (args.hasArg("help")) {
print(CLIHelper.makeArgCLIHelp(defaults));
print(ArgumentHelpers.generateHelpMessage(
defaults.getArgumentsList(), "timestamp"));
exit(0);
}
if (args.hasArg("silent"))
if (args.hasArg("silent")) {
print("${TimeUtils.getUnixTimestamp()}");
else
} else {
print("Current unix timestamp is: ${TimeUtils.getUnixTimestamp()}");
}
}

View file

@ -1,7 +1,7 @@
import 'package:libac_dart/consts.dart';
class HelperConsts {
static const NBT_VERSION = "1.0.083024+1123";
static String get NBT_VERSION => Constants.NBT_REVISION;
static const MKFSREPORT_VERSION = "1.0.083024.2334";
static const DBIKC_VERSION = "1.0.083024+2334";
static const REGEDIT_VERSION = "1.0.083124+0235";

View file

@ -11,7 +11,7 @@ dependencies:
args: ^2.4.2
libac_dart:
hosted: https://git.zontreck.com/api/packages/AriasCreations/pub/
version: 1.3.010625+0228
version: 1.4.012225+0413
dev_dependencies:
lints: ^4.0.0