Могу ли я объединить синтаксис раскраски и складывания? ИЛИ Проекция, окрашенная из основной информации о документе

Пример. У меня есть документ XML:

<document>
<region type="type1">text of region1
</region>
some simple text
<region type="type2">text of region2
</region>

И я хочу, чтобы это было представлено как

текст региона1
какой-то простой текст
текст региона2

Как я знаю, базовая окраска Eclipse работает независимо от складывания. Но мне нужно, чтобы текст был цветным в зависимости от информации XML. А может мне нужно что-то другое, кроме складывания? Возможно, проще просто манипулировать StyledText, но мне нужны другие функции редактора Eclipse, чтобы продолжить работу.

=========
upd: все еще нет предложений? Это по крайней мере возможно?
Я смотрел на проекцию, но... текстовые атрибуты напрямую доступны из этой ветви редактора?
upd: Может быть хоть какие-то мысли / статьи о пользовательских проекциях?

1 ответ

Решение

Я реализовал это через службу прослушивания документов, ProjectionDocument.removeMasterDocumentRange и ProjectionDocument.getDocumentInformationMapping(). Раскраска по SourceViewer.getTextWidget(). SetStyleRange(). Есть небольшая проблема, если будет добавлен PresentationReconciler, но, поскольку я знаю это, это безопасно.

Другие вопросы по тегам