HaRe 0.7.2.5 → 0.7.2.6
raw patch · 9 files changed
+34/−26 lines, 9 filesdep ~haskell-token-utilsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: haskell-token-utils
API changes (from Hackage documentation)
- Language.Haskell.Refact.API: lexStringToRichTokens :: RealSrcLoc -> String -> IO [PosToken]
- Language.Haskell.Refact.Utils.GhcVersionSpecific: lexStringToRichTokens :: RealSrcLoc -> String -> IO [PosToken]
- Language.Haskell.Refact.Utils.LocUtils: basicTokenise :: String -> IO [PosToken]
- Language.Haskell.Refact.Utils.LocUtils: tokenise :: RealSrcLoc -> Int -> Bool -> String -> IO [PosToken]
+ Language.Haskell.Refact.API: f2gs :: ForestSpan -> SrcSpan
+ Language.Haskell.Refact.API: gs2f :: SrcSpan -> ForestSpan
+ Language.Haskell.Refact.API: gs2ss :: SrcSpan -> SimpSpan
+ Language.Haskell.Refact.API: lexStringToTokens :: IsToken a => SimpSpan -> String -> [a]
+ Language.Haskell.Refact.API: ss2gs :: SimpSpan -> SrcSpan
- Language.Haskell.Refact.API: basicTokenise :: String -> IO [PosToken]
+ Language.Haskell.Refact.API: basicTokenise :: IsToken a => String -> [a]
- Language.Haskell.Refact.API: tokenise :: RealSrcLoc -> Int -> Bool -> String -> IO [PosToken]
+ Language.Haskell.Refact.API: tokenise :: IsToken a => SimpSpan -> Int -> Bool -> String -> [a]
Files
- ChangeLog +2/−0
- HaRe.cabal +2/−2
- src/Language/Haskell/Refact/API.hs +6/−2
- src/Language/Haskell/Refact/Refactoring/Case.hs +8/−5
- src/Language/Haskell/Refact/Refactoring/MoveDef.hs +1/−1
- src/Language/Haskell/Refact/Utils/GhcVersionSpecific.hs +3/−3
- src/Language/Haskell/Refact/Utils/LocUtils.hs +4/−4
- src/Language/Haskell/Refact/Utils/MonadFunctions.hs +2/−2
- src/Language/Haskell/Refact/Utils/TypeUtils.hs +6/−7
ChangeLog view
@@ -1,3 +1,5 @@+2014-07-20 v0.7.2.6+ tokenise / basicTokenise moved to haskell-token-utils 2014-07-16 v0.7.2.5 Fix incompatibility with haskell-token-utils 0.0.0.3, closing issue #14
HaRe.cabal view
@@ -1,5 +1,5 @@ Name: HaRe-Version: 0.7.2.5+Version: 0.7.2.6 Author: Chris Brown, Huiqing Li, Simon Thompson, Alan Zimmerman Maintainer: Alan Zimmerman Stability: Alpha@@ -66,7 +66,7 @@ , Strafunski-StrategyLib , syz - , haskell-token-utils >= 0.0.0.3+ , haskell-token-utils >= 0.0.0.4 GHC-Options: -Wall
src/Language/Haskell/Refact/API.hs view
@@ -365,7 +365,7 @@ , prettyprint , prettyprint2 , ppType- , lexStringToRichTokens+ , lexStringToTokens , getDataConstructors , setGhcContext @@ -373,6 +373,10 @@ , Positioning(..) , reIndentToks , ghcSrcSpanToForestSpan++ -- * Span conversion functions+ , gs2f,f2gs+ , gs2ss,ss2gs ) where import Language.Haskell.Refact.Utils.Binds@@ -389,4 +393,4 @@ import Language.Haskell.TokenUtils.Types import Language.Haskell.TokenUtils.TokenUtils import Language.Haskell.TokenUtils.Utils--- import Language.Haskell.TokenUtils.GHC.Layout+import Language.Haskell.TokenUtils.GHC.Layout
src/Language/Haskell/Refact/Refactoring/Case.hs view
@@ -54,12 +54,15 @@ -- drawTokenTreeDetailed "reallyDoIfToCase" -- ++AZ++ debug newExp <- ifToCaseTransform exp1 - let (GHC.RealSrcLoc rl) = GHC.srcSpanStart l- caseTok <- liftIO $ tokenise rl 0 False "case"+ -- let (GHC.RealSrcLoc rl) = GHC.srcSpanStart l+ let caseTok = tokenise (gs2ss l) 0 False "case" condToks <- getToksForSpan l1- ofTok <- liftIO $ tokenise (realSrcLocFromTok (glast "reallyDoIfToCase" condToks)) 1 True "of"- trueToks <- liftIO $ basicTokenise "True ->"- falseToks <- liftIO $ basicTokenise "False ->"+ let ofTok = tokenise+ (gs2ss $ tokenSrcSpan (glast "reallyDoIfToCase" condToks))+ -- (realSrcLocFromTok (glast "reallyDoIfToCase" condToks))+ 1 True "of"+ let trueToks = basicTokenise "True ->"+ let falseToks = basicTokenise "False ->" thenToksRaw <- getToksForSpan l2 elseToksRaw <- getToksForSpan l3
src/Language/Haskell/Refact/Refactoring/MoveDef.hs view
@@ -819,7 +819,7 @@ newStr = ":: " ++ (intercalate " -> " $ map printSigComponent ts) ++ " -> " logm $ "addParamsToSigs:replaceSpan=" ++ showGhc replaceSpan logm $ "addParamsToSigs:newStr=[" ++ newStr ++ "]"- newToks <- liftIO $ basicTokenise newStr+ let newToks = basicTokenise newStr void $ putToksForSpan replaceSpan newToks let typ' = foldl addOneType ltyp ts sigOk <- isNewSignatureOk ts
src/Language/Haskell/Refact/Utils/GhcVersionSpecific.hs view
@@ -8,7 +8,7 @@ , prettyprint , prettyprint2 , ppType- , lexStringToRichTokens+ -- , lexStringToRichTokens , getDataConstructors , setGhcContext )@@ -65,7 +65,7 @@ -- --------------------------------------------------------------------- -+{- moved to haskell-token-utils lexStringToRichTokens :: GHC.RealSrcLoc -> String -> IO [PosToken] lexStringToRichTokens startLoc str = do -- error $ "lexStringToRichTokens: (startLoc,str)=" ++ (showGhc (startLoc,str)) -- ++AZ@@ -87,7 +87,7 @@ GHC.PFailed _srcSpan _msg -> error $ "lexStringToRichTokens:" -- ++ (show $ GHC.ppr msg) -- addSourceToTokens :: RealSrcLoc -> StringBuffer -> [Located Token] -> [(Located Token, String)]-+-} -- ---------------------------------------------------------------------
src/Language/Haskell/Refact/Utils/LocUtils.hs view
@@ -49,8 +49,8 @@ {-, prettyprint ,deleteFromToks, prettyprintGuardsAlt, -}- , tokenise- , basicTokenise+ -- , tokenise+ -- , basicTokenise -- , prettyprint -- , prettyprintGhc , prettyprintPatList , groupTokensByLine@@ -307,7 +307,7 @@ else s:replaceTabBySpaces ss -- ----------------------------------------------------------------------+{- -- | Convert a string into a set of Haskell tokens, following the -- given position, with each line indented by a given column offset if -- required@@ -340,7 +340,7 @@ where -- startPos = (GHC.mkRealSrcLoc tokenFileMark 0 1) startPos = (GHC.mkRealSrcLoc (GHC.mkFastString "foo") 0 1)-+-} -- --------------------------------------------------------------------- --Should add cases for literals.
src/Language/Haskell/Refact/Utils/MonadFunctions.hs view
@@ -443,7 +443,7 @@ updateToks (GHC.L sspan _) newAST printFun addTrailingNl = do logm $ "updateToks " ++ (showGhc sspan) ++ ":" ++ (show (showSrcSpanF sspan))- newToks <- liftIO $ basicTokenise (printFun newAST)+ let newToks = basicTokenise (printFun newAST) let newToks' = if addTrailingNl then newToks ++ [newLnToken (last newToks)] else newToks@@ -461,7 +461,7 @@ updateToksWithPos (startPos,endPos) newAST printFun addTrailingNl = do -- newToks <- liftIO $ basicTokenise (printFun newAST)- newToks <- liftIO $ basicTokenise (printFun newAST)+ let newToks = basicTokenise (printFun newAST) let newToks' = if addTrailingNl then newToks ++ [newLnToken (last newToks)] else newToks
src/Language/Haskell/Refact/Utils/TypeUtils.hs view
@@ -2788,7 +2788,7 @@ let startPos = tokenPos lastTok let endPos = tokenPosEnd lastTok - newToks <- liftIO $ basicTokenise (showGhc impDecl)+ let newToks = basicTokenise (showGhc impDecl) logm $ "addImportDecl:newToks=" ++ (show newToks) -- ++AZ++ void $ addToksAfterPos (startPos,endPos) (PlaceOffset 1 0 1) newToks return (groupedDecls, (imp++[(mkNewLSomething impDecl)]), b, c)@@ -2885,7 +2885,7 @@ Just _ts -> "" Nothing -> "\n" ++ (intercalate "\n" $ map prettyprint maybeSig) -- logm $ "makeNewToks:declStr=[" ++ declStr ++ "]"- newToks <- liftIO $ tokenise (realSrcLocFromTok mkZeroToken) 0 True (sigStr ++ declStr)+ let newToks = tokenise ((0,0),(0,0)) 0 True (sigStr ++ declStr) return newToks -- ---------------------------------------------------------------------@@ -2978,7 +2978,7 @@ then getStartEndLoc parent' else getStartEndLoc localDecls - newToks <- liftIO $ basicTokenise newSource+ let newToks = basicTokenise newSource (newFun',_) <- addLocInfo (newFun, newToks) @@ -3183,8 +3183,8 @@ let newStr = (prettyprintPatList prettyprint True newParams) case place of- Left l@(GHC.RealSrcSpan ss) -> do- newToks' <- liftIO $ tokenise (GHC.realSrcSpanStart ss) 0 False newStr+ Left l@(GHC.RealSrcSpan _ss) -> do+ let newToks' = tokenise (gs2ss l) 0 False newStr let newToks = map markToken newToks' _ <- addToksAfterSpan l PlaceAdjacent newToks return ()@@ -3195,8 +3195,7 @@ toks <- getToksForSpan l let oldStr = GHC.showRichTokenStream $ rmOffsetFromToks toks- combinedToks <- liftIO $ tokenise (realSrcLocFromTok- $ ghead "addFormalParams" toks)+ let combinedToks = tokenise (gs2ss $ tokenSrcSpan $ ghead "addFormalParams" toks) 0 False (newStr ++ " " ++ oldStr) _ <- putToksForSpan l combinedToks