byline alternatives and similar packages
Based on the "System" category.
Alternatively, view byline alternatives based on common mentions on social networks and blogs.
-
taffybar
A gtk based status bar for tiling window managers such as XMonad -
nix-deploy
Deploy software or an entire NixOS system configuration to another NixOS system -
optparse-generic
Auto-generate a command-line parser for your datatype -
ghc-hotswap
Example code for how we swap compiled code within a running Haskell process. -
hapistrano
Deploy tool for Haskell applications, like Capistrano for Rails -
typed-process
Alternative API for processes, featuring more type safety -
system-fileio
Contains the system-filepath and system-fileio packages -
language-puppet
A library to work with Puppet manifests, test them and eventually replace everything ruby. -
openssh-github-keys
Control SSH access to your servers via GitHub teams -
plugins
Dynamic linking and runtime evaluation of Haskell, and C, including dependency chasing and package resolution. -
ascii-progress
A simple Haskell progress bar for the console. Heavily borrows from TJ Holowaychuk's Node.JS project -
directory-contents
Recursively build a tree of directory contents, avoiding symlink cycles
Static code analysis for 29 languages.
Do you think we are missing an alternative of byline or a related project?
README
Byline
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.