Подсветка синтаксиса HTML в JavaScript представляет в виде строки в энергии

Я не знаю, возможно ли это/разумно, но мне было любопытно знать, могут ли у меня быть свои строки в файлах JavaScript, имеют выделение HTML. Я обнаружил, что строки в php могли иметь выделение синтаксиса SQL, таким образом, я полагаю, что это возможно.

Но, я не знаю сценарии энергии, таким образом, любая справка на ценившем.

Я использую Лучший синтаксис JavaScript.

PS: Если бы могла бы быть опция включить и выключить его при редактировании js файла, который был бы замечателен

Спасибо

5
задан Conner 18 August 2012 в 06:52
поделиться

1 ответ

Да, это возможно, если вы не против взлома синтаксического файла. Сначала вам нужно включить файл синтаксиса HTML из файла синтаксиса Javascript - см. : help syn-include для получения информации об этом; во-вторых, вам нужно объявить, что синтаксис HTML можно найти внутри определенных элементов (например, строк). В-третьих, если вы хотите иметь возможность включать и отключать его, вы можете сделать эти команды зависимыми от глобальной переменной и написать некоторые сопоставления, которые устанавливают или отключают переменную, а затем перезагружают файл синтаксиса.

Примеры того, как включение работает, взгляните на syntax / html.vim (который включает файлы синтаксиса Javascript и CSS), syntax / perl.vim (который включает файл синтаксиса POD) или php.vim (включает выделение синтаксиса SQL в строках, условно на глобальном ariable).

Edit: проделал некоторую работу, чтобы сделать это в моей копии .

В заголовке syntax / javascript.vim , чуть ниже ] syn case ignore , добавить

syn include @javaScriptHTML syntax/html.vim
unlet b:current_syntax
syn spell default " HTML enables spell-checking globally, turn it off

Затем добавить @javaScriptHTML в списки contains = для javaScriptStringD и javaScriptStringS .

Наконец, вы должны отредактировать синтаксис / html.vim , чтобы он не пытался включать синтаксис / javascript.vim , если он был загружен из javascript: найдите строку

if main_syntax != 'java' || exists("java_javascript")

и измените ее на

if main_syntax != 'javascript' && ( main_syntax != 'java' || exists("java_javascript")
4
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

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