Как к выделению синтаксиса XML в элементах CDATA в Vim?

Подсветка синтаксиса Vim для XML/XSL является большой, кроме него выключает всю подсветку синтаксиса в регионах CDATA. Существует ли способ включить подсветку синтаксиса на в регионах CDATA?

На работе у нас есть много кода XSL, встроенного в рамках других XML-документов. Было бы замечательно, если я мог бы получить все совершенство XML, редактирующего для встроенного кода XSL также, не имея необходимость временно удалять теги CDATA или копировать содержание CDATA во временный файл.

Пример:

<root>
  <with type="xsl"><![CDATA[
      <xsl:template match="/">
          <!-- XSL content here -->
      </xsl:template>
   ]]>
  </with>
</root>

XSL всегда содержится в, таким образом, существует что-то для соответствия против.

Мы также иногда встраиваем JavaScript в регионах CDATA также. Было бы хорошо включить синтаксис JavaScript, выделяющийся для тех регионов.

1
задан Jim Hurne 29 April 2010 в 03:00
поделиться

1 ответ

Вам нужно будет изменить сценарий выделения синтаксиса, который поставляется с vim (он находится в /usr/share/vim/vim72/syntax/xml.vim в моей системе). Однако я почти уверен, что это плохая идея - вы будете действовать в «иллюзии», что содержимое раздела CDATA на самом деле является XML, а это определенно не так - поскольку в разделе CDATA это просто текст.

Для обработки встроенного javascript (который мне кажется менее рискованным) вам также потребуется создать измененный выделитель синтаксиса. Хорошим местом для начала поиска информации о том, как это сделать, может быть выделитель синтаксиса XHTML для vim, который поддерживает встроенные языки

0
ответ дан 3 September 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: