-
Не подсвечиваются теги состоящие из одной буквы. Пример:
Тег 't' не будет подсвечен (он не помечается классом tittle в отличии от тегов с неоднобуквенным названием). Это различие заметно с таблицами стилей в которых имя тега и угловые скобки его окружающие имеют разные стили, например Default, FAR. С другими таблицами стилей можно не заметить этой проблемы.<?xml version="1.0"?>
<response value="ok" xml:lang="en">
<t>Ok</t>
<comment/>
<ns:description><![CDATA[
CDATA is <not> magical.
]]></ns:description>
</response> -
Спасибо, попробую поразбираться, как руки дойдут.
-
Ok, не за что.
Вот нашел еще одну ошибочку. Не совсем правильно (по стандарту) сделан парсинг аттрибутов. В частности XML содержащий определение алиасов неймспесов содержащих цифры, знак подчеркивания или точку не будут раскрашенны вообще (цифры, точка и знак подчеркивания разрешены согласно стандарту, также допустим еще ряд символов юникод: см. NCName - http://www.w3.org/TR/REC-xml-names/#ns-decl), если в самом неймспейсе присутствует точка.
Пример:
<example xml:ns1="www.blabla.com">
<comment/>
<ns1:bla>Some content</ns1:bla>
</example>
В этом случае неправильно выделяется лексема, вместо того что бы за лексему выбрать xml:ns1=, код выбирает xml:ns1="www. из-за этого неправильно определяется тип лексемы (mode в терминах кода).
Причиной этому
hljs.XML_ATTR = {
className: 'attribute',
begin: '\\s[a-zA-Z\\:-]+=', end: '^',
contains: ['value']
};
Если заменить регулярное выражение на
begin: '\\s[a-zA-Z0-9\\:-_.]+=', end: '^',
то начинает работать точка, цифры и символ подчеркивания, не совсем уверен единственное ли это исправление и насколько оно вообще верно, плюс не имею доступа к исходному коду, не работал с BAZAAR, поэтому запостил сюда, надуюсь будет полезно. -
Ага, это тоже поправлю. Ещё раз спасибо!
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
