Библиотека ansi-terminal
- это замечательная небольшая библиотека, которая позволяет перемещать курсор вокруг и прочее (без лишних вещей ncurses
). Единственная проблема - это не предоставляет способ получить позицию курсора. Во всяком случае, это используется или совместимо с остальной библиотекой, что я мог бы это сделать. Я знаю, что одним из способов было бы отслеживать курсор во всем мире, но я хочу разрешить внешнее putStr
и так далее.`ansi-terminal` как получить позицию курсора в Haskell
3
A
ответ
4
В соответствии с Wikipedia команда терминала DSR должна получить вам позицию, а также есть команды для сохранения и восстановления позиции. Я не знаю, почему ansi-terminal
не поддерживает их; возможно, вы должны подать отчет об ошибке.
ОБНОВЛЕНИЕ: Поддержка сохранения и восстановления положения курсора has now been added до ansi-terminal
!
Даже лучше, чем я ожидал! Библиотека просто неполная! (Я боялся, что вы не можете узнать, где это было, и что такие вещи, как «ncurses», могут знать, потому что они отслеживаются.) – PyRulez
@PyRulez, я просто подал [билет] (https://github.com/) Фейербах/ANSI-терминала/проблемы/7). – dfeuer
Я предполагаю, что Windows, вероятно, не поддерживает это. (Единственная самая важная характеристика «ansi-terminal» - переносимость, ведь если вы хотите только ускорения ANSI, вы можете это сделать тривиально) – MathematicalOrchid