haskeline 0.7.2.1 → 0.7.2.2
raw patch · 7 files changed
+19/−21 lines, 7 filesdep ~basedep ~transformersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, transformers
API changes (from Hackage documentation)
- System.Console.Haskeline: autoAddHistory :: Settings m -> Bool
- System.Console.Haskeline: complete :: Settings m -> CompletionFunc m
- System.Console.Haskeline: historyFile :: Settings m -> Maybe FilePath
- System.Console.Haskeline.Completion: display :: Completion -> String
- System.Console.Haskeline.Completion: instance [overlap ok] Eq Completion
- System.Console.Haskeline.Completion: instance [overlap ok] Ord Completion
- System.Console.Haskeline.Completion: instance [overlap ok] Show Completion
- System.Console.Haskeline.Completion: isFinished :: Completion -> Bool
- System.Console.Haskeline.Completion: replacement :: Completion -> String
- System.Console.Haskeline.History: instance [overlap ok] Show History
- System.Console.Haskeline.MonadException: SomeException :: e -> SomeException
- System.Console.Haskeline.MonadException: instance [overlap ok] (MonadException m, Error e) => MonadException (ErrorT e m)
- System.Console.Haskeline.MonadException: instance [overlap ok] (Monoid w, MonadException m) => MonadException (RWST r w s m)
- System.Console.Haskeline.MonadException: instance [overlap ok] (Monoid w, MonadException m) => MonadException (WriterT w m)
- System.Console.Haskeline.MonadException: instance [overlap ok] MonadException IO
- System.Console.Haskeline.MonadException: instance [overlap ok] MonadException m => MonadException (ListT m)
- System.Console.Haskeline.MonadException: instance [overlap ok] MonadException m => MonadException (MaybeT m)
- System.Console.Haskeline.MonadException: instance [overlap ok] MonadException m => MonadException (ReaderT r m)
- System.Console.Haskeline.MonadException: instance [overlap ok] MonadException m => MonadException (StateT s m)
+ System.Console.Haskeline: [autoAddHistory] :: Settings m -> Bool
+ System.Console.Haskeline: [complete] :: Settings m -> CompletionFunc m
+ System.Console.Haskeline: [historyFile] :: Settings m -> Maybe FilePath
+ System.Console.Haskeline.Completion: [display] :: Completion -> String
+ System.Console.Haskeline.Completion: [isFinished] :: Completion -> Bool
+ System.Console.Haskeline.Completion: [replacement] :: Completion -> String
+ System.Console.Haskeline.Completion: instance GHC.Classes.Eq System.Console.Haskeline.Completion.Completion
+ System.Console.Haskeline.Completion: instance GHC.Classes.Ord System.Console.Haskeline.Completion.Completion
+ System.Console.Haskeline.Completion: instance GHC.Show.Show System.Console.Haskeline.Completion.Completion
+ System.Console.Haskeline.History: instance GHC.Show.Show System.Console.Haskeline.History.History
+ System.Console.Haskeline.MonadException: [SomeException] :: SomeException
+ System.Console.Haskeline.MonadException: instance (GHC.Base.Monoid w, System.Console.Haskeline.MonadException.MonadException m) => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
+ System.Console.Haskeline.MonadException: instance (GHC.Base.Monoid w, System.Console.Haskeline.MonadException.MonadException m) => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.Writer.Lazy.WriterT w m)
+ System.Console.Haskeline.MonadException: instance (System.Console.Haskeline.MonadException.MonadException m, Control.Monad.Trans.Error.Error e) => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.Error.ErrorT e m)
+ System.Console.Haskeline.MonadException: instance System.Console.Haskeline.MonadException.MonadException GHC.Types.IO
+ System.Console.Haskeline.MonadException: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.List.ListT m)
+ System.Console.Haskeline.MonadException: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.Maybe.MaybeT m)
+ System.Console.Haskeline.MonadException: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.Reader.ReaderT r m)
+ System.Console.Haskeline.MonadException: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Control.Monad.Trans.State.Strict.StateT s m)
- System.Console.Haskeline.MonadException: catches :: MonadException m => m a -> [Handler m a] -> m a
+ System.Console.Haskeline.MonadException: catches :: (MonadException m) => m a -> [Handler m a] -> m a
Files
- Changelog +7/−0
- System/Console/Haskeline/Command.hs +2/−2
- System/Console/Haskeline/Command/Completion.hs +3/−5
- System/Console/Haskeline/Directory.hsc +1/−1
- System/Console/Haskeline/InputT.hs +1/−8
- System/Console/Haskeline/Monads.hs +2/−2
- haskeline.cabal +3/−3
Changelog view
@@ -1,3 +1,10 @@+Changed in version 0.7.2.2:+ * Fix Linux to Windows cross-compile+ * Canonicalize AMP instances to make the code more future proof+ * Generalize constraints for InputT instances+ * Bump upper bounds on base and transformers+ * Make Haskeline `-Wtabs` clean+ Changed in version 0.7.2.1: * Fix build on Windows.
System/Console/Haskeline/Command.hs view
@@ -66,11 +66,11 @@ fmap = liftM instance Monad m => Applicative (CmdM m) where- pure = return+ pure = Result (<*>) = ap instance Monad m => Monad (CmdM m) where- return = Result+ return = pure GetKey km >>= g = GetKey $ fmap (>>= g) km DoEffect e f >>= g = DoEffect e (f >>= g)
System/Console/Haskeline/Command/Completion.hs view
@@ -21,7 +21,7 @@ where r | isFinished c = replacement c ++ " " | otherwise = replacement c -askIMCompletions :: CommandMonad m => +askIMCompletions :: CommandMonad m => Command m InsertMode (InsertMode, [Completion]) askIMCompletions (IMode xs ys) = do (rest, completions) <- lift $ runCompletion (withRev graphemesToString xs,@@ -72,7 +72,7 @@ pagingCompletion k prefs completions = \im -> do ls <- asks $ makeLines (map display completions) let pageAction = do- askFirst prefs (length completions) $ + askFirst prefs (length completions) $ if completionPaging prefs then printPage ls else effect (PrintLines ls)@@ -134,7 +134,7 @@ padWords _ [x] = x padWords _ [] = "" padWords len (x:xs) = x ++ replicate (len - glength x) ' '- ++ padWords len xs+ ++ padWords len xs where -- kludge: compute the length in graphemes, not chars. -- but don't use graphemes for the max length, since I'm not convinced@@ -159,5 +159,3 @@ ceilDiv :: Integral a => a -> a -> a ceilDiv m n | m `rem` n == 0 = m `div` n | otherwise = m `div` n + 1--
System/Console/Haskeline/Directory.hsc view
@@ -19,7 +19,7 @@ #endif #include <windows.h>-#include <Shlobj.h>+#include <shlobj.h> ##if defined(i386_HOST_ARCH) ## define WINDOWS_CCONV stdcall
System/Console/Haskeline/InputT.hs view
@@ -47,18 +47,11 @@ (ReaderT (IORef KillRing) (ReaderT Prefs (ReaderT (Settings m) m)))) a}- deriving (Monad, MonadIO, MonadException)+ deriving (Functor, Applicative, Monad, MonadIO, MonadException) -- NOTE: we're explicitly *not* making InputT an instance of our -- internal MonadState/MonadReader classes. Otherwise haddock -- displays those instances to the user, and it makes it seem like -- we implement the mtl versions of those classes.--instance Monad m => Functor (InputT m) where- fmap = liftM--instance Monad m => Applicative (InputT m) where- pure = return- (<*>) = ap instance MonadTrans InputT where lift = InputT . lift . lift . lift . lift . lift
System/Console/Haskeline/Monads.hs view
@@ -77,11 +77,11 @@ fmap = liftM instance Monad m => Applicative (StateT s m) where- pure = return+ pure x = StateT $ \s -> return $ \f -> f x s (<*>) = ap instance Monad m => Monad (StateT s m) where- return x = StateT $ \s -> return $ \f -> f x s+ return = pure StateT f >>= g = StateT $ \s -> do useX <- f s useX $ \x s' -> getStateTFunc (g x) s'
haskeline.cabal view
@@ -1,6 +1,6 @@ Name: haskeline Cabal-Version: >=1.10-Version: 0.7.2.1+Version: 0.7.2.2 Category: User Interfaces License: BSD3 License-File: LICENSE@@ -50,9 +50,9 @@ Default: False Library- Build-depends: base >=4.3 && < 4.9, containers>=0.4 && < 0.6,+ Build-depends: base >=4.3 && < 4.10, containers>=0.4 && < 0.6, directory>=1.1 && < 1.3, bytestring>=0.9 && < 0.11,- filepath >= 1.2 && < 1.5, transformers >= 0.2 && < 0.5+ filepath >= 1.2 && < 1.5, transformers >= 0.2 && < 0.6 Default-Language: Haskell98 Default-Extensions: ForeignFunctionInterface, Rank2Types, FlexibleInstances,