linenoise-0.4.0: A lightweight readline-replacement library for Haskell
Safe HaskellSafe-Inferred
LanguageHaskell2010

Linenoise

Description

Re-exports of all public entities.

Synopsis

Documentation

data InputResult a Source #

Result of getInputLine.

Constructors

InterruptResult

ctrl+c

EofResult

ctrl+d

LineResult !a 

Instances

Instances details
Foldable InputResult Source # 
Instance details

Defined in Linenoise.FFI

Methods

fold :: Monoid m => InputResult m -> m #

foldMap :: Monoid m => (a -> m) -> InputResult a -> m #

foldMap' :: Monoid m => (a -> m) -> InputResult a -> m #

foldr :: (a -> b -> b) -> b -> InputResult a -> b #

foldr' :: (a -> b -> b) -> b -> InputResult a -> b #

foldl :: (b -> a -> b) -> b -> InputResult a -> b #

foldl' :: (b -> a -> b) -> b -> InputResult a -> b #

foldr1 :: (a -> a -> a) -> InputResult a -> a #

foldl1 :: (a -> a -> a) -> InputResult a -> a #

toList :: InputResult a -> [a] #

null :: InputResult a -> Bool #

length :: InputResult a -> Int #

elem :: Eq a => a -> InputResult a -> Bool #

maximum :: Ord a => InputResult a -> a #

minimum :: Ord a => InputResult a -> a #

sum :: Num a => InputResult a -> a #

product :: Num a => InputResult a -> a #

Traversable InputResult Source # 
Instance details

Defined in Linenoise.FFI

Methods

traverse :: Applicative f => (a -> f b) -> InputResult a -> f (InputResult b) #

sequenceA :: Applicative f => InputResult (f a) -> f (InputResult a) #

mapM :: Monad m => (a -> m b) -> InputResult a -> m (InputResult b) #

sequence :: Monad m => InputResult (m a) -> m (InputResult a) #

Functor InputResult Source # 
Instance details

Defined in Linenoise.FFI

Methods

fmap :: (a -> b) -> InputResult a -> InputResult b #

(<$) :: a -> InputResult b -> InputResult a #

Show a => Show (InputResult a) Source # 
Instance details

Defined in Linenoise.FFI

Eq a => Eq (InputResult a) Source # 
Instance details

Defined in Linenoise.FFI

data ReplDirective Source #

Directive to control voluntary REPL termination.

Constructors

ReplQuit 
ReplContinue 

Instances

Instances details
Show ReplDirective Source # 
Instance details

Defined in Linenoise.Repl

Eq ReplDirective Source # 
Instance details

Defined in Linenoise.Repl

newtype ReplT r s m a Source #

Basic monad transformer with mutable state that can be used with all Linenoise.Unlift functions. You do not have to use this, but it's here to cover most of what you would need without having to roll your own newtype.

Constructors

ReplT 

Fields

Instances

Instances details
Monad m => MonadReader r (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

ask :: ReplT r s m r #

local :: (r -> r) -> ReplT r s m a -> ReplT r s m a #

reader :: (r -> a) -> ReplT r s m a #

MonadIO m => MonadState s (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

get :: ReplT r s m s #

put :: s -> ReplT r s m () #

state :: (s -> (a, s)) -> ReplT r s m a #

MonadTrans (ReplT r s) Source # 
Instance details

Defined in Linenoise.Repl

Methods

lift :: Monad m => m a -> ReplT r s m a #

MonadFail m => MonadFail (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

fail :: String -> ReplT r s m a #

MonadFix m => MonadFix (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

mfix :: (a -> ReplT r s m a) -> ReplT r s m a #

MonadIO m => MonadIO (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

liftIO :: IO a -> ReplT r s m a #

MonadZip m => MonadZip (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

mzip :: ReplT r s m a -> ReplT r s m b -> ReplT r s m (a, b) #

mzipWith :: (a -> b -> c) -> ReplT r s m a -> ReplT r s m b -> ReplT r s m c #

munzip :: ReplT r s m (a, b) -> (ReplT r s m a, ReplT r s m b) #

Alternative m => Alternative (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

empty :: ReplT r s m a #

(<|>) :: ReplT r s m a -> ReplT r s m a -> ReplT r s m a #

some :: ReplT r s m a -> ReplT r s m [a] #

many :: ReplT r s m a -> ReplT r s m [a] #

Applicative m => Applicative (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

pure :: a -> ReplT r s m a #

(<*>) :: ReplT r s m (a -> b) -> ReplT r s m a -> ReplT r s m b #

liftA2 :: (a -> b -> c) -> ReplT r s m a -> ReplT r s m b -> ReplT r s m c #

(*>) :: ReplT r s m a -> ReplT r s m b -> ReplT r s m b #

(<*) :: ReplT r s m a -> ReplT r s m b -> ReplT r s m a #

Functor m => Functor (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

fmap :: (a -> b) -> ReplT r s m a -> ReplT r s m b #

(<$) :: a -> ReplT r s m b -> ReplT r s m a #

Monad m => Monad (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

(>>=) :: ReplT r s m a -> (a -> ReplT r s m b) -> ReplT r s m b #

(>>) :: ReplT r s m a -> ReplT r s m b -> ReplT r s m b #

return :: a -> ReplT r s m a #

MonadPlus m => MonadPlus (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

mzero :: ReplT r s m a #

mplus :: ReplT r s m a -> ReplT r s m a -> ReplT r s m a #

MonadCatch m => MonadCatch (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

catch :: (HasCallStack, Exception e) => ReplT r s m a -> (e -> ReplT r s m a) -> ReplT r s m a #

MonadThrow m => MonadThrow (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

throwM :: (HasCallStack, Exception e) => e -> ReplT r s m a #

MonadUnliftIO m => MonadUnliftIO (ReplT r s m) Source # 
Instance details

Defined in Linenoise.Repl

Methods

withRunInIO :: ((forall a. ReplT r s m a -> IO a) -> IO b) -> ReplT r s m b #

addHistory :: MonadIO m => Text -> m () Source #

Add to current history.

byWord :: Monad m => (Text -> m [Text]) -> Text -> m [Text] Source #

Complete by word.

clearScreen :: MonadIO m => m () Source #

Clear the screen.

getInputLine :: MonadIO m => Text -> m (InputResult Text) Source #

Run the prompt, yielding a string.

historyLoad :: MonadIO m => FilePath -> m () Source #

Load history from a file.

historySave :: MonadIO m => FilePath -> m () Source #

Save history to a file.

printKeycodes :: MonadIO m => m () Source #

Print keycodes.

replM Source #

Arguments

:: MonadUnliftIO m 
=> ReplDirective

Directive on interrupt

-> Text

Prompt

-> (Text -> m ReplDirective)

Action

-> (Text -> m [Text])

Completion

-> m () 

Run a simple REPL.

runReplT :: MonadIO m => ReplT r s m a -> r -> s -> m (a, s) Source #

Run a ReplT.

setCompletion :: MonadUnliftIO m => (Text -> m [Text]) -> m () Source #

Set the current completion function.

setMultiline :: MonadIO m => Bool -> m () Source #

Enable/Disable multiline input.

stifleHistory :: MonadIO m => Int -> m () Source #

Limit the maximum history length.