Могу ли я объединить синтаксис раскраски и складывания? ИЛИ Проекция, окрашенная из основной информации о документе
Пример. У меня есть документ 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, но, поскольку я знаю это, это безопасно.