2015-03-31 10 views
3

Библиотека ansi-terminal - это замечательная небольшая библиотека, которая позволяет перемещать курсор вокруг и прочее (без лишних вещей ncurses). Единственная проблема - это не предоставляет способ получить позицию курсора. Во всяком случае, это используется или совместимо с остальной библиотекой, что я мог бы это сделать. Я знаю, что одним из способов было бы отслеживать курсор во всем мире, но я хочу разрешить внешнее putStr и так далее.`ansi-terminal` как получить позицию курсора в Haskell

ответ

4

В соответствии с Wikipedia команда терминала DSR должна получить вам позицию, а также есть команды для сохранения и восстановления позиции. Я не знаю, почему ansi-terminal не поддерживает их; возможно, вы должны подать отчет об ошибке.

ОБНОВЛЕНИЕ: Поддержка сохранения и восстановления положения курсора has now been added до ansi-terminal!

+0

Даже лучше, чем я ожидал! Библиотека просто неполная! (Я боялся, что вы не можете узнать, где это было, и что такие вещи, как «ncurses», могут знать, потому что они отслеживаются.) – PyRulez

+1

@PyRulez, я просто подал [билет] (https://github.com/) Фейербах/ANSI-терминала/проблемы/7). – dfeuer

+0

Я предполагаю, что Windows, вероятно, не поддерживает это. (Единственная самая важная характеристика «ansi-terminal» - переносимость, ведь если вы хотите только ускорения ANSI, вы можете это сделать тривиально) – MathematicalOrchid