사용이 방법을 사용하면 아름다운 GHCI 색상을 얻을 수 있습니다., 색깔이 하나도 안 나오네요. 그러나 내 터미널은 256색이 활성화된 urxvt이고 TERM은 xterm-256color
. 내가 무엇을 놓쳤을지 아시나요?
내 ~/.ghci의 내용은 다음과 같습니다.
import qualified IPPrint
import qualified Language.Haskell.HsColour as HsColour
import qualified Language.Haskell.HsColour.Colourise as HsColour
import qualified Language.Haskell.HsColour.Output as HsColour
let myColourPrefs = HsColour.defaultColourPrefs { HsColour.conid = [HsColour.Foreground HsColour.Yellow, HsColour.Bold], HsColour.conop = [HsColour.Foreground HsColour.Yellow], HsColour.string = [HsColour.Foreground HsColour.Green], HsColour.char = [HsColour.Foreground HsColour.Cyan], HsColour.number = [HsColour.Foreground HsColour.Red, HsColour.Bold], HsColour.layout = [HsColour.Foreground HsColour.White], HsColour.keyglyph = [HsColour.Foreground HsColour.White] }
let myPrint = putStrLn . HsColour.hscolour (HsColour.TTYg HsColour.XTerm256Compatible) myColourPrefs False False "" False . IPPrint.pshow
:set -interactive-print=myPrint
:set -XNoMonomorphismRestriction
:set prompt "λ "
프롬프트는 다음과 같아야 합니다.
답변1
이 옵션을 사용하려면 GHCI 버전 >= 7.6.1이 필요합니다 -interactive-print
.
Reddit: GHCi의 아름다운 출력(댓글에 HOWTO)
나는 내 GHCi를 아름답게 만들고 GHC 7.6에서 새로운 플래그를 발견했습니다(-interactive-print)
마일스톤: 7.6.1
답변2
먼저 GHCi 7.6.3을 :set -XNoMonomorphismRestriction
설치 하고 테스트 해야 합니다 .let myPrint = ...
또는 -XNoMonomorphismRestriction 없이:
let myPrint :: (Show a) => a -> IO (); myPrint = putStrLn . HsColour.hscolour (HsColour.TTYg HsColour.XTerm256Compatible) myColourPrefs False False "" False . IPPrint.pshow
.ghci 완료(원래 Reddit 게시물에서 약간 수정된 솔루션):http://pastebin.com/ry9JyDd9