aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Attrs.hs
blob: 925fe99eafb23ac55683bc4ffd0dd98716bfbdbe (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
48
49
50
51
52
53
54
55
56
57
58
59
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"

fileTypeAttr :: A.AttrName
fileTypeAttr = listAttr <> A.attrName "file-type"

fileModeAttr :: A.AttrName
fileModeAttr = listAttr <> A.attrName "file-mode"

fileOwnerAttr :: A.AttrName
fileOwnerAttr = listAttr <> A.attrName "file-owner"

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),
      (fileTypeAttr, fg V.white),
      (fileOwnerAttr, (fg V.white) { V.attrStyle = V.SetTo V.dim }),
      (fileModeAttr, fg V.white),
      (fileSelectedAttr, fg V.white),
      (searchMarchAttr, fg V.magenta)
    ]