|
|
|
@ -9,8 +9,9 @@ import qualified Distribution.PackageDescription as P |
|
|
|
|
import qualified Distribution.CurrentPackageDescription as P |
|
|
|
|
import qualified Distribution.Text as DText |
|
|
|
|
|
|
|
|
|
import Data.List (intercalate) |
|
|
|
|
import Data.List (intercalate) |
|
|
|
|
import Options.Applicative |
|
|
|
|
import System.Environment (getProgName) |
|
|
|
|
|
|
|
|
|
import Ringo.Types |
|
|
|
|
|
|
|
|
@ -100,20 +101,19 @@ progArgsParser = |
|
|
|
|
<> action "directory" |
|
|
|
|
<> help "Output directory") |
|
|
|
|
|
|
|
|
|
progName :: String |
|
|
|
|
progName = $(P.getField (DText.display . P.pkgName . P.package)) |
|
|
|
|
|
|
|
|
|
versionParser :: Parser (a -> a) |
|
|
|
|
versionParser = infoOption (progName ++ " " ++ version) |
|
|
|
|
versionParser :: String -> Parser (a -> a) |
|
|
|
|
versionParser progName = infoOption (progName ++ " " ++ version) |
|
|
|
|
(long "version" |
|
|
|
|
<> help "Print version information") |
|
|
|
|
where |
|
|
|
|
version = $(P.getField (DText.display . P.pkgVersion . P.package)) |
|
|
|
|
|
|
|
|
|
parseArgs :: IO ProgArgs |
|
|
|
|
parseArgs = execParser $ |
|
|
|
|
info (helper <*> versionParser <*> progArgsParser) |
|
|
|
|
(fullDesc |
|
|
|
|
<> progDesc $(P.getField P.description) |
|
|
|
|
<> header (progName ++ " - " ++ $(P.getField P.synopsis)) |
|
|
|
|
<> footer ("© " ++ $(P.getField P.copyright) ++ ". " ++ $(P.getField P.homepage))) |
|
|
|
|
parseArgs = do |
|
|
|
|
progName <- getProgName |
|
|
|
|
execParser $ |
|
|
|
|
info (helper <*> versionParser progName <*> progArgsParser) |
|
|
|
|
(fullDesc |
|
|
|
|
<> progDesc $(P.getField P.description) |
|
|
|
|
<> header (progName ++ " - " ++ $(P.getField P.synopsis)) |
|
|
|
|
<> footer ("© " ++ $(P.getField P.copyright) ++ ". " ++ $(P.getField P.homepage))) |
|
|
|
|