aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2022-11-22 12:12:25 -0700
committerJosh Rahm <rahm@google.com>2022-11-22 12:12:25 -0700
commit8708716ce903d30097265ec95e7adcf3d030d6de (patch)
treea5bb23a8c5550206364eb494821026a5f27aa4ce /src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
parent43a880fbbcbd76ad103cf0633bd7bb8a74077556 (diff)
downloadrde-8708716ce903d30097265ec95e7adcf3d030d6de.tar.gz
rde-8708716ce903d30097265ec95e7adcf3d030d6de.tar.bz2
rde-8708716ce903d30097265ec95e7adcf3d030d6de.zip
withPendingBuffer -> pushPendingBuffer.
Diffstat (limited to 'src/Rahm/Desktop/XMobarLog/PendingBuffer.hs')
-rw-r--r--src/Rahm/Desktop/XMobarLog/PendingBuffer.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
index 1ae298b..d49b835 100644
--- a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
+++ b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
@@ -46,7 +46,14 @@ clearPendingBuffer = do
getPendingBuffer :: X [Char]
getPendingBuffer = unPendingBuffer <$> XS.get
-withPendingBuffer :: X a -> X a
-withPendingBuffer fn = do
+pushPendingBuffer :: String -> X a -> X a
+pushPendingBuffer newPendingBuffer fn = do
saved <- getPendingBuffer
+ setPendingBuffer newPendingBuffer
+ fn <* setPendingBuffer saved
+
+pushAddPendingBuffer :: String -> X a -> X a
+pushAddPendingBuffer toAdd fn = do
+ saved <- getPendingBuffer
+ setPendingBuffer (saved ++ toAdd)
fn <* setPendingBuffer saved