2009-08-12 5 views
3

настоящее время я использую PHP_Beautifier для форматирования кода с помощью следующей команды, как вариантыКак исправить пустые строки PHP_Beautifier?

-t -l "ArrayNested() IndentStyles(style=bsd) NewLines(before=T_CLASS:function:T_COMMENT,after=T_COMMENT)" 

Он прекрасно работает для того, что он удаляет все пустые строки, за исключением. После небольшого поиска я нашел его опубликованным как bug, который открыт с 2007 года.

Я пробовал смотреть в codebase, но не смог найти конкретный код, который делает это. Я ценю любую помощь, которую я могу получить в правильном направлении.

ответ

3

Я clbustos, разработчик PHP_Beautifier. Это одна из наиболее востребованных функций, поэтому я ожидал ее реализовать в следующем выпуске. Если вы хотите копать, то функция, чтобы увидеть, если PHP_Beautifier :: removeWhitespace

+0

Спасибо для заметки! – Sukumar

+0

Вы когда-нибудь могли это сделать? – ternaryOperator

1

Также необходимо использовать этот декоратор, сохраняя пустые строки в источниках.

Я проверить последнюю версию этого скрипта, и я сделал грязный хак (не будучи PHP dvpr ...): комментируя две строки в файле beautifier.php в функции public function removeWhitespace()

for ($i = count($this->aOut) -1 ; $i >= 0 ; $i--) { // go backwards 
      $cNow = &$this->aOut[$i]; 
      if (strlen(trim($cNow)) == 0) { // only space 
       if (!$this->addedBlankLine || ($cNow!="\r" && $cNow!="\n")) { 
         //array_pop($this->aOut); // delete it! 
         //$pop++;**** 
       } 
      } else { // we find something! 
       $cNow = rtrim($cNow); // rtrim out 
       break; 
      } 
     } 

Этот хак сохраняет все пустые строки, но есть побочный эффект: после скобок появляются некоторые нежелательные строки, и все символы вкладок не заменяются, но мне лучше, чем не иметь пустых строк ...

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