diff options
author | jao <jao@gnu.org> | 2018-11-26 03:31:53 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2018-11-26 03:31:53 +0000 |
commit | 5bb1fec0ba93e56691f043323dddf3bb303b5636 (patch) | |
tree | a90a4d68141ad38a8d272b48c1688c7f9c232018 /app/Configuration.hs | |
parent | 7c270f9d0810db118f4ba3b8c47bc70b8be78d1e (diff) | |
download | xmobar-5bb1fec0ba93e56691f043323dddf3bb303b5636.tar.gz xmobar-5bb1fec0ba93e56691f043323dddf3bb303b5636.tar.bz2 |
Utilities for dealing with config and data directories
Diffstat (limited to 'app/Configuration.hs')
-rw-r--r-- | app/Configuration.hs | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/app/Configuration.hs b/app/Configuration.hs deleted file mode 100644 index 3e30730..0000000 --- a/app/Configuration.hs +++ /dev/null @@ -1,53 +0,0 @@ -{-# LANGUAGE FlexibleContexts, CPP #-} - ------------------------------------------------------------------------------- --- | --- Module: Configuration --- Copyright: (c) 2018 Jose Antonio Ortega Ruiz --- License: BSD3-style (see LICENSE) --- --- Maintainer: jao@gnu.org --- Stability: unstable --- Portability: portable --- Created: Wed Nov 21, 2018 23:13 --- --- --- Parsing configuration files --- ------------------------------------------------------------------------------- - - -module Configuration (readConfig, readDefaultConfig) where - -import Control.Monad.IO.Class (liftIO) - -import System.Environment -import System.Posix.Files (fileExist) - -import qualified Xmobar as X - --- | Reads the configuration files or quits with an error -readConfig :: FilePath -> String -> IO (X.Config,[String]) -readConfig f usage = do - let err m = error $ f ++ ": " ++ m - file <- liftIO $ fileExist f - r <- if file - then X.readConfig X.defaultConfig f - else err $ "file not found" ++ "\n" ++ usage - case r of - Left e -> err (show e) - Right res -> return res - --- | Read default configuration file or load the default config -readDefaultConfig :: String -> IO (X.Config,[String]) -readDefaultConfig usage = do - xdgConfigFile <- X.getXdgConfigFile - xdgConfigFileExists <- liftIO $ fileExist xdgConfigFile - home <- liftIO $ getEnv "HOME" - let defaultConfigFile = home ++ "/.xmobarrc" - defaultConfigFileExists <- liftIO $ fileExist defaultConfigFile - if xdgConfigFileExists - then readConfig xdgConfigFile usage - else if defaultConfigFileExists - then readConfig defaultConfigFile usage - else return (X.defaultConfig,[]) |