我有一个用于崇高文本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
复制相似问题