From 874be6e6a13b89a87012af9d295d864632ad7cd6 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Sun, 5 Oct 2025 01:02:31 -0400 Subject: Add fig-cli --- fig-cli/src/Fig/CLI.hs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 fig-cli/src/Fig/CLI.hs (limited to 'fig-cli/src/Fig') diff --git a/fig-cli/src/Fig/CLI.hs b/fig-cli/src/Fig/CLI.hs new file mode 100644 index 0000000..36df60d --- /dev/null +++ b/fig-cli/src/Fig/CLI.hs @@ -0,0 +1,27 @@ +{-# Language ApplicativeDo #-} + +module Fig.CLI where + +import Fig.Prelude + +import Options.Applicative + +import Fig.Utils.SExpr + +newtype Opts = Opts + { sexpr :: Text + } + +parseOpts :: Parser Opts +parseOpts = do + sexpr <- strArgument (metavar "SEXPR" <> help "S-expression to parse") + pure Opts{..} + +main :: IO () +main = do + opts <- execParser $ info (parseOpts <**> helper) + ( fullDesc + <> Options.Applicative.header "fig-cli - assorted tools" + ) + let sexp = parseSExpr opts.sexpr + log $ tshow (sexp, pretty <$> sexp) -- cgit v1.2.3