Платформа Java для чтения/записи потоков символов ANSI с escape-последовательностью

Чтение escape-последовательностей ANSI очень сложно и очень легко ошибиться. Мне нужна библиотека, которая включает в себя абстракцию для чтения экранированных последовательностей, предпочтительно как экземпляры какого-то приятного типа. Было бы неплохо, если бы библиотека предлагала строгие типы, а не все, что сильно, и удачи, делайте все сами.

Буду признателен за любые указатели на библиотеку foss.

Аналогичный вопрос библиотека для преобразования ANSI escapes (форматирование терминала/цветовые коды) в HTML, который, кажется, имеет аналогичную мотивацию, также остается без ответа.


person mP.    schedule 29.06.2011    source источник
comment
Я не знаю библиотеки, но однажды реализовал часть этого для реализации терминала Java. Я думаю, только изменения цвета и движения курсора.   -  person Paŭlo Ebermann    schedule 29.06.2011
comment
@PE, да, я просмотрел несколько эмуляторов терминала, но логика для анализа потока, обработки escape-последовательностей почти всегда встроена в логику для выполнения таких операций, как перемещение курсора и т. д. К сожалению, эти эмуляторы терминов не разделяют две проблемы во всем. слились в одну.   -  person mP.    schedule 30.06.2011
comment
@Giann, потому что так мало ответов на мои вопросы. Взгляните на мой вопрос и убедитесь сами. Я стараюсь задавать интересные вопросы, которые требуют некоторого размышления, а не просто указывать на google или doco.   -  person mP.    schedule 30.06.2011
comment
К сожалению, я не знаю такой библиотеки. Как и другие, я однажды написал код для обработки этих последовательностей (для эмулятора терминала Java). Но мне было любопытно, что вы пытаетесь сделать с промежуточными типами? И откуда будет поступать информация?   -  person StaxMan    schedule 30.06.2011
comment
Я надеюсь написать слой эмулятора терминов между сервером (ApacheSshd) и оболочкой.   -  person mP.    schedule 30.06.2011
comment
Идея заключалась в том, что, возможно, мой промежуточный бит добавит такие вещи, как история, завершение табуляции и т. Д.   -  person mP.    schedule 30.06.2011


Ответы (1)


Вы можете взглянуть на Jansi.
Вот домашняя страница и репозиторий github

Надеюсь, это поможет.

person c00kiemon5ter    schedule 30.06.2011
comment
Похоже, он поддерживает запись в формате ansi, но, глядя на иерархию классов, он не читает (нет классов с именем XXXReader). - person mP.; 30.06.2011