2013-05-31 10 views
6

cmdArgs package dla Haskell zapewniają parsowanie opcji poleceń.cmdArgs zakończenia bash

oparte na tej stronie od docs http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/System-Console-CmdArgs-Explicit.html#g:4 i jej źródła http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/src/System-Console-CmdArgs-Explicit-Complete.html#Complete

Wydaje stanie wspierać realizację bash, ale nie był w stanie się ono do niejawnego wersji parsera. http://hackage.haskell.org/packages/archive/cmdargs/0.10.3/doc/html/System-Console-CmdArgs-Implicit.html

Czy ktoś ma przykład tego?

Edit dodał lepszy przykład

jeśli masz program

{-# LANGUAGE DeriveDataTypeable #-} 
import System.Console.CmdArgs 

data Sample = Sample {hello :: String} 
       deriving (Show, Data, Typeable) 

sample = Sample{hello = def} 

main = print =<< cmdArgs sample 

z analizuje następujące opcje

The sample program 

sample [OPTIONS] 

Common flags: 
    -h --hello=ITEM 
    -? --help  Display help message 
    -V --version  Print version information 

w jaki sposób korzystać z funkcji zakończenia bash z cmdArgs?

+1

Czy możesz wyjaśnić, czego szukasz? Dokumenty, do których jesteś podłączony, zawierają krótki przykład. – jozefg

+0

Dodałem trochę więcej informacji –

Odpowiedz

5

Aby korzystać z zakończenia bash, skompilować powyższy program jako sample umieścić sample na $PATH następnie uruchomić:

sample --help=bash > sample.comp 
source sample.comp 

Teraz można wpisać sample --ver, naciśnij kartę i będzie ukończyć do sample --version.

Istnieje kilka nieelastyczności w zakończeniu, w szczególności program musi być na twoim $PATH, a jeśli używasz Windowsa, musisz uruchomić sample.comp przez dos2unix. Jest również całkowicie nieudokumentowane, co powinien ustalić autor pakietu.

+1

Bardzo ładne dzięki –

Powiązane problemy