diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-11 19:43:26 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-11 19:43:26 +0100 |
| commit | 225ffd949c67664faceca9ab6d9b86b19a8a71dd (patch) | |
| tree | df5b29fa3daddcfe40aaf91469d42a3f7fe08a64 /src/main/java | |
| parent | e088b0ef3f7d76e7b7a81db9594524392147c596 (diff) | |
Add subparser for generating instructions
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/cli/ShedCli.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/org/shedlang/compiler/cli/ShedCli.java b/src/main/java/org/shedlang/compiler/cli/ShedCli.java index e4955200..169e6e7f 100644 --- a/src/main/java/org/shedlang/compiler/cli/ShedCli.java +++ b/src/main/java/org/shedlang/compiler/cli/ShedCli.java @@ -25,14 +25,24 @@ public class ShedCli { var sourcePath = Paths.get(args.getString("source")); var compiler = new ShedCompiler(); - compiler.compile(sourcePath); + + switch (args.<Command>get("command")) { + case GENERATE_INSTRUCTIONS -> { + compiler.compile(sourcePath); + } + } + } private static Namespace parseArgs(String[] args) { var parser = ArgumentParsers.newFor("shed").build() .defaultHelp(true); - parser.addArgument("source").required(true); + var subparsers = parser.addSubparsers(); + + var generateInstructionsSubParser = subparsers.addParser("generate-instructions"); + generateInstructionsSubParser.setDefault("command", Command.GENERATE_INSTRUCTIONS); + generateInstructionsSubParser.addArgument("source").required(true); try { return parser.parseArgs(args); @@ -42,4 +52,8 @@ public class ShedCli { throw new RuntimeException(e); } } + + private enum Command { + GENERATE_INSTRUCTIONS, + } } |
