https://github.com/passy/optparse-text
Helpers for optparse-applicative to deal with Data.Text
https://github.com/passy/optparse-text
Last synced: about 1 year ago
JSON representation
Helpers for optparse-applicative to deal with Data.Text
- Host: GitHub
- URL: https://github.com/passy/optparse-text
- Owner: passy
- License: bsd-3-clause
- Created: 2016-06-25T19:18:54.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-07-05T18:13:50.000Z (about 8 years ago)
- Last Synced: 2024-04-24T16:10:19.641Z (over 2 years ago)
- Language: Haskell
- Homepage: http://stackage.org/nightly/package/optparse-text
- Size: 14.6 KB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# optparse-text
[](https://travis-ci.org/passy/optparse-text)
[](https://hackage.haskell.org/package/optparse-text)
[](http://stackage.org/lts/package/optparse-text)
[](http://stackage.org/nightly/package/optparse-text)
> Helpers for
> [`optparse-applicative`](https://hackage.haskell.org/package/optparse-applicative)
> to deal with [`Data.Text`](https://hackage.haskell.org/package/text).
## Example
```haskell
import qualified Data.Text as T
import qualified Options.Applicative as Opt
import qualified Options.Applicative.Text as OptT
data Options = Options { text :: T.Text
, textArg :: T.Text
, textOpt :: T.Text }
deriving (Eq, Show)
optParser :: Opt.Parser Options
optParser = Options <$> Opt.argument OptT.text ( Opt.metavar "TEXT" )
<*> OptT.textArgument ( Opt.metavar "TEXT2" )
<*> OptT.textOption ( Opt.long "textopt" )
```
## Alternatives
You may want to consider using
[optparse-generic](https://github.com/Gabriel439/Haskell-Optparse-Generic-Library)
which has built-in support for Text and provides a very convient generic
interface to optparse avoiding a lot of boilerplate.