-- | This libraries provides an in-other-words effect that provides interactive -- command line usage. -- -- This module provides the following effects: -- -- * 'Readline' which offers basic I/O operations on the command line -- -- * 'HandleInterrupt' which offers the ability to handle Ctrl-C interrupts -- -- In addition to providing effects/handlers this also re-exports haskeline's -- types/functions where relevant, so you shouldn't need to import any -- haskeline modules. -- -- If you need to tamper with the history functionality provided by haskeline, -- check out "Control.Effect.Readline.History" which provides a -- 'Control.Effect.Readline.History.ReadlineHistory' effect for doing that. module Control.Effect.Readline ( -- * Effect and Actions -- ** Readline Readline (..), getInputLine, getInputLineWithInitial, getInputChar, getPassword, waitForAnyKey, outputStr, outputStrLn, -- ** HandleInterrupt HandleInterrupt (..), withInterrupt, handleInterrupt, catchInterrupt, -- * Interpreters runReadline, runReadlineBehavior, runReadlineWithPrefs, runReadlineBehaviorWithPrefs, runReadline', runReadlineBehavior', runReadlineWithPrefs', runReadlineBehaviorWithPrefs', -- * Carriers + Threading ReadlineC, ReadlineInterruptC, ReadlineThreads, -- * Re-exports from haskeline -- ** Settings H.Settings (..), H.defaultSettings, H.setComplete, -- *** Completion module System.Console.Haskeline.Completion, -- ** Behavior H.Behavior, H.defaultBehavior, H.useFileHandle, H.useFile, H.preferTerm, -- ** Preferences H.Prefs, H.readPrefs, H.defaultPrefs, ) where import Control.Effect.Readline.Internal import qualified System.Console.Haskeline as H import System.Console.Haskeline.Completion