2013-04-10 1 views
0

Я использую фильтр HAML :php, который поставляется с haml-contrib, чтобы написать блоки php-кода внутри файла haml.vim: подсветка синтаксиса php в HAML с: php-фильтром

это позволяет мне писать:

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

Я хочу, чтобы код поставьте отметку в PHP в Vim с помощью этого vim-tip. Тем не менее, файл синтаксиса php по умолчанию, который поставляется вместе с моим фондом vim, выделяет только php-код, который находится внутри <?php, ?> тегов.

Как я могу обойти это?

Обратите внимание, что я могу получить ВИМ-наконечник для работы, так подчеркнув следующее:

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

работает! Он просто создает плохой выход HAML (двойные <?php ... ?> теги) и не отражает простоту, которую я хочу достичь с помощью HAML.

ответ

1

Это больше по строкам, в которых вам нужны обновленные синтаксические правила HAML, которые позволяют vim обнаруживать, когда вы переходите с haml-> php.

Помните, что нет такой вещи, как «сценарий php». Существуют только файлы, в которые встроены блоки кода php, и эти кодовые блоки разделены <?php ... ?>. Существует никаких способов для php-правил vim напрямую обнаружить, что вы перешли в режим php, потому что у вас нет <?php, чтобы сигнализировать об этом.

+0

Да, но мой вопрос: «Как узнать vim, что': php' в файле .haml означает, что блок кода php запущен? ' – romeovs

+0

как я уже сказал ... добавьте правило в правила синтаксиса haml. вы можете посмотреть, как маркер PHP может обнаруживать контексты html/javascript в php-файлах для справки. –

Смежные вопросы