haskell-tools-refactor-0.6.0.0: Language/Haskell/Tools/Refactor/Predefined/DollarApp1.hs
module Language.Haskell.Tools.Refactor.Predefined.DollarApp1 where
import Language.Haskell.Tools.Refactor
import Control.Reference
import SrcLoc (RealSrcSpan)
tryItOut :: String -> String -> IO ()
tryItOut = tryRefactor (localRefactoring . dollarApp)
dollarApp :: Domain dom => RealSrcSpan -> LocalRefactoring dom
dollarApp sp = return . (nodesContained sp .- replaceExpr)
replaceExpr :: Expr dom -> Expr dom
replaceExpr (App fun (Paren arg)) = mkInfixApp fun (mkUnqualOp "$") arg
replaceExpr e = e