linenoise-0.3.1: A lightweight readline-replacement library for Haskell

Safe HaskellNone
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
Functor InputResult Source # 
Instance details

Defined in Linenoise.FFI

Methods

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

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

Foldable InputResult Source # 
Instance details

Defined in Linenoise.FFI

Methods

fold :: Monoid m => InputResult m -> 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) #

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

Defined in Linenoise.FFI

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

Defined in Linenoise.FFI

data ReplDirective Source #

Directive to control voluntary REPL termination.

Constructors

ReplQuit 
ReplContinue 

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
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 #

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 #

MonadTrans (ReplT r s) Source # 
Instance details

Defined in Linenoise.Repl

Methods

lift :: Monad m => m a -> 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 #

fail :: String -> 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 #

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 #

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

Defined in Linenoise.Repl

Methods

fail :: String -> 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 #

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) #

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

Defined in Linenoise.Repl

Methods

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

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] #

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 #

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

Defined in Linenoise.Repl

Methods

throwM :: Exception e => e -> ReplT r s m a #

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

Defined in Linenoise.Repl

Methods

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

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

Defined in Linenoise.Repl

Methods

askUnliftIO :: ReplT r s m (UnliftIO (ReplT r s m)) #

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.