diff options
author | jao <jao@gnu.org> | 2021-05-24 18:16:24 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2021-05-24 18:16:24 +0100 |
commit | 8e98908ba9b238861f71008857443aea1423edda (patch) | |
tree | d4073ad44538969d45a06f072e98813d1774c63b /src/Xmobar/Plugins/NotmuchMail.hs | |
parent | 9af7e4149a9b986ce127f809ef830a7c8e0318ec (diff) | |
parent | 8d0841012bd6745f2bfd951053c48cb1ecec62cf (diff) | |
download | xmobar-8e98908ba9b238861f71008857443aea1423edda.tar.gz xmobar-8e98908ba9b238861f71008857443aea1423edda.tar.bz2 |
Merge branch 'notmuchmail-fix' [#548]
Diffstat (limited to 'src/Xmobar/Plugins/NotmuchMail.hs')
-rw-r--r-- | src/Xmobar/Plugins/NotmuchMail.hs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/Xmobar/Plugins/NotmuchMail.hs b/src/Xmobar/Plugins/NotmuchMail.hs index 3da170c..3604a11 100644 --- a/src/Xmobar/Plugins/NotmuchMail.hs +++ b/src/Xmobar/Plugins/NotmuchMail.hs @@ -39,6 +39,7 @@ import Control.Concurrent.Async (mapConcurrently) import Data.Maybe (catMaybes) import System.Exit (ExitCode(ExitSuccess)) import System.Process (readProcessWithExitCode) +import Text.Read (Lexeme(Ident), ReadPrec, lexP, parens, prec, readPrec, reset) -- | A 'MailItem' is a name, an address, and a query to give to @notmuch@. @@ -48,7 +49,13 @@ data MailItem = MailItem -- the empty string to query all indexed mail instead , query :: String -- ^ Query to give to @notmuch search@ } - deriving (Read, Show) + deriving (Show) + +instance Read MailItem where + readPrec :: ReadPrec MailItem + readPrec = parens . prec 11 $ do + Ident "MailItem" <- lexP + MailItem <$> reset readPrec <*> reset readPrec <*> reset readPrec -- | A full mail configuration. data NotmuchMail = NotmuchMail @@ -56,7 +63,13 @@ data NotmuchMail = NotmuchMail , mailItems :: [MailItem] -- ^ 'MailItem's to check , nmRate :: Int -- ^ Update frequency (in deciseconds) } - deriving (Read, Show) + deriving (Show) + +instance Read NotmuchMail where + readPrec :: ReadPrec NotmuchMail + readPrec = parens . prec 11 $ do + Ident "NotmuchMail" <- lexP + NotmuchMail <$> reset readPrec <*> reset readPrec <*> reset readPrec -- | How to execute this plugin. instance Exec NotmuchMail where |