Почему стек дает кодировку wierd charcter при выходе ошибок в окнах?

У меня есть файл tmp.hs со следующим содержимым:

{- stack
  script
  --resolver lts-10.3
-}

когда я запускаю stack tmp.hs я получаю следующий вывод:

?[;1mC:\Users\ludvig.hult\Source\adventofcode2016\Day1\tmp.hs:0:53: ?[;1m?[31merror:?[0m?[0m?[;1m?[0m?[0m?[;1m
    * Variable not in scope: main :: IO a0
    * Perhaps you meant 'min' (imported from Prelude)?[0m?[0m

работая в CMD или PowerShell на моем компьютере с Windows 10. Какая ошибка? Кодировка символов? Как это исправить?

-1
источник поделиться
1 ответ

Это коды управления цветом ANSI. Вы можете подавить их с помощью --color never. Вероятно, это связано с обновлением создателей обновлений для Windows 10, в результате чего коды ANSI больше не обрабатываются по умолчанию. Вместо этого приложения должны отказаться.

Пожалуйста, подумайте о том, чтобы исправить эту проблему, вероятно, в анси-терминальном пакете https://github.com/commercialhaskell/stack/issues/3797. https://github.com/commercialhaskell/stack/issues/3785 также может быть связано.

Наконец, простое дополнение к config помогло бы с этим - возможность указать color: never - см. Https://github.com/commercialhaskell/stack/issues/3778

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос