summaryrefslogtreecommitdiffstats
path: root/src/Much/Utils.hs
blob: df23c827de07bd96e5fcd675c549d1f4d46c2975 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Much.Utils where

import Control.Exception
import System.Directory
import System.IO


withTempFile :: FilePath -> String -> ((FilePath, Handle) -> IO a) -> IO a
withTempFile tmpdir template =
    bracket (openTempFile tmpdir template) (removeFile . fst)


padl :: Int -> a -> [a] -> [a]
padl n c s =
    if length s < n
        then padl n c (c:s)
        else s

padr :: Int -> a -> [a] -> [a]
padr n c s =
    if length s < n
        then padr n c (s ++ [c])
        else s