Commit 18608f7b authored by Kenton Varda's avatar Kenton Varda

Add --version option to capnpc (issue 12)

parent 0b59de61
......@@ -54,6 +54,8 @@ import WireFormat(encodeSchema)
import CxxGenerator(generateCxx)
version = "Cap'n Proto Compiler 0.1.0-pre (from git)"
type GeneratorFn = [FileDesc] -> [Word8] -> Map.Map Word64 [Word8] -> IO [(FilePath, LZ.ByteString)]
generatorFns :: Map.Map String GeneratorFn
......@@ -64,6 +66,7 @@ data Opt = SearchPathOpt FilePath
| SrcPrefixOpt String
| VerboseOpt
| HelpOpt
| VersionOpt
| GenIdOpt
main :: IO ()
......@@ -84,6 +87,7 @@ main = do
, Option "v" ["verbose"] (NoArg VerboseOpt) "Write information about parsed files."
, Option "i" ["generate-id"] (NoArg GenIdOpt) "Generate a new unique ID."
, Option "h" ["help"] (NoArg HelpOpt) "Print usage info and exit."
, Option "" ["version"] (NoArg VersionOpt) "Print version number and exit."
]
let usage = usageInfo
"capnpc [OPTION]... [FILE]...\n\
......@@ -106,6 +110,11 @@ main = do
putStr usage
exitSuccess)
let isVersion = not $ null [opt | opt@VersionOpt <- options]
when isVersion (do
putStr (version ++ "\n")
exitSuccess)
let isGenId = not $ null [opt | opt@GenIdOpt <- options]
when isGenId (do
i <- generateId
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment