module Language.Haskell.Tools.Refactor.Builtin.HelloRefactor where
import Language.Haskell.Tools.PrettyPrint (prettyPrint)
import Language.Haskell.Tools.Refactor
import Control.Reference ((.-))
import Debug.Trace (trace)
import SrcLoc (RealSrcSpan)
tryItOut :: String -> String -> IO ()
tryItOut = tryRefactor (localRefactoring . helloRefactor)
helloRefactor :: RealSrcSpan -> LocalRefactoring
helloRefactor sp = return . (nodesContained sp .- helloExpr)
helloExpr :: Expr -> Expr
helloExpr e = trace ("\n### Hello: " ++ prettyPrint e) $ e