aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Attrs.hs
blob: f1d4e168054f777c70a35b268ac77a9798f69270 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
module Daffm.Attrs where

import qualified Brick.AttrMap as A
import Brick.Util (bg, fg)
import Brick.Widgets.List (listAttr, listSelectedAttr)
import qualified Brick.Widgets.List as L
import qualified Graphics.Vty as V

fileAttr :: A.AttrName
fileAttr = listAttr <> A.attrName "file"

fileSelectedAttr :: A.AttrName
fileSelectedAttr = listSelectedAttr <> fileAttr

directoryAttr :: A.AttrName
directoryAttr = listAttr <> A.attrName "directory"

linkAttr :: A.AttrName
linkAttr = listAttr <> A.attrName "link"

invalidLinkAttr :: A.AttrName
invalidLinkAttr = linkAttr <> A.attrName "invalid"

directoryLinkAttr :: A.AttrName
directoryLinkAttr = linkAttr <> A.attrName "directory"

directorySelectedAttr :: A.AttrName
directorySelectedAttr = listSelectedAttr <> directoryAttr

searchMarchAttr :: A.AttrName
searchMarchAttr = listAttr <> A.attrName "match-indicator"

appAttrMap :: A.AttrMap
appAttrMap =
  A.attrMap
    V.defAttr
    [ (L.listAttr, fg V.white),
      (listSelectedAttr, bg V.black),
      (directoryAttr, fg V.brightCyan),
      (directorySelectedAttr, fg V.brightCyan),
      (directoryLinkAttr, fg V.green),
      (linkAttr, fg V.brightWhite),
      (invalidLinkAttr, fg V.red),
      (fileAttr, fg V.white),
      (fileSelectedAttr, fg V.white),
      (searchMarchAttr, fg V.magenta)
    ]