byline: Library for creating command-line interfaces (colors, menus, etc.)
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.
Byline simplifies writing interactive command-line applications by
building upon ansi-terminal
and haskeline
. This makes it
possible to print messages and prompts that include terminal escape
sequences (such as setting text colors) that are automatically
disabled when standard input is a file. It also means that Byline
works on both POSIX-compatible systems and on Windows.
The primary features of Byline include printing messages, prompting
for input, and generating custom menus. It was inspired by the
highline
Ruby library and the terminal
library by Craig Roche.
Example
example :: MonadByline m => m Text example = do sayLn ("Hey, I like " <> ("Haskell" <> fg magenta) <> "!") let question = "What's " <> ("your" <> bold) <> " favorite " <> ("language" <> fg green <> underline) <> "? " askLn question (Just "Haskell")
[Skip to Readme]
Properties
Versions | 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.2.4.0, 0.3.0.0, 0.3.1.0, 0.3.2.0, 0.3.2.1, 0.4.0.0, 1.0.0.0, 1.1.0.0, 1.1.0.1, 1.1.1, 1.1.1, 1.1.2 |
---|---|
Change log | CHANGES.md |
Dependencies | ansi-terminal (>=0.6 && <0.12), attoparsec (>=0.13 && <0.15), base (>=4.9 && <5.0), byline, colour (>=2.3 && <2.4), exceptions (>=0.8 && <0.11), free (>=5.1 && <5.2), haskeline (>=0.8 && <0.8.2), mtl (>=2.1 && <2.3), optparse-applicative (>=0.16 && <0.17), relude (>=0.6 && <1.1), terminfo-hs (>=0.1 && <0.3), text (>=0.11 && <1.3) [details] |
License | BSD-2-Clause |
Copyright | Copyright: (c) 2015-2021 Peter J. Jones |
Author | Peter Jones <pjones@devalot.com> |
Maintainer | Peter Jones <pjones@devalot.com> |
Category | System, User Interfaces |
Home page | https://github.com/pjones/byline |
Bug tracker | https://github.com/pjones/byline/issues |
Source repo | head: git clone https://github.com/pjones/byline.git |
Uploaded | by PeterJones at 2021-06-02T19:05:10Z |
Modules
[Index] [Quick Jump]
- Byline
- Byline.Completion
- Byline.Exit
- Internal
- Byline.Internal.Color
- Byline.Internal.Completion
- Byline.Internal.Eval
- Byline.Internal.Prim
- Byline.Internal.Simulation
- Byline.Internal.Stylized
- Byline.Internal.Types
- Byline.Menu
- Byline.Shell
- Byline.Simulation
Flags
Manual Flags
Name | Description | Default |
---|---|---|
build-examples | Build examples when building the library. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- byline-1.1.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees