Sublime Text - Расширение синтаксиса HTML внутри нового "HTML (Custom)" синтаксиса

Фон

Я работаю с языком Webclerk, который использует пользовательские теги для запроса к 4D-базе данных. Он работает аналогично PHP. Вместо .php файл, который обрабатывается в HTML, используется файл '.wc', который обрабатывается в HTML.

Вместо чего-то вроде: <?php echo $variable; ?>это будет выглядеть _jit_ echo $variable; jj

<?php знак равно _jit_, ?> знак равно jj,

В Sublime Text, когда PHP выбран в качестве синтаксиса, PHP выделяется другим цветом блока, поверх выделения HTML. Я хотел бы сделать то же самое для этих специальных тегов.

Меня действительно не волнует выделение текста в скобках. Я был бы полностью удовлетворен, если бы у меня был цвет подсветки / фона, начинающийся и заканчивающийся тегами.

Что я сделал

Я установил Диспетчер пакетов и Просмотр ресурсов пакетов, а затем извлек пакеты PHP и HTML, чтобы проверить их. Я также изучал уроки. Я сталкиваюсь с проблемой с двумя различными типами подсветки синтаксиса (.tmLanguage против.sublime-синтаксиса). По первому пути много информации, по второму очень мало. Я чувствую, что просто начать и остановить подсветку на основе двух тегов не так уж сложно.


Когда я открыл пакет HTML, я получил:

Comments.tmPreferences
HTML.sublime-syntax
Miscellaneous.tmPreferences
Symbol List - ID.tmPreferences
encode_html_entities.py
html.sublime-snippet
html_completions.py

Почти ни один из них не упоминается в учебниках. Я попытался просто изменить имена HTML на Webclerk, и мне удалось получить новый синтаксис в списке. Но когда я редактировал теги, ничего не изменилось в том, что было выделено.

Вопрос

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

1 ответ

В основном вы пытаетесь определить пользовательскую область с помощью селекторов регулярного выражения начала и конца, которые описаны здесь: http://sublimetext.info/docs/en/extensibility/syntaxdefs.html

Я также натолкнулся на это интересное обсуждение на возвышенном текстовом поле от кого-то, кто пытается сделать точно то, что вы пытаетесь сделать http://www.sublimetext.com/forum/viewtopic.php?f=6&t=6207 Есть некоторые полезная информация и советы в ней.

Я бы начал в HTML.sublime-package пакет внутри HTML.tmLanauage В строке 598 (в моей настройке) есть определение для начала и конца тегов php, оно выглядит как регулярное выражение, которое распознает теги и выделяет их

КСТАТИ .sublime-package Это просто zip-файлы, вы можете переименовать их и распаковать. затем поместите извлеченную папку внутрь %APPDATA%\Sublime Text 3\Installed Packages запустить его

Другие вопросы по тегам