Popularity
6.8
Growing
Activity
4.1
Growing
20
2
4

Monthly Downloads: 53
Programming language: Haskell
License: BSD 2-clause "Simplified" License
Tags: System     User Interfaces    
Latest version: v1.1.0.1

byline alternatives and similar packages

Based on the "System" category.
Alternatively, view byline alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of byline or a related project?

Add another 'System' Package

README

Byline

CI GitHub tag (latest by date) Hackage

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 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 Using MonadByline

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")

[Demo](doc/demo.png)

Interfaces

  • The MTL interface lives in the [mtl](mtl) directory.

  • A fused-effects interface is forthcoming.