В ней не работает "Тест" - от буквы Т становится её плохо. Так где же найти тварь и полечить её?
Пока что ясно, что раскраска называется "Oberon", а где этот оберон? Нашёл, что WMTextView ссылается на SyntaxHighlighter, а в нём слово "Oberon" упоминается. Ура! Класс, к-рый за это отвечает, вроде называется SyntaxHighlighter.Highlighter . Теперь должно быть легко.
Копаем подсветку синтаксиса
Re: Копаем подсветку синтаксиса
Ого! Но потомков у класса нет. Я в шоке.
GetHighlighter(higlighterName)...
Парсится файл SyntaxHighlighter.XML... огого... И в нём-то есть Oberon и даже oberon.
Вот мы и нашли где оно описано... Не предвещает хорошего.
GetHighlighter(higlighterName)...
Парсится файл SyntaxHighlighter.XML... огого... И в нём-то есть Oberon и даже oberon.
Вот мы и нашли где оно описано... Не предвещает хорошего.
Re: Копаем подсветку синтаксиса
Они даже его периодически поддерживают.
Re: Копаем подсветку синтаксиса
И классно, что у мя в голове было запомнено, что особые строковые литералы были добавлены в 2013 году - так я и найду, где они менялись. Ура.
Re: Копаем подсветку синтаксиса
Код: Выделить всё
<Region
style="String" styleOpen="Bold" styleClose="Bold"
open='\"' close='"\' nesting="FALSE" multiline="TRUE"
/>
Код: Выделить всё
highlighter.AddRegion(open, close, nesting, multiline, styleOpen, styleClose, styleContent);
Re: Копаем подсветку синтаксиса
О, случайно попался
MatchToken - и сразу же
Интересное кино
MatchToken - и сразу же
Код: Выделить всё
token.value[lookaheadIdx] := CHR(char32);
Re: Копаем подсветку синтаксиса
Но ведь ORD(CHR(1050)) = 26!
Ай, как не стыдно. Завожу багу о том, чтобы при таких вещах происходило исключение.
В общем, дошёл до операции сравнения, когда один аргумент - это строка из CHAR-ов, а другой - массив из UCS32.Char - это, конечно, надо делать уже не ночью.
Ай, как не стыдно. Завожу багу о том, чтобы при таких вещах происходило исключение.
В общем, дошёл до операции сравнения, когда один аргумент - это строка из CHAR-ов, а другой - массив из UCS32.Char - это, конечно, надо делать уже не ночью.
Re: Копаем подсветку синтаксиса
Есть команда SyntaxHighlighter.Highlight. Я подправил её, чтобы она могла преобразовывать файл в файл и так раскрасчик слегка отвязывается от IDE. Перегрузить конфигурацию можно с помощью SyntaxHighlighter.Open.