The cli-builder package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Please see README.md


[Skip to ReadMe]

Properties

Versions0.1.0, 0.1.0
Change logNone available
Dependenciesbase (>=4.7 && <5), either, exceptions (>=0.8.0.2), optparse-applicative (>=0.12 && <0.14), transformers (>=0.3.0.0 && <0.6) [details]
LicenseMIT
Copyright2016 uecmma
Authoruecmma
Maintainerdeveloper@mma.club.uec.ac.jp
CategoryTool
Home pagehttps://github.com/uecmma/haskell-library-collections/tree/master/cli-builder
Bug trackerhttps://github.com/uecmma/haskell-library-collections/issues
Source repositoryhead: git clone git+https://gitlab.mma.club.uec.ac.jp/uecmma/haskell-library-collections.git
UploadedWed Nov 9 09:51:11 UTC 2016 by mizunashi_mana

Modules

Flags

NameDescriptionDefaultType
test-doctestEnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for cli-builder-0.1.0

CLI Builder

This packages contains builders to make cli application easily based optparse-applicative.

Getting Started

Here is a simple example:

{-# LANGUAGE RecordWildCards #-}

import System.CLI.Builder

data Options = Options
  { isSampleOption :: Bool
  } deriving (Eq, Show)

optionsParser :: OptionParser Options
optionsParser = Options
  <$> switch (long "sample" <> help "Sample switch")

cliInfo :: CLIInfo
cliInfo = baseCLIInfo "Simple CLI" "Example for simple CLI"

run :: Options -> IO ()
run Options{..} = do
  putStrLn "Sample application"
  putStrLn $ "Is sample: " ++ show isSampleOption

main :: IO ()
main = buildSimpleCLI cliInfo optionsParser run

This action is such as:

$ sampleApp
Sample application
Is sample: False
$ sampleApp --sample
Sample application
Is sample: True
$ sampleApp --help
Simple CLI

Usage: <interactive> [--help]
  Example for simple CLI

Available options:
  --help                   Show this help text
  --sample                 Sample switch

For more examples, see examples.