Skip to content

cdornan/optparse-enum

Repository files navigation

optparse-enum

An enum-text based toolkit for optparse-applicative.

A simple but complete example:

{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingVia #-} {-# LANGUAGE OverloadedStrings #-} import Fmt import Text.Enum.Optparse import Paths_optparse_enum data Choice = C_version | C_hello deriving (Bounded,Enum,EnumText,Eq,Ord,Show) deriving (Buildable,TextParsable) via UsingEnumText Choice parserDetails :: ParserDetails parserDetails = ParserDetails { _pd_desc = "optparse-enum example program" , _pd_header = "A simple optparse-enum illustrative program" , _pd_footer = "See the optparse-enum page on Hackage for details" } main :: IO () main = do choice <- parseIO parserDetails enumSwitchesP case choice of C_version -> print version C_hello -> putStrLn "Hello!"

About

A optparse-applicative toolkit

Resources

License

Stars

Watchers

Forks

Packages

No packages published