Можно ли в редакторе Eclipse отображать символы иначе, чем они хранятся на диске?

Мы разрабатываем плагин Eclipse.

Когда пользователь вводит <=, вместо этого я хотел бы отображать символ UTF со стрелкой влево . Файл на диске по-прежнему должен содержать исходные символы «меньше, равно», потому что это предписывает язык программирования.

В других контекстах в том же редакторе я мог бы захотеть отобразить ту же последовательность символов <=, что и Unicode меньше или равно . Это поможет пользователю понять, как компилятор интерпретирует последовательность <= в зависимости от контекста. Опять же, документ (и файл) менять не надо, только то, как мы его отображаем.

Как это сделать проще всего? Обратите внимание, что мы уже работаем с xText, поэтому мы используем редактор, предоставленный xText.


person Philippe    schedule 25.10.2013    source источник
comment
Редактор Eclipse, безусловно, может это сделать, но я не знаю xtext, поэтому я не знаю, может ли создаваемый им редактор добиться этого.   -  person greg-449    schedule 25.10.2013
comment
@ greg-449 Можете ли вы поделиться, как это сделать в стандартном редакторе? Возможно, мы сможем использовать те же приемы в текстовом редакторе Eclipse Xtext.   -  person Philippe    schedule 25.10.2013


Ответы (1)


Текстовые редакторы Eclipse обычно используют объект, реализующий IDocument (обычно также многочисленные интерфейсы IDocumentExtensionXX), часто расширяя класс AbstractDocument.

Этот класс документа предоставляет текст, который отображается в редакторе, и обновляется с учетом изменений, вносимых пользователем, поэтому он должен иметь возможность управлять преобразованием между файловым и отображаемым представлениями.

person greg-449    schedule 25.10.2013