summaryrefslogtreecommitdiffstats
path: root/TreeView
diff options
context:
space:
mode:
authorKierán Meinhardt <kieran.meinhardt@gmail.com>2020-09-23 17:44:40 +0200
committerKierán Meinhardt <kieran.meinhardt@gmail.com>2020-09-23 17:44:40 +0200
commit8e92e6e11d2b3b0bfb5ac9d68f347219493e6380 (patch)
tree6484ca42d85ca89475e922f7b45039c116ebbf97 /TreeView
parent6a6ad3aecd53ffd89101a0dee2b4ea576d4964d4 (diff)
split into library + executables
Diffstat (limited to 'TreeView')
-rw-r--r--TreeView/Types.hs63
1 files changed, 0 insertions, 63 deletions
diff --git a/TreeView/Types.hs b/TreeView/Types.hs
deleted file mode 100644
index 0dd1290..0000000
--- a/TreeView/Types.hs
+++ /dev/null
@@ -1,63 +0,0 @@
-{-# LANGUAGE LambdaCase #-}
-
-module TreeView.Types where
-
-import qualified Data.CaseInsensitive as CI
-import qualified Data.Text as T
-import Notmuch.Message
-import Notmuch.SearchResult
-
-
-type LineNr = Int
-
-
-data TreeView
- = TVMessage Message
- | TVMessageHeaderField Message (CI.CI T.Text)
- | TVMessagePart Message MessagePart
- | TVMessageQuoteLine Message MessagePart LineNr String
- | TVMessageLine Message MessagePart LineNr String
- | TVSearch String
- | TVSearchResult SearchResult
- deriving (Show)
-
-
-instance Eq TreeView where
- x1 == x2 = treeViewId x1 == treeViewId x2
-
-
-data TreeViewId
- = TVIDMessage T.Text
- | TVIDMessageHeaderField T.Text T.Text
- | TVIDMessagePart T.Text Int
- | TVIDMessageLine T.Text Int Int
- | TVIDSearch T.Text
- | TVIDSearchResult T.Text
- deriving (Eq,Show)
-
-
-treeViewId :: TreeView -> TreeViewId
-treeViewId = \case
- TVMessage m ->
- TVIDMessage (fromMessage m)
-
- TVMessageHeaderField m mhf ->
- TVIDMessageHeaderField (fromMessage m) (CI.foldedCase mhf)
-
- TVMessagePart m mp ->
- TVIDMessagePart (fromMessage m) (partID mp)
-
- TVMessageLine m mp lineNr _ ->
- TVIDMessageLine (fromMessage m) (partID mp) lineNr
-
- TVMessageQuoteLine m mp lineNr _ ->
- TVIDMessageLine (fromMessage m) (partID mp) lineNr
-
- TVSearch s ->
- TVIDSearch (T.pack s)
-
- TVSearchResult sr ->
- TVIDSearchResult (T.pack $ unThreadID $ searchThread sr)
-
- where
- fromMessage = T.pack . unMessageID . messageId