on 5.16 help sign in

A high-level ncurses alternative written in Haskell

git clone ssh://git.iko.soy/vty

Build Status

vty is a terminal interface library. It provides a high-level interface for doing terminal I/O. Vty is supported on GHC versions 7.10.1 and up.

Install via git with:

git clone git://github.com/coreyoconnor/vty.git

Install via cabal with:

cabal install vty

Features

Platform Support

Posix Terminals

Uses terminfo to determine terminal protocol. With some special rules to handle some omissions from terminfo.

Windows

Unsupported (but contributions and testing here are very welcome!)

Contributing

If you decide to contribute, that's great! Here are some guidelines you should consider to make submitting patches easier for all concerned:

Development Notes

Under NixOS

Using cabal

After installing ncurses to the user environment:

LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal configure --enable-tests --extra-lib-dirs=$HOME/.nix-profile/lib
LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal build
LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal test

Code Coverage

As of last testing, profiling causes issues with coverage when enabled. To evaluate coverage, configure as follows:

rm -rf dist ; cabal configure --enable-tests --enable-library-coverage \
  --disable-library-profiling \
  --disable-executable-profiling

Profiling

rm -rf dist ; cabal configure --enable-tests --disable-library-coverage \
  --enable-library-profiling \
  --enable-executable-profiling

Known Issues

Sources

Good sources of documentation for terminal programming are: