【问题标题】:vim: php syntax highlighting in HAML with :php filter [closed]vim:使用 :php 过滤器在 HAML 中突出显示 php 语法 [关闭]
【发布时间】:2024-01-18 16:18:01
【问题描述】:

我正在使用haml-contrib 提供的:php HAML 过滤器在haml 文件中编写php 代码块。

这让我可以写:

!!! 5
%html
     %body
     -# HAML code ...
     :php
         // php code ...

我想使用vim-tip 突出显示 vim 中的 php 代码。但是,我的股票 vim 提供的默认 php 语法文件仅突出显示 <?php?> 标签内的 php 代码。

我怎样才能解决这个问题?

请注意,我可以让 vim-tip 工作,因此突出显示以下内容:

!!! 5
%html
     %body
     -# HAML code ...
     :php
         <?php
              // php code ...
         ?>

确实有效!它只是创建了错误的 HAML 输出(双 &lt;?php ... ?&gt; 标签),并没有反映我想要使用 HAML 实现的简单性。

【问题讨论】:

    标签: php vim syntax haml


    【解决方案1】:

    更多的是你需要更新的 HAML 语法规则,允许 vim 检测你何时从 haml->php 开始。

    请记住,没有“php 脚本”之类的东西。只有文件中嵌入了 php 代码块,并且这些代码块用&lt;?php ... ?&gt; 分隔。 vim 的 php 规则无法直接检测到您已进入 php 模式,因为您没有 &lt;?php 来发出信号。

    【讨论】:

    • 是的,但我的问题是:'如何告诉 vim 在 .haml 文件中的 :php 意味着 php 代码块已经开始?'
    • 就像我说的...将规则添加到haml语法规则中。您可以查看 PHP 荧光笔如何检测 php 文件中的 html/javascript 上下文以供参考。