You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-haskell/options/metadata.xml

64 lines
1.8 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>haskell@gentoo.org</email>
<name>Gentoo Haskell</name>
</maintainer>
<longdescription>
The @options@ package lets library and application developers easily work
with command-line options.
The following example is a full program that can accept two options,
@--message@ and @--quiet@:
@
import Control.Applicative
import Options
data MainOptions = MainOptions
&amp;#x20; &amp;#x7b; optMessage :: String
&amp;#x20; , optQuiet :: Bool
&amp;#x20; &amp;#x7d;
instance 'Options' MainOptions where
&amp;#x20; defineOptions = pure MainOptions
&amp;#x20; \&lt;*\&gt; simpleOption \"message\" \"Hello world!\"
&amp;#x20; \"A message to show the user.\"
&amp;#x20; \&lt;*\&gt; simpleOption \"quiet\" False
&amp;#x20; \"Whether to be quiet.\"
main :: IO ()
main = runCommand $ \\opts args -&gt; do
&amp;#x20; if optQuiet opts
&amp;#x20; then return ()
&amp;#x20; else putStrLn (optMessage opts)
@
&gt;$ ./hello
&gt;Hello world!
&gt;$ ./hello --message='ciao mondo'
&gt;ciao mondo
&gt;$ ./hello --quiet
&gt;$
In addition, this library will automatically create documentation options
such as @--help@ and @--help-all@:
&gt;$ ./hello --help
&gt;Help Options:
&gt; -h, --help
&gt; Show option summary.
&gt; --help-all
&gt; Show all help options.
&gt;
&gt;Application Options:
&gt; --message :: text
&gt; A message to show the user.
&gt; default: "Hello world!"
&gt; --quiet :: bool
&gt; Whether to be quiet.
&gt; default: false
</longdescription>
</pkgmetadata>