on master help sign in
Added IdrisDoc hooks from the command line.
commit39ac157239d4d4bd3c98a0c02adfbab800ed99ec authorPhilip Rasmussen <pjor@itu.dk> dateThu 27 Mar 2014, 15:18 (13 years ago) parentd4abcb8
1 file changed+16−4
src/Idris/REPL.hs+16−4
src/Idris/REPL.hs+16−4
@@ -77,6 +77,7 @@ import Data.List
7777import Data.Char
7878import Data.Version
7979import Data.Word (Word)
80+import Data.Either (partitionEithers)
8081import Control.DeepSeq
8182
8283import qualified Text.PrettyPrint.ANSI.Leijen as ANSI
@@ -978,10 +979,15 @@ process h fn (Apropos a) =
978979
979980-- IdrisDoc
980981process h fn (MakeDoc s) =
981− do istate <- getIState
982− let nss = words s
983− outputDir <- runIO $ getCurrentDirectory
984− result <- runIO $ generateDocs istate nss outputDir
982+ do istate <- getIState
983+ let names = words s
984+ parse n | Success x <- runparser name istate fn n = Right x
985+ parse n = Left n
986+ (bad, nss) = partitionEithers $ map parse names
987+ cd <- runIO $ getCurrentDirectory
988+ let outputDir = cd </> "doc"
989+ result <- if null bad then runIO $ generateDocs istate nss outputDir
990+ else return . Left $ "Illegal name: " ++ head bad
985991 case result of Right _ -> iputStrLn "IdrisDoc generated"
986992 Left err -> iPrintError err
987993
@@ -1070,6 +1076,7 @@ parseArgs ("--build":n:ns) = PkgBuild n : (parseArgs ns)
10701076parseArgs ("--install":n:ns) = PkgInstall n : (parseArgs ns)
10711077parseArgs ("--repl":n:ns) = PkgREPL n : (parseArgs ns)
10721078parseArgs ("--clean":n:ns) = PkgClean n : (parseArgs ns)
1079+parseArgs ("--mkdoc":n:ns) = PkgMkDoc n : (parseArgs ns) -- IdrisDoc
10731080parseArgs ("--checkpkg":n:ns) = PkgCheck n : (parseArgs ns)
10741081-- Misc Options
10751082parseArgs ("--bytecode":n:ns) = NoREPL : BCAsm n : (parseArgs ns)
@@ -1395,6 +1402,11 @@ getPkgCheck :: Opt -> Maybe String
13951402getPkgCheck (PkgCheck str) = Just str
13961403getPkgCheck _ = Nothing
13971404
1405+-- IdrisDoc
1406+getPkgMkDoc :: Opt -> Maybe String
1407+getPkgMkDoc (PkgMkDoc str) = Just str
1408+getPkgMkDoc _ = Nothing
1409+
13981410getCodegen :: Opt -> Maybe Codegen
13991411getCodegen (UseCodegen x) = Just x
14001412getCodegen _ = Nothing