XMLQuire - это редактор XML, разработанный для окон для демонстрации виртуального форматирования. Эта концепция идет на шаг дальше, чем упругие табуляции, отступ - это просто функция позиции предшествующего символа перевода строки и уровня вложенности и контекста, оцениваемых анализатором:
Это синтаксический анализатор XML, который определяет уровень вложенности и, следовательно, требуемый отступ, здесь нет клавиши переформатирования или клавиши табуляции для нажатия, форматирование XML просто переформатируется при редактировании, перетаскивании и т. Д.
Это означает, что XML всегда имеет правильный отступ, но без начальных символов табуляции или пробелов. Эта концепция также должна работать для более традиционного кода (за исключением языков, подобных F #, которые используют пробельные символы), но это еще не опробовано.
Обратите внимание, что, в отличие от упругих табуляции, виртуальное форматирование работает только с левого поля и использует только контекст синтаксического анализатора. Контекст синтаксического анализатора - это больше, чем просто уровень вложенности, хотя такие факторы, как смешанное содержимое, тип узла, длина имени родительского элемента и имени атрибута, входят в уравнение. Это позволяет выравнивать атрибуты и значения атрибутов, которые также появляются в новых строках (как показано).
Текст, завернутый в слова, естественно, просто соответствует схеме отступов. Если требуется дальнейшее форматирование текста, то пробельные символы добавляются пользователем обычным способом.
Как и в случае с упругими табуляциями, существует потенциальная проблема, когда в более обычном редакторе открывается практически отформатированный текст. Однако, поскольку для форматирования XML не было добавлено ни одного символа (все это было виртуальным), обычные редакторы могут просто применять обычное форматирование в соответствии с настройками этого редактора, используя табуляции или пробелы.