Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Git/Perforce/SVN style command line argument parser
Haskell Shell
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
CmdArgs.hs
README
Test.hs
Test2.hs
run_tests.sh

README

Git/Perforce style command line parser
======================================

*** NOTE *** This parser has been more of a Haskell practice for me
    than making something universally useful.  If you need a
    multi-mode command line parser with nice syntax & ease of use, I'd
    recommend studying the following:

    http://community.haskell.org/~ndm/cmdargs/

 * * *

The goal is to parse command line parameters for programs that have
the following command line syntax:

<app> <global-args,...> <command>  <command specific args> <files...>

An example of an app that uses such a syntax is git:

git --no-pager add --update file.c

The command line libraries I have seen for Haskell and other languages
tend not to support this nicely.

Other design considerations
---------------------------

The below considerations are aimed to make the library and its usage
simple.

This library will NOT support single character switches.  Only GNU
style --long parameters are supported.

This library will not support any type of automatic help message
generation or printing.  The reasoning is that help messages are
rather easy to print with simple putStrLn's.  Requiring help strings
slows down quick prototyping and makes command line argument
declaration cumbersome.
Something went wrong with that request. Please try again.