[client] Unfold a node when replying to it

This commit is contained in:
Joscha 2020-02-19 23:45:54 +00:00
parent 1fd476e585
commit ec61c4d092
2 changed files with 14 additions and 10 deletions

View file

@ -57,14 +57,14 @@ onUiState' cs f = do
onKeyWithoutEditor :: ClientState -> Vty.Event -> ClientM (Next ClientState)
onKeyWithoutEditor cs (Vty.EvKey k _)
| k `elem` quitKeys = halt cs
| k `elem` foldKeys = onUiState cs foldAtFocus
| k `elem` foldKeys = onUiState cs toggleFoldAtFocus
| k `elem` upKeys = onUiState cs moveFocusUp
| k `elem` downKeys = onUiState cs moveFocusDown
| k `elem` editKeys = onUiState cs editCurrentNode
| k `elem` deleteKeys = do
liftIO $ sendPacket (csConn cs) $ ClientDelete (getFocusedPath $ csUiState cs)
continue cs
| k `elem` replyKeys = onUiState cs replyToCurrentNode
| k `elem` replyKeys = onUiState cs (replyToCurrentNode . unfoldAtFocus)
| k `elem` replyKeys' = onUiState cs replyAfterCurrentNode
| k `elem` actKeys = do
liftIO $ sendPacket (csConn cs) $ ClientAct (getFocusedPath $ csUiState cs)