mirror of https://github.com/voidlizard/hbs2
wip
This commit is contained in:
parent
7dc5b48d32
commit
6cd3af1003
|
@ -31,6 +31,7 @@ import Data.Config.Suckless.Script hiding (internalEntries)
|
|||
import Control.Monad.Trans.Maybe
|
||||
import Control.Monad.Trans.Cont
|
||||
import Data.ByteString.Char8 qualified as BS8
|
||||
import Data.ByteString.Lazy qualified as LBS
|
||||
import Data.Text qualified as Text
|
||||
import Lens.Micro.Platform
|
||||
|
||||
|
@ -170,6 +171,19 @@ internalEntries = do
|
|||
|
||||
-- TODO: re-implement-all-on-top-of-opaque
|
||||
|
||||
entry $ bindMatch "hbs2:hash" $ \syn -> do
|
||||
i <- case syn of
|
||||
[ListVal (StringLikeList xs)] -> pure xs
|
||||
StringLikeList xs -> pure xs
|
||||
e -> throwIO (BadFormException @c (mkList e))
|
||||
|
||||
r <- forM i $ \f -> do
|
||||
liftIO (LBS.readFile f)
|
||||
<&> hashObject @HbSync
|
||||
<&> mkSym @c . show . pretty
|
||||
|
||||
pure $ mkList r
|
||||
|
||||
-- TODO: move-somewhere
|
||||
entry $ bindMatch "rm" $ nil_ \case
|
||||
[ StringLike p ] -> rm p
|
||||
|
|
|
@ -29,7 +29,8 @@ import Control.Monad.Trans.Maybe
|
|||
import Control.Monad.Trans.Cont
|
||||
-- import Control.Concurrent.Async
|
||||
import Control.Monad.Reader
|
||||
import Control.Monad.Writer.CPS qualified as CPS
|
||||
-- import Control.Monad.Writer.CPS qualified as CPS
|
||||
import Control.Monad.Writer qualified as CPS
|
||||
import Data.ByteString.Lazy (ByteString)
|
||||
import Data.Cache (Cache)
|
||||
import Data.Cache qualified as Cache
|
||||
|
|
Loading…
Reference in New Issue