module GiveYouAHead.Common where
--outside
import System.Directory
import System.IO.Extra
getDataDir :: IO FilePath
getDataDir = getAppUserDataDirectory "GiveYouAHead"
getFileMainName :: String -> String
getFileMainName = reverse . dropWhile (/= '.') . reverse
getDefaultEncoding :: IO String
getDefaultEncoding = do
gDD <- getDataDir
ec <- readFile $ gDD ++ "/defaultencoding"
return ec
readF :: FilePath -> IO String
readF fpath = do
ec <- getDefaultEncoding
case ec of
"UTF8" -> readFileUTF8 fpath
_ -> readFile fpath
writeF fpath str = do
ec <- getDefaultEncoding
case ec of
"UTF8" -> writeFileUTF8 fpath str
_ ->writeFile fpath str
writeF :: FilePath -> String -> IO()