Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 56 lines (36 sloc) 1.779 kB
73e5079 @kfish initial commit: subcommand adapted from hogg/clf
authored
1
4daa807 @kfish add some haddock docs
authored
2 UI.Command is a Haskell library for building commandline programs which have subcommands.
73e5079 @kfish initial commit: subcommand adapted from hogg/clf
authored
3
4 This is common with revision control systems (cvs, svn, darcs, git etc.)
5
4daa807 @kfish add some haddock docs
authored
6 UI.Command includes the following features:
73e5079 @kfish initial commit: subcommand adapted from hogg/clf
authored
7
8 Automatic generation of help text
9 Generation of manual pages
10 Examples
11 Checking of example syntax
12
13 When you use a GUI program, you expect consistent behaviour:
14
15 * Title
16 * Menus listing available options
17 * Help
18
19 Many GUI toolkits exist to make this task easier.
20
4daa807 @kfish add some haddock docs
authored
21 UI.Command is a toolkit for developing commandline programs with consistent behaviour.
73e5079 @kfish initial commit: subcommand adapted from hogg/clf
authored
22
23 It is useful for modern commandline programs to have consistent behavior:
24
25 * Print their name and usage information
26 * Explain options
27 * Provide clear, consistent documentation in various formats
28 * Provide contact details for submitting bug reports and feature requests
29
30 There are many good reasons for developing a commandline version of your program:
31
32 * Accessibility: Many blind users prefer to use a commandline version of software if available
33 * Automation: Commandline tools can be easily used in scripts. You may not think it is useful
34 to automate your software, but your power users might!
35
44ecdfd @kfish rename SubCommand to Command throughout
authored
36 If you have developed a library, UI.Command provides a useful framework for demonstrating the
73e5079 @kfish initial commit: subcommand adapted from hogg/clf
authored
37 library features.
c14eb48 @kfish README: add project communication info
authored
38
39 Developers
40 ----------
41
42 ui-command is maintained in git at http://github.com/kfish/ui-command.git
43
44 A list of outstanding tasks is maintained in the TODO file of this source
45 distribution. When implementing anything listed in this file, please update
46 it by deleting that entry, and include that as part of the patch or commit
47 that implements the fix.
48
49 Contact
50 -------
51
52 For technical and other queries, please contact the author:
53
54 Conrad Parker <conrad@metadecks.org>
55 (kfish on #haskell on Freenode).
Something went wrong with that request. Please try again.