packages feed

cmdtheline-0.2.3: cmdtheline.cabal

Name: cmdtheline
Version: 0.2.3
Synopsis: Declarative command-line option parsing and documentation library.
Description:
  CmdTheLine aims to remove tedium from the definition of command-line
  programs, producing usage and help with little effort.
  .
  The inspiration was found in Daniel Bunzli's
  <http://erratique.ch/software/cmdliner> library.
  .
  CmdTheLine uses applicative functors to provide a declarative, compositional
  mechanism for defining command-line programs by lifting regular Haskell
  functions over argument parsers.
  .
  A tutorial can be found at
  <http://elifrey.com/2012/07/23/CmdTheLine-Tutorial/>.
  .
  Suggestions, comments, and bug reports are appreciated. Please see the
  bug and issue tracker at <http://github.com/eli-frey/cmdtheline>.
  .
  Changes since 0.1:
  .
  * More type safety: Types in CmdTheLine.Arg have been made more explicit to
    disalow unwanted behavior.  Positional argument information and optional
    argument information are distinguished from each other.  As well 'Arg's must
    be transformed into 'Term' before use, as some operations make since to
    perform on 'Arg' but not on 'Term'.
  .
  * ArgVal has only one method: 'parser' and 'pp' have been fused into a tuple, so
    that instantiation of 'ArgVal' can be simplified for all parties.
  .
  * Err is an instance of MonadIO:  The 'Err' monad now supports IO action.
  .
  * File and Directory path validation:  Taking advantage of new 'Err'
    capabilities, the library provides new functions for validating 'String's
    inside of 'Term's as being valid\/existent file\/directory paths.
  .
  Changes since 0.2.0:
  .
  * Test friendly 'unwrap' functions:  To allow the testing of terms, there are
    now two new functions exported with System.Console.CmdTheLine.Term, 'unwrap'
    and 'unwrapChoice'.  As well a datatype representing cause of early exit,
    'EvalExit' is exported.
  .
  Changes since 0.2.1
  .
  * Added adapter for interfacing with Getopt in module
    'System.Console.CmdTheLine'.

Homepage:      http://github.com/eli-frey/cmdtheline
License:       MIT
License-file:  LICENSE
Author:        Eli Frey
Maintainer:    Eli Frey <eli.lee.frey gmail com>
Stability:     Experimental
Category:      Console
Cabal-version: >=1.8
Build-type:    Simple

Extra-source-files: doc/examples/*.hs, README.md

Source-repository head
  type:     git
  location: git://github.com/eli-frey/cmdtheline.git

Library
  hs-source-dirs: src
  extensions:     FlexibleInstances
  build-depends:  base >= 4.5 && < 5, containers >= 0.4 && < 0.6,
                  parsec >= 3.1 && < 3.2, pretty >= 1.1 && < 1.2,
                  process >= 1.1, directory >= 1.1,
                  transformers >= 0.2 && < 0.4, filepath >= 1.3 && < 1.4

  exposed-modules: System.Console.CmdTheLine,
                   System.Console.CmdTheLine.Arg,
                   System.Console.CmdTheLine.ArgVal,
                   System.Console.CmdTheLine.Term,
                   System.Console.CmdTheLine.Util
                   System.Console.CmdTheLine.GetOpt

  other-modules:   System.Console.CmdTheLine.Common,
                   System.Console.CmdTheLine.Err,
                   System.Console.CmdTheLine.Help,
                   System.Console.CmdTheLine.Trie,
                   System.Console.CmdTheLine.Manpage,
                   System.Console.CmdTheLine.CmdLine

test-suite Main
  type:          exitcode-stdio-1.0
  build-depends: base >= 4 && < 5, HUnit  >= 1.2.4 && < 2,
                 test-framework >= 0.6 && < 0.9,
                 test-framework-hunit >= 0.2 && < 0.4,
                 containers >= 0.4 && < 0.6,
                 parsec >= 3.1 && < 3.2, pretty >= 1.1 && < 1.2,
                 process >= 1.1, directory >= 1.1,
                 transformers >= 0.2 && < 0.4, filepath >= 1.3 && < 1.4
  ghc-options:   -Wall -Werror -fno-warn-name-shadowing -rtsopts
  hs-source-dirs: src, test
  main-is:        Main.hs
  other-modules:  Arith,
                  Cipher,
                  CP,
                  Fail,
                  FizzBuzz,
                  Grep,
                  Hello