selectors-0.0.1.0: XML/Selectors/CSS/TH.hs
{-# LANGUAGE TemplateHaskell #-}
module XML.Selectors.CSS.TH (css) where
import XML.Selectors.CSS.Parse
import XML.Selectors.CSS
import Language.Haskell.TH.Quote
import Language.Haskell.TH
-- | @ [css| #interface div.doc:first-child |] @ would select this paragraph.
css :: QuasiQuoter
css = QuasiQuoter { quoteExp = cssExp, quotePat = undefined, quoteDec = undefined, quoteType = undefined }
cssExp s = appE [|toAxis |] $ either fail (dataToExpQ $ const Nothing) $ parsePath s