1
1
{-# LANGUAGE ApplicativeDo #-}
2
2
{-# LANGUAGE DerivingStrategies #-}
3
+ {-# LANGUAGE QuasiQuotes #-}
3
4
{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
5
+
4
6
{-# HLINT ignore "Avoid lambda" #-}
5
- {-# OPTIONS_GHC -Wno-unused-imports #-}
6
7
7
8
module Options
8
9
( Command (.. )
@@ -24,6 +25,7 @@ import Core.Types.MPFS (mpfsClientOption)
24
25
import Core.Types.Mnemonics.Options (queryConsole )
25
26
import Data.ByteString.Char8 qualified as B
26
27
import Data.Functor (($>) )
28
+ import Data.String.QQ (s )
27
29
import Data.Text (Text )
28
30
import Data.Text qualified as T
29
31
import Data.Text.Encoding qualified as T
@@ -161,11 +163,32 @@ testRunSelectionParser =
161
163
optionsParser :: Parser (Box Options )
162
164
optionsParser = fmapBox Options <$> commandParser
163
165
166
+ intro :: String
167
+ intro =
168
+ [s |
169
+ anti - A tool for managing Antithesis test runs on Cardano
170
+
171
+ This tool is used by all 3 roles in the Cardano to Antithesis interface.
172
+ The roles are:
173
+ - Requester: Requests test runs on Antithesis
174
+ - Agent: Manage test runs on Antithesis
175
+ - Oracle: Manages the interface state database (see oracle-anti for an automated oracle process)
176
+
177
+ Each role has a set of commands that can be used to manage their respective
178
+ operations. Use the --help flag to see the available commands and options.
179
+
180
+ To get bash cli completion use
181
+
182
+ > source <(anti --bash-completion-script "$(which anti)")
183
+
184
+ Fish and zsh completions are also available.
185
+ |]
186
+
164
187
parseArgs :: Version -> IO (Box Options )
165
188
parseArgs version =
166
189
runParser
167
190
version
168
- " anti - A tool for managing Antithesis test runs "
191
+ intro
169
192
optionsParser
170
193
171
194
retractRequestOptions :: Parser (Box Command )
0 commit comments