module Language.Haskell.Formatter.Error
(Error, createStyleFormatError, createParseError, createAssertionError,
isAssertionError)
where
import qualified Language.Haskell.Formatter.Location as Location
import qualified Language.Haskell.Formatter.Source as Source
data Error = StyleFormatError String
| ParseError Location.SrcLoc String
| AssertionError String
deriving (Error -> Error -> Bool
(Error -> Error -> Bool) -> (Error -> Error -> Bool) -> Eq Error
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Error -> Error -> Bool
$c/= :: Error -> Error -> Bool
== :: Error -> Error -> Bool
$c== :: Error -> Error -> Bool
Eq, Eq Error
Eq Error
-> (Error -> Error -> Ordering)
-> (Error -> Error -> Bool)
-> (Error -> Error -> Bool)
-> (Error -> Error -> Bool)
-> (Error -> Error -> Bool)
-> (Error -> Error -> Error)
-> (Error -> Error -> Error)
-> Ord Error
Error -> Error -> Bool
Error -> Error -> Ordering
Error -> Error -> Error
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Error -> Error -> Error
$cmin :: Error -> Error -> Error
max :: Error -> Error -> Error
$cmax :: Error -> Error -> Error
>= :: Error -> Error -> Bool
$c>= :: Error -> Error -> Bool
> :: Error -> Error -> Bool
$c> :: Error -> Error -> Bool
<= :: Error -> Error -> Bool
$c<= :: Error -> Error -> Bool
< :: Error -> Error -> Bool
$c< :: Error -> Error -> Bool
compare :: Error -> Error -> Ordering
$ccompare :: Error -> Error -> Ordering
$cp1Ord :: Eq Error
Ord)
instance Show Error where
show :: Error -> String
show (StyleFormatError String
message) = String
message
show (ParseError SrcLoc
position String
message)
= [String] -> String
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat [SrcLoc -> String
forall a. Pretty a => a -> String
Source.prettyPrint SrcLoc
position, String
separator, String
message]
where separator :: String
separator = String
": "
show (AssertionError String
message) = String
message
createStyleFormatError :: String -> Error
createStyleFormatError :: String -> Error
createStyleFormatError = String -> Error
StyleFormatError
createParseError :: Location.SrcLoc -> String -> Error
createParseError :: SrcLoc -> String -> Error
createParseError = SrcLoc -> String -> Error
ParseError
createAssertionError :: String -> Error
createAssertionError :: String -> Error
createAssertionError = String -> Error
AssertionError
isAssertionError :: Error -> Bool
isAssertionError :: Error -> Bool
isAssertionError (StyleFormatError String
_) = Bool
False
isAssertionError (ParseError SrcLoc
_ String
_) = Bool
False
isAssertionError (AssertionError String
_) = Bool
True