vty: A simple terminal UI library

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.

[maintain] [Publish]

Warnings:

vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use, have no confusing corner cases, and good support for common terminal types.

See the vty-examples package as well as the program test/interactive_terminal_test.hs included in the vty package for examples on how to use the library.

Import the Graphics.Vty convenience module to get access to the core parts of the library.

© 2006-2007 Stefan O'Rear; BSD3 license.

© Corey O'Connor; BSD3 license.

© Jonathan Daugherty; BSD3 license.


[Skip to Readme]

Properties

Versions 3.0.0, 3.0.1, 3.0.2, 3.0.4, 3.1.0, 3.1.2, 3.1.4, 3.1.6, 3.1.8, 3.1.8.2, 3.1.8.4, 4.0.0, 4.0.0.1, 4.2.1.0, 4.4.0.0, 4.4.0.0.1, 4.6.0.1, 4.6.0.2, 4.6.0.4, 4.6.0.6, 4.7.0.0, 4.7.0.4, 4.7.0.6, 4.7.0.8, 4.7.0.10, 4.7.0.12, 4.7.0.14, 4.7.0.18, 4.7.0.20, 4.7.1, 4.7.2, 4.7.3, 4.7.4, 4.7.5, 5.0.0, 5.0.1, 5.0.2, 5.1.0, 5.1.1, 5.1.3, 5.1.4, 5.2.0, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5, 5.2.6, 5.2.7, 5.2.8, 5.2.9, 5.2.10, 5.2.11, 5.3, 5.3.1, 5.4.0, 5.5.0, 5.6, 5.7, 5.7.1, 5.8, 5.8.1, 5.9, 5.9.1, 5.10, 5.11, 5.11.1, 5.11.2, 5.11.3, 5.12, 5.13, 5.14, 5.15, 5.15.1, 5.16, 5.17, 5.17.1, 5.18, 5.18, 5.18.1, 5.19, 5.19.1, 5.19.2, 5.20, 5.21, 5.22, 5.23, 5.23.1, 5.24, 5.24.1, 5.25, 5.25.1, 5.26, 5.27, 5.28, 5.28.1, 5.28.2, 5.29, 5.30, 5.31, 5.32, 5.33, 5.34, 5.35, 5.35.1, 5.36, 5.37, 5.38, 5.39, 6.0, 6.1, 6.2
Change log CHANGELOG.md
Dependencies base (>=4.8 && <5), blaze-builder (>=0.3.3.2 && <0.5), bytestring, containers, deepseq (>=1.1 && <1.5), directory, filepath (>=1.0 && <2.0), hashable (>=1.2), microlens, microlens-mtl, microlens-th, mtl (>=1.1.1.0 && <2.3), parallel (>=2.2 && <3.3), parsec (>=2 && <4), stm, terminfo (>=0.3 && <0.5), text (>=0.11.3), transformers (>=0.3.0.0), unix, utf8-string (>=0.3 && <1.1), vector (>=0.7), vty [details]
License BSD-3-Clause
Author AUTHORS
Maintainer Jonathan Daugherty (cygnus@foobox.com)
Category User Interfaces
Home page https://github.com/jtdaugherty/vty
Source repo head: git clone https://github.com/jtdaugherty/vty.git
Uploaded by JonathanDaugherty at 2017-10-06T20:07:37Z

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for vty-5.18

[back to package description]

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: