diff options
Diffstat (limited to 'fig-cli/src/Fig/CLI.hs')
| -rw-r--r-- | fig-cli/src/Fig/CLI.hs | 27 |
1 files changed, 27 insertions, 0 deletions
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) |
