PHP5.3 закрывает отступ в VIM - PullRequest
4 голосов
/ 07 мая 2011

Я пробовал несколько разных скриптов php для отступов, но они не могут обработать отступ следующего кода:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

Можете ли вы указать настройки vimrc или файл отступа php для vim, который будет обрабатывать новый синтаксис PHP5.3?

Обновление: Вот что я получаю:

myfunc(function(){
        echo "hello";
        if(1==2){
        echo "world";
        }
        });

Я использую связанный отступ для 7.3 от http://www.2072productions.com/vim/indent/php.vim Джон Веллес

Оставшийся PHP-синтаксис имеет правильный отступ.

1 Ответ

0 голосов
/ 08 мая 2011

Это может быть связано с неправильным синтаксисом закрытия. Насколько я знаю, у замыканий не должно быть имен. Например. для функции preg_replace_callback вы должны либо передать переменную, содержащую замыкание, определенное function($matches){/* logic */}, либо сам вышеупомянутый код.

Здесь вы пытаетесь определить функцию в аргументе обратного вызова. BAAAAD для вашего сценария xD

Просто избавьтесь от такого имени и посмотрите, поможет ли оно:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

Документы PHP показывают этот синтаксис и для замыканий: http://php.net/manual/en/functions.anonymous.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...