on master help sign in
Tag errors as errors rather than debug messages (#360)
7574885david-md-da
src/Development/IDE/Logger.hs+6−3
@@ -13,10 +13,13 @@ module Development.IDE.Logger
13import qualified Data.Text as T
13import qualified Data.Text as T
14import GHC.Stack
14import GHC.Stack
15
15
16−data Handle m = Handle
16+data Handle m = Handle {
17+ logError :: HasCallStack => T.Text -> m ()
18+ , logWarning :: HasCallStack => T.Text -> m ()
17− { logInfo :: HasCallStack => T.Text -> m ()
19+ , logInfo :: HasCallStack => T.Text -> m ()
18 , logDebug :: HasCallStack => T.Text -> m ()
20 , logDebug :: HasCallStack => T.Text -> m ()
19 }
21 }
20
22
21makeNopHandle :: Monad m => Handle m
23makeNopHandle :: Monad m => Handle m
22−makeNopHandle = Handle (const $ pure ()) (const $ pure ())
24+makeNopHandle = Handle e e e e where
25+ e _ = pure ()
src/Development/IDE/State/Service.hs+5−2
@@ -16,7 +16,7 @@ module Development.IDE.State.Service(
16 setFilesOfInterest,
16 setFilesOfInterest,
17 writeProfile,
17 writeProfile,
18 getDiagnostics, unsafeClearDiagnostics,
18 getDiagnostics, unsafeClearDiagnostics,
19− logDebug
19+ logDebug, logInfo, logWarning, logError
20 ) where
20 ) where
21
21
22import Control.Concurrent.Extra
22import Control.Concurrent.Extra
@@ -120,5 +120,8 @@ setFilesOfInterest state files = do
120getServiceEnv :: Action Env
120getServiceEnv :: Action Env
121getServiceEnv = getIdeGlobalAction
121getServiceEnv = getIdeGlobalAction
122
122
123−logDebug :: IdeState -> T.Text -> IO ()
123+logDebug, logInfo, logWarning, logError :: IdeState -> T.Text -> IO ()
124logDebug = shakeLogDebug
124logDebug = shakeLogDebug
125+logInfo = shakeLogInfo
126+logWarning = shakeLogWarning
127+logError = shakeLogError
src/Development/IDE/State/Shake.hs+16−5
@@ -23,6 +23,9 @@ module Development.IDE.State.Shake(
23 setPriority,
23 setPriority,
24 sendEvent,
24 sendEvent,
25 shakeLogDebug,
25 shakeLogDebug,
26+ shakeLogInfo,
27+ shakeLogWarning,
28+ shakeLogError,
26 ) where
29 ) where
27
30
28import Development.Shake
31import Development.Shake
@@ -36,7 +39,7 @@ import Data.Maybe
36import Data.Either
39import Data.Either
37import Data.List.Extra
40import Data.List.Extra
38import qualified Data.Text as T
41import qualified Data.Text as T
39−import qualified Development.IDE.Logger as Logger
42+import Development.IDE.Logger as Logger
40import Development.IDE.Types.LSP
43import Development.IDE.Types.LSP
41import Development.IDE.Types.Diagnostics
44import Development.IDE.Types.Diagnostics
42import Control.Concurrent.Extra
45import Control.Concurrent.Extra
@@ -275,12 +278,12 @@ uses_ key files = do
275reportSeriousError :: String -> Action ()
278reportSeriousError :: String -> Action ()
276reportSeriousError t = do
279reportSeriousError t = do
277 ShakeExtras{logger} <- getShakeExtras
280 ShakeExtras{logger} <- getShakeExtras
278− liftIO $ Logger.logInfo logger $ T.pack t
281+ liftIO $ Logger.logError logger $ T.pack t
279
282
280reportSeriousErrorDie :: String -> Action a
283reportSeriousErrorDie :: String -> Action a
281reportSeriousErrorDie t = do
284reportSeriousErrorDie t = do
282 ShakeExtras{logger} <- getShakeExtras
285 ShakeExtras{logger} <- getShakeExtras
283− liftIO $ Logger.logInfo logger $ T.pack t
286+ liftIO $ Logger.logError logger $ T.pack t
284 fail t
287 fail t
285
288
286
289
@@ -385,5 +388,13 @@ sendEvent e = do
385 ShakeExtras{eventer} <- getShakeExtras
388 ShakeExtras{eventer} <- getShakeExtras
386 liftIO $ eventer e
389 liftIO $ eventer e
387
390
391+-- | bit of an odd signature because we're trying to remove priority
388−shakeLogDebug :: IdeState -> T.Text -> IO ()
392+sl :: (Handle IO -> T.Text -> IO ()) -> IdeState -> T.Text -> IO ()
389−shakeLogDebug IdeState{shakeExtras=ShakeExtras{logger}} msg = Logger.logDebug logger msg
393+sl f IdeState{shakeExtras=ShakeExtras{logger}} p = f logger p
394+
395+shakeLogDebug, shakeLogInfo, shakeLogWarning, shakeLogError
396+ :: IdeState -> T.Text -> IO ()
397+shakeLogDebug = sl logDebug
398+shakeLogInfo = sl logInfo
399+shakeLogWarning = sl logWarning
400+shakeLogError = sl logError