Информация об изменениях

Сообщение Re[6]: [Resharper SDK] Распарсить html сохранённый в xml. от 19.06.2015 14:21

Изменено 21.06.2015 12:10 ifle

Здравствуйте, DragonFire, Вы писали:

DF>Класс RangeTranslator предназначен для хранения информации о взаимном расположении символов в двух строках.

DF>Метод HtmlUtil.Parse вам предстоит написать, или найти что-то похожее, я затрудняюсь сказать делали мы где-то такое или нет. Наверное делали =)

DF>За образец можете взять ClrRegexLexer и логику из CSharpLiteralWrapper.

DF>Аналогично вы сможете склеивать результирующую строку из кусочком, только нужно правильно ренжи сохранять =)
DF>Если будут какие-то специфичные вопросы, пишите мне в скайп skype.stepanov.ev

Спасибо за такой развёрнутый ответ и предложение о помощи. Если не получиться постучусь.
В моём случае RangeTranslator ключевое звено, которого мне не хватало. С ним всё становится на свои места.
Для того что-бы использовать мой лексер нужно определить новый язык и его сервис?

P.S Не слишком ли накладно для каждого xml нода где есть html создавать свой IHtmlFile?
В принципе у меня файлы не большие и не очень критично, просто интересно.
Здравствуйте, DragonFire, Вы писали:

DF>Класс RangeTranslator предназначен для хранения информации о взаимном расположении символов в двух строках.

DF>Метод HtmlUtil.Parse вам предстоит написать, или найти что-то похожее, я затрудняюсь сказать делали мы где-то такое или нет. Наверное делали =)

DF>За образец можете взять ClrRegexLexer и логику из CSharpLiteralWrapper.

DF>Аналогично вы сможете склеивать результирующую строку из кусочком, только нужно правильно ренжи сохранять =)
DF>Если будут какие-то специфичные вопросы, пишите мне в скайп skype.stepanov.ev

Спасибо за такой развёрнутый ответ и предложение о помощи. Если не получиться постучусь.
В моём случае RangeTranslator ключевое звено, которого мне не хватало. С ним всё становится на свои места.

Создал свой лексер, фабрику лексера, переопределил CreateInjectedFileAndContext функцию в моём PsiProvider — валидация заработала.
Но есть проблема с quick fix. Они ничего не знают про RangeTranslator.
Предположим quick fix добавляет новый атрибут, он добавляет его не encoded class="centered" вместо class="centered"
<TABLE class="centered" ></TABLE>


P.S Не слишком ли накладно для каждого xml нода где есть html создавать свой IHtmlFile?
В принципе у меня файлы не большие и не очень критично, просто интересно.