Как сохранить цвет при записи в стандартный вывод

#!/usr/bin/env stack
{- stack --install-ghc --resolver lts-8.8 runghc
-}
import System.IO
import System.Process

main = createProcess (proc "ls" [])

Хотя stdout рассматривается Хаскеллом как tty, как hIsTerminalDevice stdout возвращается True, ls не распознает это как таковое и не выводит цвета.

Есть ли способ обойти это или просто невозможно заставить работать цветной вывод на Haskell?

РЕДАКТИРОВАТЬ: чтобы быть ясно, я не хочу просто ls работать, но весь спектр инструментов Unix, которые поддерживают вывод цвета, когда они идентифицируют stdout как tty.

1 ответ

Решение

Ответ Хаскелл не виноват, я запутал свой собственный ls, который был псевдоним ls --color=tty,

Другие вопросы по тегам