HaRe 0.7.1.0 → 0.7.1.1
raw patch · 4 files changed
+26/−17 lines, 4 files
Files
- HaRe.cabal +1/−1
- src/Language/Haskell/Refact/Utils.hs +10/−2
- src/Language/Haskell/Refact/Utils/Monad.hs +6/−5
- src/MainHaRe.hs +9/−9
HaRe.cabal view
@@ -1,5 +1,5 @@ Name: HaRe-Version: 0.7.1.0+Version: 0.7.1.1 Author: Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman Maintainer: Alan Zimmerman Stability: Alpha
src/Language/Haskell/Refact/Utils.hs view
@@ -497,8 +497,16 @@ $ map summaryNodeSummary $ GHC.reachableG rg modNode let clients = concatMap (\(f,mg) -> zip (repeat f) (getClients mg)) ms'- -- return (concatMap getClients ms')- return clients+ -- Need to strip out duplicates, based on the snd of the tuple+ clients' = nubBy cc clients+ cc (_,mg1) (_,mg2)+ = if (show $ GHC.ms_mod mg1) == "Main" || (show $ GHC.ms_mod mg2) == "Main" + then False+ else mycomp mg1 mg2++ logm $ "clientModsAndFiles:clients=" ++ show clients+ logm $ "clientModsAndFiles:clients'=" ++ show clients'+ return clients' -- TODO : find decent name and place for this. mycomp :: GHC.ModSummary -> GHC.ModSummary -> Bool
src/Language/Haskell/Refact/Utils/Monad.hs view
@@ -234,17 +234,18 @@ -- getCabalAllTargets :: Cradle -> PackageDescription -> IO ([FilePath],[FilePath],[FilePath],[FilePath]) getCabalAllTargets cradle cabal = do currentDir <- getCurrentDirectory- setCurrentDirectory $ gfromJust "getCabalAllTargets" (cradleCabalDir cradle)+ let cabalDir = gfromJust "getCabalAllTargets" (cradleCabalDir cradle)+ setCurrentDirectory cabalDir (libs,exes,tests,benches) <- liftIO $ cabalAllTargets cabal setCurrentDirectory currentDir let -- libs' = addCurrentDir libs- exes' = addCurrentDir exes- tests' = addCurrentDir tests- benches' = addCurrentDir benches+ exes' = addCabalDir exes+ tests' = addCabalDir tests+ benches' = addCabalDir benches - addCurrentDir ts = map (\t -> combine currentDir t) ts+ addCabalDir ts = map (\t -> combine cabalDir t) ts return (libs,exes',tests',benches')
src/MainHaRe.hs view
@@ -127,22 +127,22 @@ res <- case cmdArg0 of -- demote wants FilePath -> SimpPos- "demote" -> runFunc $ demote opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3)+ "demote" -> runFunc cradle $ demote opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3) -- dupdef wants FilePath -> String -> SimpPos- "dupdef" -> runFunc $ duplicateDef opt cradle cmdArg1 cmdArg2 (parseSimpPos cmdArg3 cmdArg4)+ "dupdef" -> runFunc cradle $ duplicateDef opt cradle cmdArg1 cmdArg2 (parseSimpPos cmdArg3 cmdArg4) -- iftocase wants FilePath -> SimpPos -> SimpPos- "iftocase" -> runFunc $ ifToCase opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3) (parseSimpPos cmdArg4 cmdArg5)+ "iftocase" -> runFunc cradle $ ifToCase opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3) (parseSimpPos cmdArg4 cmdArg5) -- liftOneLevel wants FilePath -> SimpPos- "liftOneLevel" -> runFunc $ liftOneLevel opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3)+ "liftOneLevel" -> runFunc cradle $ liftOneLevel opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3) -- liftToTopLevel wants FilePath -> SimpPos- "liftToTopLevel" -> runFunc $ liftToTopLevel opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3)+ "liftToTopLevel" -> runFunc cradle $ liftToTopLevel opt cradle cmdArg1 (parseSimpPos cmdArg2 cmdArg3) -- rename wants FilePath -> String -> SimpPos- "rename" -> runFunc $ rename opt cradle cmdArg1 cmdArg2 (parseSimpPos cmdArg3 cmdArg4)+ "rename" -> runFunc cradle $ rename opt cradle cmdArg1 cmdArg2 (parseSimpPos cmdArg3 cmdArg4) "show" -> putStrLn (show (opt,cradle)) @@ -183,11 +183,11 @@ ---------------------------------------------------------------- -runFunc :: IO [String] -> IO ()-runFunc f = do+runFunc :: Cradle -> IO [String] -> IO ()+runFunc cradle f = do r <- catchException f let ret = case r of- Left s -> "(error " ++ (show s) ++ ")"+ Left s -> "(error " ++ (show s) ++ "[" ++ (show $ cradleCabalFile cradle) ++ "])" Right mfs -> "(ok " ++ showLisp mfs ++ ")" putStrLn ret