ui-command

A Haskell framework for friendly commandline programs

OTHER License

Stars
7

UI.Command is a Haskell library for building commandline programs which have subcommands.

This is common with revision control systems (cvs, svn, darcs, git etc.)

UI.Command includes the following features:

Automatic generation of help text
Generation of manual pages
Examples
Checking of example syntax

When you use a GUI program, you expect consistent behaviour:

* Title
* Menus listing available options
* Help

Many GUI toolkits exist to make this task easier.

UI.Command is a toolkit for developing commandline programs with consistent behaviour.

It is useful for modern commandline programs to have consistent behavior:

* Print their name and usage information
* Explain options
* Provide clear, consistent documentation in various formats
* Provide contact details for submitting bug reports and feature requests

There are many good reasons for developing a commandline version of your program:

  • Accessibility: Many blind users prefer to use a commandline version of software if available
  • Automation: Commandline tools can be easily used in scripts. You may not think it is useful
    to automate your software, but your power users might!

If you have developed a library, UI.Command provides a useful framework for demonstrating the library features.

Developers

ui-command is maintained in git at http://github.com/kfish/ui-command.git

A list of outstanding tasks is maintained in the TODO file of this source distribution. When implementing anything listed in this file, please update it by deleting that entry, and include that as part of the patch or commit that implements the fix.

Contact

For technical and other queries, please contact the author:

Conrad Parker [email protected] (kfish on #haskell on Freenode).