PHP_Beautifier icon indicating copy to clipboard operation
PHP_Beautifier copied to clipboard

Don't remove empty lines in code

Open kurteknikk opened this issue 14 years ago • 4 comments

Hi,

When i beautify code empty lines are automatically removed, but i don't want that, how can i instruct PHP_Beautifier so it never removes empty lines in my code.

I was having a look at the forum and found this topic: http://www.pear-forum.org/topic2198.html but nobody replied to it.

kurteknikk avatar Jun 22 '11 21:06 kurteknikk

Do you speak german? Then have a look at http://www.phphatesme.com/blog/tools/php_beautifier-eigene-filter-schreiben/

Othewise drop a note and I will translate this for you.

Konafets avatar Jul 12 '11 09:07 Konafets

Here is one possible fix. This class extends the Pear filter to leave blank lines in place, with their indenting as-is. Cursory eyeball testing makes me believe that it works correctly. Place it in the Beautifier directory, call it "PHP/Beautifier/Filter/PearWithLines.filter.php", and call it at the command line using --filter="PearWithLines".

<?php
require_once 'PHP/Beautifier/Filter/Pear.filter.php';
class PHP_Beautifier_Filter_PearWithLines extends PHP_Beautifier_Filter_Pear
{
    function t_whitespace($sTag) 
    {
        // remove the first series of spaces/tabs,
        // along with any \n that comes before it.
        $sTag = preg_replace("/\n?[ \t]*/m", '', $sTag, 1);
        $this->oBeaut->add($sTag);
    }
}

Hope this helps!

pmjones avatar Apr 28 '12 23:04 pmjones

I found a fork at https://github.com/jespino/PHP_Beautifier which this feature implements. Check out the whitespaces branch. It will not really keep all new lines but shrink more than one newlines into one line

Konafets avatar May 02 '12 10:05 Konafets

@Konafets thanks! it really helps me, and I merged @jespino 's branch into my fork PHP_Beautifier. It works!

sailxjx avatar Sep 19 '12 04:09 sailxjx