intero 0.1.33 → 0.1.34
raw patch · 6 files changed
+49/−11 lines, 6 filesdep ~ghc
Dependency ranges changed: ghc
Files
- CHANGELOG +3/−0
- intero.cabal +2/−2
- src/Completion.hs +26/−0
- src/GhciInfo.hs +14/−5
- src/InteractiveUI.hs +3/−3
- src/Intero/Compat.hs +1/−1
CHANGELOG view
@@ -1,3 +1,6 @@+0.1.34:+ * Support for GHC 8.6.1+ 0.1.33: * Support for GHC 8.4.4
intero.cabal view
@@ -1,7 +1,7 @@ name: intero version:- 0.1.33+ 0.1.34 synopsis: Complete interactive development program for Haskell license:@@ -73,7 +73,7 @@ bytestring, directory, filepath,- ghc >= 7.8 && <= 8.4.4,+ ghc >= 7.8 && <= 8.6.1, ghc-paths, haskeline, process,
src/Completion.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE BangPatterns #-}+{-# LANGUAGE CPP #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-}@@ -172,13 +173,21 @@ typeAt rs expr = if getLoc expr == RealSrcSpan rs then case expr of+#if __GLASGOW_HASKELL__ >= 806+ L _ (HsVar _ (L _ i)) -> pure (idType i)+#else L _ (HsVar (L _ i)) -> pure (idType i)+#endif _ -> Nothing else Nothing getHoleName :: LHsExpr StageReaderName -> Maybe (OccName, RealSrcSpan) getHoleName = \case+#if __GLASGOW_HASKELL__ >= 806+ L someSpan (HsUnboundVar _ (TrueExprHole name)) -> do+#else L someSpan (HsUnboundVar (TrueExprHole name)) -> do+#endif rs <- getRealSrcSpan someSpan pure (name, rs) _ -> Nothing@@ -474,13 +483,21 @@ rdrNameToLHsExpr :: RdrName -> GenLocated SrcSpan (HsExpr StageReaderRdrName) rdrNameToLHsExpr rdrname = L (UnhelpfulSpan (mkFastString "Generated by rdrNameToLHsExpr"))+#if __GLASGOW_HASKELL__ >= 806+ (HsVar NoExt+#else (HsVar+#endif (L (UnhelpfulSpan (mkFastString "Generated by getWellTypedFills")) rdrname)) rdrNameToHsExpr :: RdrName -> HsExpr StageReaderRdrName rdrNameToHsExpr rdrname =+#if __GLASGOW_HASKELL__ >= 806+ HsVar NoExt+#else HsVar+#endif (L (UnhelpfulSpan (mkFastString "Generated by rdrNameToHsExpr")) rdrname) -- | Type-check the module without deferring type errors, and without@@ -508,7 +525,11 @@ where valD = \case+#if __GLASGOW_HASKELL__ >= 806+ L l (ValD _ hsBind) -> pure (L l hsBind)+#else L l (ValD hsBind) -> pure (L l hsBind)+#endif _ -> Nothing -- | Convert renamed source groups into one bag of binds.@@ -517,8 +538,13 @@ where unHsValBindsLR = \case+#if __GLASGOW_HASKELL__ >= 806+ ValBinds _ binds _ -> binds+ XValBindsLR (NValBinds pairs _) -> unionManyBags (map snd pairs)+#else ValBindsIn binds _ -> binds ValBindsOut pairs _ -> unionManyBags (map snd pairs)+#endif -- | Does X span over the point Y? realSpans :: SrcSpan -> (Int, Int) -> Bool
src/GhciInfo.hs view
@@ -148,7 +148,7 @@ -> LHsBind StageReaderId -> m [(Maybe Id,SrcSpan,Type)] #if MIN_VERSION_ghc(7,8,3)-getTypeLHsBind _ (L _spn FunBind{fun_id = pid,fun_matches = MG _ _ _typ _}) =+getTypeLHsBind _ (L _spn FunBind{fun_id = pid,fun_matches = MG{}}) = return (return (Just (unLoc pid),getLoc pid,varType (unLoc pid))) #else getTypeLHsBind _ (L _spn FunBind{fun_id = pid,fun_matches = MG _ _ _typ}) =@@ -178,7 +178,9 @@ Nothing -> return Nothing Just expr -> return (Just (case unwrapVar (unLoc e) of-#if __GLASGOW_HASKELL__ >= 800+#if __GLASGOW_HASKELL__ >= 806+ HsVar _ (L _ i) -> Just i+#elif __GLASGOW_HASKELL__ >= 800 HsVar (L _ i) -> Just i #else HsVar i -> Just i@@ -186,8 +188,13 @@ _ -> Nothing ,getLoc e ,CoreUtils.exprType expr))- where unwrapVar (HsWrap _ var) = var- unwrapVar e' = e'+ where+#if __GLASGOW_HASKELL__ >= 806+ unwrapVar (HsWrap _ _ var) = var+#else+ unwrapVar (HsWrap _ var) = var+#endif+ unwrapVar e' = e' -- | Get id and type for patterns. getTypeLPat :: (GhcMonad m)@@ -198,7 +205,9 @@ getPatType (ConPatOut (L _ (RealDataCon dc)) _ _ _ _ _ _) = dataConRepType dc getPatType pat' = hsPatType pat'-#if __GLASGOW_HASKELL__ >= 800+#if __GLASGOW_HASKELL__ >= 806+ getMaybeId (VarPat _ (L _ vid)) = Just vid+#elif __GLASGOW_HASKELL__ >= 800 getMaybeId (VarPat (L _ vid)) = Just vid #else getMaybeId (VarPat vid) = Just vid
src/InteractiveUI.hs view
@@ -992,7 +992,7 @@ installInteractivePrint Nothing _ = return () installInteractivePrint (Just ipFun) exprmode = do ok <- trySuccess $ do- (name:_) <- GHC.parseName ipFun+ name <- head <$> GHC.parseName ipFun modifySession (\he -> let new_ic = setInteractivePrintName (hsc_IC he) name in he{hsc_IC = new_ic}) return Succeeded@@ -3342,7 +3342,7 @@ case mb_span of Nothing -> stepCmd [] Just loc -> do- Just md <- getCurrentBreakModule+ md <- fromJust <$> getCurrentBreakModule current_toplevel_decl <- enclosingTickSpan md loc doContinue (`isSubspanOf` current_toplevel_decl) GHC.SingleStep @@ -3828,7 +3828,7 @@ getModBreak :: GHC.GhcMonad m => Module -> m (GHC.BreakArray, Array BreakIndex SrcSpan) #endif getModBreak m = do- Just mod_info <- GHC.getModuleInfo m+ mod_info <- fromJust <$> GHC.getModuleInfo m let modBreaks = GHC.modInfoModBreaks mod_info let arr = GHC.modBreaks_flags modBreaks let ticks = GHC.modBreaks_locs modBreaks
src/Intero/Compat.hs view
@@ -50,7 +50,7 @@ #if __GLASGOW_HASKELL__ <= 802 ghc_defaultDynFlags = defaultDynFlags #else-ghc_defaultDynFlags s = defaultDynFlags s []+ghc_defaultDynFlags s = defaultDynFlags s mempty #endif ghc_getInfo :: GhcMonad m => Bool -> Name -> m (Maybe (TyThing, Fixity, [ClsInst], [FamInst]))