Я пытаюсь поиграть с новыми возможностями окраски синтаксиса VS2010 на основе образца окраски diff Ноа Ричардса. Цель состоит в том, чтобы создать окраску синтаксиса для SpecFlow (http://www.specflow.org).
В моем случае поиск элементов синтаксиса довольно сложный и не на уровне строк. Поэтому, когда я реализую GetClassificationSpans, я не хочу повторно анализировать весь файл, а скорее беру состояние начала измененного текста и анализирую содержимое с этого момента.
Я думал, что смогу получить предыдущие классификации как ClassificationTags. Я сделал это, используя класс IBufferTagAggregatorFactoryService.
Это работает, но я не уверен, что это лучший способ. Должен ли я создавать только агрегатор тегов для всего класса классификатора или я могу создавать его каждый раз, когда вызывается GetClassificationSpans? Должен ли я создать специальный тег для запоминания состояния синтаксического анализа?
Может быть, это в любом случае не правильный путь, меня также интересуют другие предложения.
Бр, Гаспар
Изменить: я нашел хорошую серию статей в теме: http://www.hill30.com/MikeFeingoldBlog/index.php/2009/07/31/django-editor-in-vs-2010-part-1-colors/