packages feed

panda-0.0.0.5: Panda/Helper/Escape.hs

module Panda.Helper.Escape where

import Text.ParserCombinators.Parsec
import Char
import Data.Either.Utils

unicode_char :: Parser Char
unicode_char = do
  char '&'
  char '#'
  word <- many1 digit
  char ';'
  return $ chr (read word)

unescape_parser :: Parser String
unescape_parser = many (unicode_char <|> anyChar)

unescape s = forceEither $ parse unescape_parser "" s