У меня есть собственный файл синтаксиса Perl для Sublime Text 3, и я хотел бы добавить поддержку подсветки для встроенного кода C++.
Код inline C++ всегда начинается __CPP__ и заканчивается __END__ среди кода perl.
Я использую подход «встроить/сопоставить/экранировать», но подсветка синтаксиса кода C++ не изменится (получение области действия с помощью ctrl-alt-shift-p по-прежнему отображается как source.perl).
Вот правило, которое я использую в своем файле синтаксиса:
contexts:
main:
- include: inline-cpp
...lot of rules...
inline-cpp:
- match: '__CPP__'
embed: scope:source.c++
embed_scope: source.c++.embedded
escape: '__XXX__'
Пожалуйста, может кто-нибудь помочь мне понять, что я делаю неправильно?
Решение проблемы
Решено поместить includeв prototypeраздел вместо main:
contexts:
main:
...
prototype:
- include: inline-cpp
inline-cpp:
- match: '__CPP__'
embed: scope:source.c++
embed_scope: source.c++.embedded
escape: '__XXX__'
Комментариев нет:
Отправить комментарий