Copyright | (c) Takayuki Muranushi 2016 |
---|---|
License | BSD3 |
Maintainer | whosekiteneverfly@gmail.com |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Text.Show.Unicode
Description
Provides a interactive printer for printing Unicode characters in ghci REPL. Our design goal is that uprint
produces String representations that are valid Haskell String
literals and uses as many Unicode printable characters as possible. Hence
read . ushow == id
see the tests of this package for detailed specifications.
Example
With print
:
$ ghci ... > ["哈斯克尔7.6.1"] ["\21704\26031\20811\23572\&7.6.1"] >
With uprint
:
$ ghci -interactive-print=Text.Show.Unicode.uprint Text.Show.Unicode ... Ok, modules loaded: Text.Show.Unicode. > ("Хорошо!",["哈斯克尔7.6.1的力量","感じる"]) ("Хорошо!",["哈斯克尔7.6.1的力量","感じる"]) > "改\n行" "改\n行"
You can make uprint
the default interactive printer in several ways. One is to
cabal install unicode-show
, and add the following lines to your ~/.ghci
config file.
import qualified Text.Show.Unicode :set -interactive-print=Text.Show.Unicode.uprint
Documentation
ushow :: Show a => a -> String Source #
Show the input, and then replace Haskell character literals
with the character it represents, for any Unicode printable characters except backslash, single and double quotation marks.
If something fails, fallback to standard show
.
urecover :: String -> String Source #
Replace Haskell character literals with the character it represents, for any Unicode printable characters except backslash, single and double quotation marks.
ushowWith :: Show a => (Char -> Bool) -> a -> String Source #
Show the input, and then replace character literals with the character itself, for characters that satisfy the given predicate.