From 412cee9abfef0bd5b13064955ddafc6aeb678443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Thu, 26 Nov 2015 16:19:11 +0100 Subject: [PATCH] Log exceptions in `browse` --- Language/Haskell/GhcMod/Browse.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Language/Haskell/GhcMod/Browse.hs b/Language/Haskell/GhcMod/Browse.hs index fce0a51..a30eb61 100644 --- a/Language/Haskell/GhcMod/Browse.hs +++ b/Language/Haskell/GhcMod/Browse.hs @@ -15,6 +15,7 @@ import Language.Haskell.GhcMod.Doc (showPage, styleUnqualified) import Language.Haskell.GhcMod.Gap as Gap import Language.Haskell.GhcMod.Monad import Language.Haskell.GhcMod.Types +import Language.Haskell.GhcMod.Logging import Name (getOccString) import Outputable import TyCon (isAlgTyCon) @@ -35,9 +36,12 @@ browse pkgmdl = do where -- TODO: Add API to Gm.Target to check if module is home module without -- bringing up a GHC session as well then this can be made a lot cleaner - go = ghandle (\(SomeException _) -> return []) $ do + go = ghandle (\ex@(SomeException _) -> logException ex >> return []) $ do goPkgModule `G.gcatch` (\(SomeException _) -> goHomeModule) + logException ex = + gmLog GmException "browse" $ showDoc ex + goPkgModule = do opt <- options runGmPkgGhc $