我有一个用于崇高文本3的自定义Perl语法文件,我想添加对嵌入式C++代码的突出显示支持。
在perl代码中,inline C++代码总是以__CPP__开头,以__END__结尾。
我使用的是“embed/match/S外逃”方法,但是C++代码的语法高调不会改变(使用ctrl 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__'有人能帮我找出我做错了什么吗?
发布于 2022-04-08 20:19:09
解决了将include放在prototype部分而不是main部分:
contexts:
main:
...
prototype:
- include: inline-cpp
inline-cpp:
- match: '__CPP__'
embed: scope:source.c++
embed_scope: source.c++.embedded
escape: '__XXX__'https://stackoverflow.com/questions/71789406
复制相似问题