{-# LANGUAGE Safe #-}
module Text.Gigaparsec.Errors.Combinator (module Text.Gigaparsec.Errors.Combinator) where
import Text.Gigaparsec (Parsec)
import Text.Gigaparsec.Internal.Require (require)
import Data.Set (Set)
label :: Set String -> Parsec a -> Parsec a
label :: forall a. Set String -> Parsec a -> Parsec a
label Set String
ls =
forall a. Bool -> String -> String -> a -> a
require (Bool -> Bool
not (forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
any forall (t :: * -> *) a. Foldable t => t a -> Bool
null Set String
ls)) String
"Text.Gigaparsec.Errors.Combinator.label" String
"labels cannot be empty" forall a. a -> a
id
{-# INLINE (<?>) #-}
infix 0 <?>
(<?>) :: Parsec a -> Set String -> Parsec a
<?> :: forall a. Parsec a -> Set String -> Parsec a
(<?>) = forall a b c. (a -> b -> c) -> b -> a -> c
flip forall a. Set String -> Parsec a -> Parsec a
label