diff options
-rw-r--r-- | src/Main.hs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Main.hs b/src/Main.hs index c718c31..b51fa0d 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -75,17 +75,17 @@ main = do Nothing -> error "ref does not exist" Just ref -> BL.putStr $ lazyLoadBytes ref - ["cat-file", objtype, sref] -> do - readRef st (BC.pack sref) >>= \case + ("cat-file" : objtype : srefs@(_:_)) -> do + sequence <$> (mapM (readRef st . BC.pack) srefs) >>= \case Nothing -> error "ref does not exist" - Just ref -> case objtype of - "signed" -> do + Just refs -> case objtype of + "signed" -> forM_ refs $ \ref -> do let signed = load ref :: Signed Object BL.putStr $ lazyLoadBytes $ storedRef $ signedData signed forM_ (signedSignature signed) $ \sig -> do putStr $ "SIG " BC.putStrLn $ showRef $ storedRef $ sigKey $ fromStored sig - "identity" -> case validateIdentity (wrappedLoad ref) of + "identity" -> case validateIdentityF (wrappedLoad <$> refs) of Just identity -> do let disp :: Identity m -> IO () disp idt = do |