summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-haskell/optparse-applicative/metadata.xml
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-haskell/optparse-applicative/metadata.xml')
-rw-r--r--dev-haskell/optparse-applicative/metadata.xml69
1 files changed, 69 insertions, 0 deletions
diff --git a/dev-haskell/optparse-applicative/metadata.xml b/dev-haskell/optparse-applicative/metadata.xml
new file mode 100644
index 000000000000..a2d33046e859
--- /dev/null
+++ b/dev-haskell/optparse-applicative/metadata.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>haskell</herd>
+ <longdescription>
+ Here is a simple example of an applicative option parser:
+
+ @
+ data Sample = Sample
+ &amp;#x20; &amp;#x7b; hello :: String
+ &amp;#x20; , quiet :: Bool &amp;#x7d;
+
+ sample :: Parser Sample
+ sample = Sample
+ &amp;#x20; \&lt;$\&gt; strOption
+ &amp;#x20; ( long \"hello\"
+ &amp;#x20; &amp; metavar \"TARGET\"
+ &amp;#x20; &amp; help \"Target for the greeting\" )
+ &amp;#x20; \&lt;*\&gt; switch
+ &amp;#x20; ( long \"quiet\"
+ &amp;#x20; &amp; help \"Whether to be quiet\" )
+ @
+
+ The parser is built using applicative style starting from a set of basic
+ combinators. In this example, @hello@ is defined as an 'option' with a
+ @String@ argument, while @quiet@ is a boolean 'flag' (called 'switch').
+
+ A parser can be used like this:
+
+ @
+ greet :: Sample -&gt; IO ()
+ greet (Sample h False) = putStrLn $ \"Hello, \" ++ h
+ greet _ = return ()
+
+ main :: IO ()
+ main = execParser opts \&gt;\&gt;= greet
+ &amp;#x20; where
+ &amp;#x20; opts = info (helper \&lt;*\&gt; sample)
+ &amp;#x20; ( fullDesc
+ &amp;#x20; &amp; progDesc \"Print a greeting for TARGET\"
+ &amp;#x20; &amp; header \"hello - a test for optparse-applicative\" )
+ @
+
+ The @greet@ function is the entry point of the program, while @opts@ is a
+ complete description of the program, used when generating a help text. The
+ 'helper' combinator takes any parser, and adds a @help@ option to it (which
+ always fails).
+
+ The @hello@ option in this example is mandatory (since it doesn't have a
+ default value), so running the program without any argument will display a
+ help text:
+
+ &gt;hello - a test for optparse-applicative
+ &gt;
+ &gt;Usage: hello --hello TARGET [--quiet]
+ &gt; Print a greeting for TARGET
+ &gt;
+ &gt;Available options:
+ &gt; -h,--help Show this help text
+ &gt; --hello TARGET Target for the greeting
+ &gt; --quiet Whether to be quiet
+
+ containing a short usage summary, and a detailed list of options with
+ descriptions.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">pcapriotti/optparse-applicative</remote-id>
+ </upstream>
+</pkgmetadata>