module BrownPLT.Html.RawScript ( RawScript (..) , parseFromFile , parseFromString , RawHtml ) where import Data.Generics (Data, Typeable) import Text.PrettyPrint.HughesPJ (text) import Text.ParserCombinators.Parsec import BrownPLT.Html.Syntax import BrownPLT.Html.PermissiveParser type RawHtml = Html SourcePos RawScript data RawScript = RawScript String deriving (Show,Eq,Typeable,Data) instance Script RawScript where prettyPrintScript (RawScript s) = text s parseInlineScript = Nothing parseAttributeScript = Nothing parseScriptBlock _ = do s <- manyTill anyChar (string "") return (RawScript s) parseFromString :: String -> RawHtml parseFromString s = case parseHtmlFromString "" s of Left e -> error (show e) Right (html,_) -> html