haskeline-0.6.3: A command-line interface for user input, written in Haskell.

System.Console.Haskeline.Encoding

Description

This module exposes the console Unicode API which is used by the functions in System.Console.Haskeline. On POSIX systems, it uses `iconv` plus the console's locale; on Windows it uses the console's current code page.

Characters or bytes which cannot be encoded/decoded (for example, not belonging to the output range) will be ignored.

Synopsis

- encode :: MonadIO m => String -> InputT m ByteString
- decode :: MonadIO m => ByteString -> InputT m String
- getEncoder :: Monad m => InputT m (String -> IO ByteString)
- getDecoder :: Monad m => InputT m (ByteString -> IO String)

# Documentation

encode :: MonadIO m => String -> InputT m ByteString

Encode a Unicode `String` into a `ByteString` suitable for the current console.

decode :: MonadIO m => ByteString -> InputT m String

Convert a `ByteString` from the console's encoding into a Unicode `String`.

getEncoder :: Monad m => InputT m (String -> IO ByteString)

getDecoder :: Monad m => InputT m (ByteString -> IO String)