{-# LANGUAGE FlexibleContexts #-} {- | Module : $Header$ Description : A simple help command. Author : Nils 'bash0r' Jonsson Copyright : (c) 2015 Nils 'bash0r' Jonsson License : MIT Maintainer : aka.bash0r@gmail.com Stability : unstable Portability : non-portable (Portability is untested.) A simple help command. -} module MultiCabal.Commands.Help ( invokeExec , invokeHelp ) where import Control.Applicative import Control.Monad import Control.Command import Control.Router import MultiCabal.Instruction invokeExec :: (Command Instruction, Router Instruction) => [String] -> IO () invokeExec [cmd] = case route availableCommands cmd of Just a -> putStrLn (help a) Nothing -> putStrLn ("The command " ++ cmd ++ " does not exist.") invokeExec _ = mapM_ putStrLn (fmap help availableCommands) >> putStrLn "" invokeHelp :: String invokeHelp = "multi-cabal help\n" ++ " shows a general help dialog\n" ++ "multi-cabal help COMMAND\n" ++ " shows the specific help dialog of COMMAND"