\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\part{Horde\_Cli\_Application}
"Library for creating command line applications" - A kernel to build CLI applications from Horde libraries.

\texttt{Horde\_Argv} is used to define parsers for commandline arguments given to a program. It bisects a command line into positional arguments and options: shorthand (-h) or long form (--help), flags or typed values (--format=xml) and supports printing out usage help or validating commandlines against value constraints.\newline
\texttt{Horde\_Cli} provides utilities for input and output on a text terminal command line, using text colors and background colors where available or falling back to simple text, wrapping to screen width etc.\newline
\texttt{Horde\_Cli\_Modular} provides tools to bundle commandline parsing and input/output into reusable, pluggable modules that each represent one command with appropriate switches and may have sub commands.

Integrating these utilities requires repetitive programming work. Horde\_Cli\_Application can facilitate putting the different parts together to an actual application that does something.

\section{Introduction}
\section{Structure}
\subsection{Setup}
\section{Writing simple CLIs with cli\_application}
\section{Writing multi-command CLIs}
\section{Examples}
\end{document}
