blob: fa9796ad3df88a71b4faef8da9b15abe5449ed5e (
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
|
module Daffm.Types where
import Brick (EventM)
import qualified Brick.Widgets.Edit as Editor
import qualified Brick.Widgets.List as L
import qualified Data.Map as Map
import System.Posix.Types (FileOffset)
data FileType
= RegularFile
| BlockDevice
| CharacterDevice
| NamedPipe
| Directory
| SymbolicLink
| UnixSocket
| UnknownFileType
deriving (Show)
data FileInfo = FileInfo
{ fileName :: String,
filePath :: FilePath,
fileSize :: FileOffset,
fileType :: FileType
}
deriving (Show)
data FocusTarget = FocusCmdline | FocusMain deriving (Show, Eq, Ord)
data AppState = AppState
{ stateFiles :: L.List FocusTarget FileInfo,
stateCmdlineEditor :: Editor.Editor String FocusTarget,
stateFocusTarget :: FocusTarget,
stateCwd :: FilePath,
stateListPositionCache :: Map.Map String Int,
stateParentDir :: FilePath
}
deriving (Show)
type AppEvent = EventM FocusTarget AppState
|