on master help sign in
Config: expose vtyConfigPath, vtyConfigFileEnvName
commitf1b783987538d996539e10bf7c16981f5330f79b authorJonathan Daugherty <cygnus@foobox.com> dateThu 5 Mar 2020, 09:04 (7 years ago) parent0bea225
2 files changed+16−5
src/Graphics/Vty/Config.hs+14−4 tools/BuildWidthTable.hs+2−1
src/Graphics/Vty/Config.hs+14−4
@@ -68,9 +68,11 @@ module Graphics.Vty.Config
6868 , getTtyEraseChar
6969 , currentTerminalName
7070
71+ , vtyConfigPath
7172 , widthTableFilename
7273 , vtyDataDirectory
7374 , terminalWidthTablePath
75+ , vtyConfigFileEnvName
7476 )
7577where
7678
@@ -197,12 +199,20 @@ instance Monoid Config where
197199vtyDataDirectory :: IO FilePath
198200vtyDataDirectory = getAppUserDataDirectory "vty"
199201
200−-- | Load a configuration from @'getAppUserDataDirectory'/config@ and
201−-- @$VTY_CONFIG_FILE@.
202+vtyConfigPath :: IO FilePath
203+vtyConfigPath = do
204+ dir <- vtyDataDirectory
205+ return $ dir </> "config"
206+
207+vtyConfigFileEnvName :: String
208+vtyConfigFileEnvName = "VTY_CONFIG_FILE"
209+
210+-- | Load a configuration from 'vtyConfigPath' and @$VTY_CONFIG_FILE@.
202211userConfig :: IO Config
203212userConfig = do
204− configFile <- (mappend <$> vtyDataDirectory <*> pure "/config") >>= parseConfigFile
205− overrideConfig <- maybe (return defaultConfig) parseConfigFile =<< lookupEnv "VTY_CONFIG_FILE"
213+ configFile <- vtyConfigPath >>= parseConfigFile
214+ overrideConfig <- maybe (return defaultConfig) parseConfigFile =<<
215+ lookupEnv vtyConfigFileEnvName
206216 let base = configFile <> overrideConfig
207217 mappend base <$> overrideEnvConfig
208218
tools/BuildWidthTable.hs+2−1
@@ -84,9 +84,10 @@ main = do
8484 putStrLn $ "\nOutput table written to " <> outputPath
8585
8686 Just tName <- currentTerminalName
87+ configPath <- vtyConfigPath
8788 putStrLn ""
8889 putStrLn "To configure your Vty-based applications to use this map, add"
89− putStrLn "the following line to ~/.vty/config:"
90+ putStrLn "the following line to " <> configPath <> ":"
9091 putStrLn ""
9192 putStrLn $ " widthMap " <> show tName <> " " <> show outputPath
9293 putStrLn ""