Искаженные имена целей в Haskero
Некоторое время я использую Haskero в Windows 10 для программирования на Haskell, и долгое время это было здорово. Однако недавно я отремонтировал свой ноутбук, и с тех пор функция, позволяющая переключать цели, содержит искаженный вывод:
Это не просто проблема отображения. Это эффективно мешает мне переключать цели:
Spawning process 'stack' with command 'stack ghci --with-ghc intero "--ghci-options=-ignore-dot-ghci -Wall" --no-build --no-load RestaurantReservation:test:RestaurantReservation-test[0m'
[Error - 07:52:52] Change targets failed. Stopping Haskero for this target. Switch to another target or 'Default targets'.
Hint : try running a build command to get missing dependencies (> stack build RestaurantReservation:test:RestaurantReservation-test[0m)
Error details:
Message: Request changeTargets failed unexpectedly without providing any details.
Code: -32603
Обратите внимание, что когда я пытаюсь переключиться на тестовую цель, она выдает команду на stack
включая непечатаемые символы. Помимо прочего, это означает, что я не получаю никакой пользы от надстройки для своих модульных тестов.
Наличие этих непечатаемых символов, а также stty: 'standard input': Inappropriate ioctl for device
мне кажется, проблема с интерпретацией стандартного вывода.
Насколько я могу судить, при просмотре базы кода Haskero, похоже, что список целей взят изstack ide targets
. Однако, если я введу эту команду в командной строке, все будет хорошо:
$ stack ide targets
RestaurantReservation:lib
RestaurantReservation:exe:RestaurantReservation
RestaurantReservation:test:RestaurantReservation-test
Раньше это работало в Windows 10 до того, как я восстановил машину, но теперь это не так.
Поскольку он работал до повторной установки, я надеюсь, что есть какой-то параметр среды, который я могу настроить, чтобы вернуть функциональность, но если есть, мне не ясно, что это будет.
Как сделать так, чтобы в диалоге целей использовались чистые имена целей, чтобы можно было переключаться между ними?