packages feed

binembed-example-0.1: Main_haskell.hs

import Prelude hiding  (putStr)
import Data.ByteString (putStr, ByteString)
import Data.Map (toAscList)
import System.FilePath ((</>))
import Example

main :: IO ()
main = do
  putStrLn "binembed-example\n\
           \================"
  printEmbedded "binembed-example" =<< unBinEmbed example

printEmbedded :: String -> Node ByteString -> IO ()
printEmbedded path (File f) = do
  putStrLn "\n"
  putStrLn path
  putStrLn (replicate (length path) '-')
  putStrLn ""
  putStrLn "{{{"
  putStr f
  putStrLn "}}}"

printEmbedded path (Dir d) = do
  mapM_ (\(p, n) -> printEmbedded (path </> p) n) (toAscList d)