From a93755b2d1e9efbd63723f5302ca7c8f43521aa8 Mon Sep 17 00:00:00 2001 From: Will Song Date: Sat, 16 Jul 2016 16:15:33 -0500 Subject: Add expandEnv function and use it in PipeReader family of monitors expandEnv takes a string and expands the environment variables it can find. variable substringing (e.g. ${VAR:1} to lop off the first character) is not supported, but $VAR and ${VAR} formats are, with the former being delimited by punctuation, but not underscores. --- src/Plugins/MarqueePipeReader.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/Plugins/MarqueePipeReader.hs') diff --git a/src/Plugins/MarqueePipeReader.hs b/src/Plugins/MarqueePipeReader.hs index 8120c84..0b3a710 100644 --- a/src/Plugins/MarqueePipeReader.hs +++ b/src/Plugins/MarqueePipeReader.hs @@ -15,6 +15,7 @@ module Plugins.MarqueePipeReader where import System.IO (openFile, IOMode(ReadWriteMode), Handle) +import Environment import Plugins (tenthSeconds, Exec(alias, start), hGetLineSafe) import System.Posix.Files (getFileStatus, isNamedPipe) import Control.Concurrent(forkIO, threadDelay) @@ -32,7 +33,7 @@ data MarqueePipeReader = MarqueePipeReader String (Length, Rate, Separator) Stri instance Exec MarqueePipeReader where alias (MarqueePipeReader _ _ a) = a start (MarqueePipeReader p (len, rate, sep) _) cb = do - let (def, pipe) = split ':' p + (def, pipe) <- split ':' <$> expandEnv p unless (null def) (cb def) checkPipe pipe h <- openFile pipe ReadWriteMode -- cgit v1.2.3