module Text.InterpolatedString.QM.Internal.Parsers.Types ( Parser , StringPart (..) , LineBreaks (..) ) where type Parser = String -> String -> [StringPart] data LineBreaks = IgnoreLineBreaks | KeepLineBreaks | ReplaceLineBreaksWithSpaces deriving (Int -> LineBreaks -> ShowS [LineBreaks] -> ShowS LineBreaks -> String (Int -> LineBreaks -> ShowS) -> (LineBreaks -> String) -> ([LineBreaks] -> ShowS) -> Show LineBreaks forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [LineBreaks] -> ShowS $cshowList :: [LineBreaks] -> ShowS show :: LineBreaks -> String $cshow :: LineBreaks -> String showsPrec :: Int -> LineBreaks -> ShowS $cshowsPrec :: Int -> LineBreaks -> ShowS Show, LineBreaks -> LineBreaks -> Bool (LineBreaks -> LineBreaks -> Bool) -> (LineBreaks -> LineBreaks -> Bool) -> Eq LineBreaks forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: LineBreaks -> LineBreaks -> Bool $c/= :: LineBreaks -> LineBreaks -> Bool == :: LineBreaks -> LineBreaks -> Bool $c== :: LineBreaks -> LineBreaks -> Bool Eq) data StringPart = Literal String | AntiQuote String deriving Int -> StringPart -> ShowS [StringPart] -> ShowS StringPart -> String (Int -> StringPart -> ShowS) -> (StringPart -> String) -> ([StringPart] -> ShowS) -> Show StringPart forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [StringPart] -> ShowS $cshowList :: [StringPart] -> ShowS show :: StringPart -> String $cshow :: StringPart -> String showsPrec :: Int -> StringPart -> ShowS $cshowsPrec :: Int -> StringPart -> ShowS Show