From 225ffd949c67664faceca9ab6d9b86b19a8a71dd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 11 Jun 2023 19:43:26 +0100 Subject: Add subparser for generating instructions --- src/main/java/org/shedlang/compiler/cli/ShedCli.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/main/java') 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.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, + } } -- cgit v1.2.3