From 71cfee5086a6bf1c7a810d83fd67320bb9552197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 26 Jul 2023 23:29:47 +0200 Subject: Accept multiple refs for typed cat-file command --- src/Main.hs | 10 +++++----- 1 file 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 -- cgit v1.2.3