@@ -38,6 +38,11 @@ main = do
38 flags <- cmdArgs defaultFlags
38 flags <- cmdArgs defaultFlags
39 mapM parseFile (files flags)
39 mapM parseFile (files flags)
41+config = Config { confIndent = 2, confCompare = keyOrder keys }
43+ keys = ["name","document","comment","raw","aliases","datatypes"
44+ ,"values","typeVariables","type","constructors"]
41parseFile path = do
46parseFile path = do
42 source <- readFile path
47 source <- readFile path
43 case iParse docs "" source of
48 case iParse docs "" source of
@@ -45,7 +50,7 @@ parseFile path = do
45 putStrLn $ "Documenting " ++ path
50 putStrLn $ "Documenting " ++ path
46 let docPath = "docs" </> replaceExtension path ".json"
51 let docPath = "docs" </> replaceExtension path ".json"
47 createDirectoryIfMissing True (dropFileName docPath)
52 createDirectoryIfMissing True (dropFileName docPath)
48− BS.writeFile docPath (encodePretty' (defConfig { confIndent = 2 }) json)
53+ BS.writeFile docPath (encodePretty' config json)
49 Left err -> do
54 Left err -> do
50 putStrLn $ "Parse error in " ++ path ++ " at " ++ show err
55 putStrLn $ "Parse error in " ++ path ++ " at " ++ show err
51 exitFailure
56 exitFailure