-- | -- Module : Application.CLI.Class -- License : BSD-Style -- Copyright : Copyright © 2014 Nicolas DI PRIMA -- -- Maintainer : Nicolas DI PRIMA -- Stability : experimental -- Portability : unknown -- module Application.CLI.Class ( CLI (..) , cliToCommand ) where import Application.CLI.Types class CLI cli where name :: cli -> String desc :: cli -> String options :: cli -> [OptHelp] action :: cli -> CLIContext -> [String] -> IO () cliToCommand :: CLI cli => cli -> Command cliToCommand cli = Command { cmdName = name cli , cmdDesc = desc cli , cmdOptions = options cli , cmdAction = action cli }