module Cookbook.Essential.IO where
import qualified System.IO as LIO
import qualified System.IO.Strict as SIO
import qualified Cookbook.Essential.Common as Cm
import qualified Cookbook.Essential.Continuous as Ct
import qualified Cookbook.Ingredients.Lists.Modify as Md
import System.Environment
import System.Directory
filelines :: String -> IO ([String])
filelines x = fmap lines $ LIO.openFile x LIO.ReadMode >>= SIO.hGetContents
prompt :: String -> IO (String)
prompt x = do
putStr x
LIO.hFlush LIO.stdout
getLine
inhome :: String -> LIO.IOMode -> IO (LIO.Handle)
inhome x c = fmap ((++x).(++"/")) getHomeDirectory >>= (flip LIO.openFile) c
filename :: String -> String
filename = Cm.fromLast ((flip Ct.before) '/')
modulename :: String -> String
modulename = Cm.fromLast ((flip Ct.after) '/')