diff --git a/cli/nbtcli.dart b/cli/nbtcli.dart new file mode 100644 index 0000000..d7908be --- /dev/null +++ b/cli/nbtcli.dart @@ -0,0 +1,33 @@ +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/argparse/types/String.dart'; +import 'package:nbteditor/Consts2.dart'; + +Future main(List args) async { + Arguments parsed = ArgumentParser.parse(args); + + if (parsed.hasArg("help") || parsed.count == 0) { + // Print help information + print( + "NBT Editor Command Line Interface\nCopyright 2025 Piccari Creations\nLicensed under the GPL\nVersion: ${VERSION}\n\n"); + + var defaults = ArgumentsBuilder.builder() + .withArgument(BoolArgument(name: "help", value: null)) + .withArgument(StringArgument(name: "path", value: "/")) + .withArgument(StringArgument(name: "value", value: null)) + .withArgument(BoolArgument(name: "add", value: null)) + .withArgument(BoolArgument(name: "remove", value: null)) + .withArgument(BoolArgument(name: "update", value: null)) + .withArgument(BoolArgument(name: "dryrun", value: null)) + .build(); + + print(ArgumentHelpers.generateHelpMessage( + defaults.getArgumentsList(), "nbteditor-cli")); + return 0; + } + + return 0; +} diff --git a/compile.bat b/compile.bat index 7bb0825..0292684 100644 --- a/compile.bat +++ b/compile.bat @@ -3,4 +3,8 @@ call flutter pub get call flutter build windows +mkdir out + +call dart compile exe -o out\nbteditor-cli.exe cli/nbtcli.dart + iscc wininst.iss \ No newline at end of file diff --git a/compile.sh b/compile.sh index ee5d42d..5971e90 100755 --- a/compile.sh +++ b/compile.sh @@ -2,3 +2,10 @@ flutter build linux flutter build apk + +if [ ! -d out ] +then + mkdir out +fi + +dart compile exe -o out/nbteditor-cli cli/nbtcli.dart