diff options
Diffstat (limited to 'src/Config.hs')
| -rw-r--r-- | src/Config.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Config.hs b/src/Config.hs index 8a7649a..1b0e046 100644 --- a/src/Config.hs +++ b/src/Config.hs @@ -138,9 +138,12 @@ parseUses = withSeq "Uses list" $ mapM $ parseRepo :: Text -> Node Pos -> Parser DeclaredRepo -parseRepo name node = flip (withMap "Repo") node $ \r -> DeclaredRepo - <$> pure (RepoName name) - <*> (T.unpack <$> r .: "path") +parseRepo name node = choice + [ flip (withNull "Repo") node $ return $ DeclaredRepo (RepoName name) Nothing + , flip (withMap "Repo") node $ \r -> DeclaredRepo + <$> pure (RepoName name) + <*> (fmap T.unpack <$> r .:? "path") + ] findConfig :: IO (Maybe FilePath) |