module LogType (Log(..)) where
import qualified Development.IDE.LSP.Notifications as Notifications
import qualified Development.IDE.Main as IDE
import qualified Development.IDE.Plugin.HLS.GhcIde as Ghcide
import Ide.Logger (Pretty (pretty))
import Language.LSP.VFS (VfsLog)
data Log
= LogGhcIde Ghcide.Log
| LogIDEMain IDE.Log
| LogVfs VfsLog
| LogNotifications Notifications.Log
instance Pretty Log where
pretty = \case
LogGhcIde log -> pretty log
LogIDEMain log -> pretty log
LogVfs log -> pretty log
LogNotifications log -> pretty log