diff options
Diffstat (limited to 'TreeView')
| -rw-r--r-- | TreeView/Types.hs | 63 | 
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 | 
