-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | An interface for describing and executing terminal applications
--
-- A quick and modular way to construct terminal interfaces.
@package quickterm
@version 0.2.4.0
module System.Console.Quickterm.Help
type Help = Int -> String
-- | A whitespace manipulation function indenting the whole text block.
indent :: String -> Int -> String
module System.Console.Quickterm.Deserializer
-- | Deserializers are used in marshaling process of cmd-line parameters.
newtype Deserializer a
Deserializer :: ([Char] -> Int -> [(a, [Char], Int)]) -> Deserializer a
[deserialize] :: Deserializer a -> [Char] -> Int -> [(a, [Char], Int)]
-- | A pure computation abstraction layer for the Deserializer.
tryConvert :: (String -> [(a, Int)]) -> Deserializer a
instance GHC.Base.Functor System.Console.Quickterm.Deserializer.Deserializer
instance GHC.Base.Applicative System.Console.Quickterm.Deserializer.Deserializer
instance GHC.Base.Alternative System.Console.Quickterm.Deserializer.Deserializer
instance GHC.Base.Monad System.Console.Quickterm.Deserializer.Deserializer
instance GHC.Base.MonadPlus System.Console.Quickterm.Deserializer.Deserializer
module System.Console.Quickterm.Description
-- | A simple description for a section.
data Description
Description :: String -> Help -> Description
-- | The name of a section.
[nameD] :: Description -> String
-- | The description of a section.
[longD] :: Description -> Help
class IsDescription f
toDescription :: IsDescription f => f -> Description
instance System.Console.Quickterm.Description.IsDescription GHC.Base.String
instance System.Console.Quickterm.Description.IsDescription System.Console.Quickterm.Description.Description
module System.Console.Quickterm.DSL
module System.Console.Quickterm.CanMarshall
-- | Handles marshaling from a cmd-line argument to a Haskell data type.
class CanMarshall a
-- | A default value for the generic atomic operation param.
defaultM :: CanMarshall a => a
-- | A help description for the generic atomic operation param.
helpU :: CanMarshall a => a -> Int -> String
-- | A deserializer declaration for the generic atomic operation
-- param.
deserializer :: CanMarshall a => Deserializer a
-- | A conversion of a value to the predicted input.
asInput :: CanMarshall a => a -> String
instance System.Console.Quickterm.CanMarshall.CanMarshall GHC.Types.Int
instance System.Console.Quickterm.CanMarshall.CanMarshall GHC.Base.String
module System.Console.Quickterm.Internal
-- | Quickterm represents a non-deterministic calculation of a most
-- predictable |command based on a breadth-first parsing strategy. The
-- Quickterm is applied |to a [String] to achieve parsing of command line
-- arguments.
newtype Quickterm a
Quickterm :: (Int -> Help -> [String] -> [String] -> [(a, Int, Help, [String], [String])]) -> Quickterm a
[runQuickterm] :: Quickterm a -> Int -> Help -> [String] -> [String] -> [(a, Int, Help, [String], [String])]
param :: (CanMarshall a) => Quickterm a
instance GHC.Base.Functor System.Console.Quickterm.Internal.Quickterm
instance GHC.Base.Applicative System.Console.Quickterm.Internal.Quickterm
instance GHC.Base.Alternative System.Console.Quickterm.Internal.Quickterm
instance GHC.Base.Monad System.Console.Quickterm.Internal.Quickterm
instance GHC.Base.MonadPlus System.Console.Quickterm.Internal.Quickterm
module System.Console.Quickterm
flag :: (IsDescription d, CanMarshall a) => d -> Quickterm a
flag_ :: (IsDescription d) => d -> Quickterm ()
flags :: (IsDescription d) => [(d, Maybe String)] -> Quickterm [(String, String)]
command :: (IsDescription d) => d -> Quickterm a -> Quickterm a
command_ :: (IsDescription d) => d -> a -> Quickterm a
-- | A simple description for a section.
data Description
Description :: String -> Help -> Description
-- | The name of a section.
[nameD] :: Description -> String
-- | The description of a section.
[longD] :: Description -> Help
-- | Creates a section Quickterm.
section :: (IsDescription d) => d -> [Quickterm a] -> Quickterm a
-- | Creates a program Quickterm.
program :: [Quickterm a] -> Quickterm a
-- | Runs a quickterm application.
quickterm :: Quickterm (IO ()) -> [String] -> IO ()
qtMain :: Quickterm (IO ()) -> IO ()