[client] Print exceptions encountered while UI is running
This commit is contained in:
parent
8c233ae4e0
commit
af8305bfac
1 changed files with 5 additions and 4 deletions
|
|
@ -26,7 +26,7 @@ import Forest.Util
|
||||||
{- First, the UI types -}
|
{- First, the UI types -}
|
||||||
|
|
||||||
data Event = EventNode Node
|
data Event = EventNode Node
|
||||||
| EventConnectionClosed T.Text
|
| EventConnectionClosed
|
||||||
|
|
||||||
data ClientState = ClientState
|
data ClientState = ClientState
|
||||||
{ csTree :: Tree
|
{ csTree :: Tree
|
||||||
|
|
@ -148,7 +148,7 @@ clientHandleEvent cs (VtyEvent ev) = case csEditor cs of
|
||||||
Just ed -> onKeyWithEditor ed cs ev
|
Just ed -> onKeyWithEditor ed cs ev
|
||||||
clientHandleEvent cs (AppEvent ev) = case ev of
|
clientHandleEvent cs (AppEvent ev) = case ev of
|
||||||
EventNode node -> continue cs{csTree = replaceNode node $ csTree cs}
|
EventNode node -> continue cs{csTree = replaceNode node $ csTree cs}
|
||||||
EventConnectionClosed _ -> halt cs
|
EventConnectionClosed -> halt cs
|
||||||
clientHandleEvent cs _ = continue cs
|
clientHandleEvent cs _ = continue cs
|
||||||
|
|
||||||
clientAttrMap :: AttrMap
|
clientAttrMap :: AttrMap
|
||||||
|
|
@ -208,8 +208,9 @@ runCorrectClient opts app
|
||||||
{- Gluing everything together -}
|
{- Gluing everything together -}
|
||||||
|
|
||||||
sendCloseEvent :: BChan Event -> SomeException -> IO ()
|
sendCloseEvent :: BChan Event -> SomeException -> IO ()
|
||||||
sendCloseEvent eventChan =
|
sendCloseEvent eventChan e = do
|
||||||
writeBChan eventChan . EventConnectionClosed . T.pack . show
|
putStrLn $ "Encountered exception: " ++ show e
|
||||||
|
writeBChan eventChan EventConnectionClosed
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue