summaryrefslogtreecommitdiff
path: root/app/SlackBuilder/CommandLine.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2023-08-09 20:59:42 +0200
committerEugen Wissner <belka@caraus.de>2023-08-09 20:59:42 +0200
commit43ebbc5e6705d2cf86650f1918e28b9b7e94406d (patch)
treeaa82dd1f7bf02aa2107994b6031498a87aaede3f /app/SlackBuilder/CommandLine.hs
parent69ba04a7314aa5750a5fedbb9533cf775486870f (diff)
downloadslackbuilder-43ebbc5e6705d2cf86650f1918e28b9b7e94406d.tar.gz
Use TOML configuration
Diffstat (limited to 'app/SlackBuilder/CommandLine.hs')
-rw-r--r--app/SlackBuilder/CommandLine.hs15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/SlackBuilder/CommandLine.hs b/app/SlackBuilder/CommandLine.hs
index 2459bb5..5680c81 100644
--- a/app/SlackBuilder/CommandLine.hs
+++ b/app/SlackBuilder/CommandLine.hs
@@ -1,5 +1,6 @@
module SlackBuilder.CommandLine
- ( SlackBuilderCommand(..)
+ ( GhArguments(..)
+ , SlackBuilderCommand(..)
, PackagistArguments(..)
, TextArguments(..)
, slackBuilderParser
@@ -21,12 +22,18 @@ import Options.Applicative
data SlackBuilderCommand
= PackagistCommand PackagistArguments
| TextCommand TextArguments
+ | GhCommand GhArguments
data PackagistArguments = PackagistArguments
{ vendor :: Text
, name :: Text
} deriving (Eq, Show)
+data GhArguments = GhArguments
+ { owner :: Text
+ , name :: Text
+ } deriving (Eq, Show)
+
newtype TextArguments = TextArguments Text
packagistArguments :: Parser PackagistArguments
@@ -37,6 +44,11 @@ packagistArguments = PackagistArguments
textArguments :: Parser TextArguments
textArguments = TextArguments <$> argument str (metavar "URL")
+ghArguments :: Parser GhArguments
+ghArguments = GhArguments
+ <$> argument str (metavar "OWNER")
+ <*> argument str (metavar "NAME")
+
slackBuilderParser :: ParserInfo SlackBuilderCommand
slackBuilderParser = info slackBuilderCommand fullDesc
@@ -44,3 +56,4 @@ slackBuilderCommand :: Parser SlackBuilderCommand
slackBuilderCommand = subparser
$ command "packagist" (info (PackagistCommand <$> packagistArguments) mempty)
<> command "text" (info (TextCommand <$> textArguments) mempty)
+ <> command "github" (info (GhCommand <$> ghArguments) mempty)