Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kfish/ui-command

A Haskell framework for friendly commandline programs
https://github.com/kfish/ui-command

Last synced: 2 months ago
JSON representation

A Haskell framework for friendly commandline programs

Awesome Lists containing this project

README

        

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
(kfish on #haskell on Freenode).