{-# LANGUAGE TemplateHaskell #-}
module Data.Macaw.Panic (
    P.panic
  , Component(..)
  ) where

import qualified Panic as P

data Component = Base
  deriving (Int -> Component -> ShowS
[Component] -> ShowS
Component -> String
(Int -> Component -> ShowS)
-> (Component -> String)
-> ([Component] -> ShowS)
-> Show Component
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Component -> ShowS
showsPrec :: Int -> Component -> ShowS
$cshow :: Component -> String
show :: Component -> String
$cshowList :: [Component] -> ShowS
showList :: [Component] -> ShowS
Show)

instance P.PanicComponent Component where
  panicComponentName :: Component -> String
panicComponentName = Component -> String
forall a. Show a => a -> String
show
  panicComponentIssues :: Component -> String
panicComponentIssues Component
_ = String
"https://github.com/GaloisInc/macaw/issues"
  panicComponentRevision :: Component -> (String, String)
panicComponentRevision = $(P.useGitRevision)