我经常使用Sublime Text编辑vQmod代码。对于那些不知道的人,vQmod是一个动态搜索/替换应用程序,它使用XML动态修改OpenCart中的核心文件。搜索位置和要添加的代码通常都包含在CDATA
标记中。可以理解的是,所有语法高亮规则都将CDATA
标记中的任何内容视为没有应用语言规则的纯文本块。但在这种情况下,其中包含的代码可以是HTML, PHP, JavaScript或内联CSS。
是否有一种方法可以修改语法高亮显示规则,以便CDATA标签中包含的文本仍将被评估为代码?
下面是一个例子:
<operation>
<search position="after"><![CDATA[public function index()]]></search>
<add><![CDATA[
$data['examples'] = $this->model_extension_extension->getExamples();
]]>
</add>
</operation>
<search>
代码不太重要,但我将<add><![CDATA[
和]]></add>
中的任何代码都识别为php。有时候这些代码是非常长的代码块,在这里有适当的语法高亮显示会很有帮助。
我遇到了这个问题以及整个CDATA部分是我的HTML。我的解决方法是使用语法类型SCALA打开文档。RUBY也可以,但我认为SCALA更适合。