Update build
This commit is contained in:
15
src/Main.hs
15
src/Main.hs
@@ -5,7 +5,7 @@ import Control.Monad
|
||||
import Data.Functor
|
||||
import Data.List (isInfixOf, isSuffixOf)
|
||||
import System.Directory (listDirectory)
|
||||
import System.Environment (getArgs, getEnv)
|
||||
import System.Environment (getArgs, getEnv, lookupEnv)
|
||||
import System.IO
|
||||
import System.IO.Error
|
||||
|
||||
@@ -13,12 +13,12 @@ import System.IO.Error
|
||||
defaultOutfile :: String
|
||||
defaultOutfile = "LICENSE"
|
||||
|
||||
defaultUserLicenseDirName :: String
|
||||
defaultUserLicenseDirName = "license-tool"
|
||||
|
||||
defaultSystemLicenseDir :: String
|
||||
defaultSystemLicenseDir = "/usr/share/license-tool"
|
||||
|
||||
defaultUserLicenseRelDir :: String
|
||||
defaultUserLicenseRelDir = ".config/license-tool"
|
||||
|
||||
-- Argument parsing
|
||||
data SearchMode = SystemOnly | UserOnly | UserThenSystem
|
||||
|
||||
@@ -71,8 +71,13 @@ normalizeDirectory :: String -> String
|
||||
normalizeDirectory s = if "/" `isSuffixOf` s then s else s ++ "/"
|
||||
|
||||
userLicenseDir :: IO String
|
||||
userLicenseDir = userHomeDir <&> (++ defaultUserLicenseRelDir)
|
||||
userLicenseDir = xdgConfigHome <&> (++ defaultUserLicenseDirName)
|
||||
where
|
||||
xdgConfigHome :: IO String
|
||||
xdgConfigHome =
|
||||
(lookupEnv "XDG_CONFIG_HOME")
|
||||
>>= maybe userHomeDir (return . normalizeDirectory)
|
||||
|
||||
userHomeDir :: IO String
|
||||
userHomeDir = getEnv "HOME" <&> normalizeDirectory
|
||||
|
||||
|
||||
Reference in New Issue
Block a user