language-ecmascript 0.12 → 0.13
raw patch · 2 files changed
+40/−3 lines, 2 filesnew-uploaderPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Language.ECMAScript3.PrettyPrint: class PP a
+ Language.ECMAScript3.PrettyPrint: instance PP (Expression a)
+ Language.ECMAScript3.PrettyPrint: instance PP (ForInit a)
+ Language.ECMAScript3.PrettyPrint: instance PP (LValue a)
+ Language.ECMAScript3.PrettyPrint: instance PP (Statement a)
+ Language.ECMAScript3.PrettyPrint: instance PP AssignOp
+ Language.ECMAScript3.PrettyPrint: instance PP InfixOp
+ Language.ECMAScript3.PrettyPrint: instance PP PrefixOp
+ Language.ECMAScript3.PrettyPrint: instance PP [Statement a]
+ Language.ECMAScript3.PrettyPrint: pp :: PP a => a -> Doc
Files
language-ecmascript.cabal view
@@ -1,5 +1,5 @@ Name: language-ecmascript-Version: 0.12+Version: 0.13 Cabal-Version: >= 1.10 Copyright: (c) 2007-2012 Brown University, (c) 2008-2010 Claudiu Saftoiu, (c) 2012-2013 Stevens Institute of Technology@@ -30,7 +30,7 @@ Source-repository this type: git location: git://github.com/jswebtools/language-ecmascript.git- tag: 0.12+ tag: 0.13 Library Hs-Source-Dirs:
src/Language/ECMAScript3/PrettyPrint.hs view
@@ -1,14 +1,51 @@--- |Pretty-printing JavaScript.+{-# LANGUAGE FlexibleInstances #-}++-- | Pretty-printing JavaScript. module Language.ECMAScript3.PrettyPrint ( javaScript , renderStatements , renderExpression+ , PP (..) ) where import Text.PrettyPrint.HughesPJ import Language.ECMAScript3.Syntax import Prelude hiding (maybe)++------------------------------------------------------------------------------++class PP a where + pp :: a -> Doc++instance PP [Statement a] where + pp = stmtList ++instance PP (Expression a) where + pp = ppExpression True++instance PP (Statement a) where + pp = ppStatement++instance PP (ForInit a) where + pp = forInit ++instance PP (LValue a) where + pp = ppLValue ++instance PP InfixOp where + pp = infixOp ++instance PP AssignOp where + pp = assignOp++instance PP PrefixOp where + pp = prefixOp+++----------------------------------------------------------------------------++ -- | Renders a list of statements as a 'String' renderStatements :: [Statement a] -> String