on master help sign in
README: format and content improvements
commita69c4b8a045dd2d1e61b5ce4c77eb6ddb33ac955 authorJonathan Daugherty <cygnus@foobox.com> dateSat 21 Jan 2017, 20:19 (10 years ago) parent77bcba3
1 file changed+35−33
README.md+35−33
README.md+35−33
@@ -1,8 +1,7 @@
11[![Build Status](https://travis-ci.org/jtdaugherty/vty.png)](https://travis-ci.org/jtdaugherty/vty)
22
3−`vty` is a terminal interface library.
4−
5−This project is hosted on github.com: https://github.com/jtdaugherty/vty
3+`vty` is a terminal interface library. It provides a high-level
4+interface for doing terminal I/O.
65
76Install via `git` with:
87
@@ -18,55 +17,59 @@ cabal install vty
1817
1918# Features
2019
21−* Support for a large number of terminals. vt100, ansi, hurd, linux, screen etc
22− etc. Anything with a sufficient terminfo entry.
20+* Supports a large number of terminals. vt100, ansi, hurd, linux,
21+ screen, etc., or anything with a sufficient terminfo entry.
2322
2423* Automatic handling of window resizes.
2524
26−* If the terminal support UTF-8 then vty supports Unicode output.
25+* Unicode output on terminals with UTF-8 support.
2726
28−* Handles multi-column glyphs. (Requires user to properly configure terminal.)
27+* Handles multi-column glyphs. (Requires user to properly configure
28+ terminal.)
2929
30−* Efficient output. Output buffering and terminal state changes are minimized.
30+* Efficient output. Output buffering and terminal state changes are
31+ minimized.
3132
32−* Minimizes repaint area. Virtually eliminating the flicker problems that
33− plagues ncurses programs.
33+* Minimizes repaint area, which virtually eliminates the flicker
34+ problems that plague ncurses programs.
3435
35−* A pure, compositional interface for efficiently constructing display images.
36+* A pure, compositional interface for efficiently constructing display
37+ images.
3638
3739* Automatically decodes keyboard keys into (key,[modifier]) tuples.
3840
3941* Automatically supports refresh on Ctrl-L.
4042
41−* Automatically supports timeout after for lone ESC. The timeout is
43+* Supports a keypress timeout after for lone ESC. The timeout is
4244 customizable.
4345
44−* Interface is designed for easy compatible extension.
46+* The interface is designed for easy extension.
4547
46−* Supports ANSI graphics modes (SGR as defined in console_codes(4)) with a
47− type-safe interface. Gracefull fallback for terminals that do not support, or
48− partially support the standard ANSI graphics modes.
48+* Supports ANSI graphics modes (SGR as defined in `console_codes(4)`)
49+ with a type-safe interface and graceful fallback for terminals
50+ with limited or nonexistent support for such modes.
4951
50−* Properly handles cleanup, but not due to signals.
52+* Properly handles cleanup (but not due to signals).
5153
52−* Comprehensive test suite.
54+* Provides a comprehensive test suite.
5355
5456# Known Issues
5557
56−* Terminals have numerous quirks and bugs. vty picks what works best for the
57− author in ambigious, or buggy situations.
58+* Terminals have numerous quirks and bugs. Vty picks what works best for
59+ the author in ambiguous or buggy situations.
5860
59−* Signal handling of STOP, TERM and INT are non existent.
61+* Signal handling of STOP, TERM and INT are nonexistent.
6062
6163* The character encoding of the terminal is assumed to be UTF-8 if
6264 unicode is used.
6365
64−* Terminfo is assumed to be correct unless there is an override configured.
65− Some terminals will not have correct special key support (shifted F10 etc).
66− See Config for customizing vty's behavior for a particular terminal.
66+* Terminfo is assumed to be correct unless there is an override
67+ configured. Some terminals will not have correct special key support
68+ (shifted F10 etc). See `Config` for customizing vty's behavior for a
69+ particular terminal.
6770
68−* Uses the TIOCGWINSZ ioctl to find the current window size, which appears to be
69− limited to Linux and BSD.
71+* Uses the `TIOCGWINSZ` ioctl to find the current window size, which
72+ appears to be limited to Linux and BSD.
7073
7174* Supports "normal" and "extended" (SGR) mouse modes as described at
7275 http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
@@ -78,8 +81,8 @@ cabal install vty
7881
7982## Posix Terminals
8083
81−Uses terminfo to determine terminal protocol. With some special rules to handle
82−some omissions from terminfo.
84+Uses terminfo to determine terminal protocol. With some special rules to
85+handle some omissions from terminfo.
8386
8487## Windows
8588
@@ -91,7 +94,7 @@ Unsupported (but contributions and testing here are very welcome!)
9194
9295### Using cabal
9396
94−After installing ncurses to user env.
97+After installing `ncurses` to the user environment:
9598
9699~~~
97100LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal configure --enable-tests --extra-lib-dirs=$HOME/.nix-profile/lib
@@ -99,10 +102,10 @@ LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal build
99102LIBRARY_PATH=$HOME/.nix-profile/lib/ cabal test
100103~~~
101104
102−## Coverage
105+## Code Coverage
103106
104−As of last testing, profiling causes issues with coverage when enabled. To
105−evaluate coverage configure as follows:
107+As of last testing, profiling causes issues with coverage when enabled.
108+To evaluate coverage, configure as follows:
106109
107110~~~
108111rm -rf dist ; cabal configure --enable-tests --enable-library-coverage \
@@ -112,7 +115,6 @@ rm -rf dist ; cabal configure --enable-tests --enable-library-coverage \
112115
113116## Profiling
114117
115−
116118~~~
117119rm -rf dist ; cabal configure --enable-tests --disable-library-coverage \
118120 --enable-library-profiling \