Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]
1 <?php 2 /** 3 * SCSSPHP 4 * 5 * @copyright 2012-2019 Leaf Corcoran 6 * 7 * @license http://opensource.org/licenses/MIT MIT 8 * 9 * @link http://scssphp.github.io/scssphp 10 */ 11 12 namespace ScssPhp\ScssPhp\Formatter; 13 14 use ScssPhp\ScssPhp\Formatter; 15 use ScssPhp\ScssPhp\Formatter\OutputBlock; 16 17 /** 18 * Expanded formatter 19 * 20 * @author Leaf Corcoran <leafot@gmail.com> 21 */ 22 class Expanded extends Formatter 23 { 24 /** 25 * {@inheritdoc} 26 */ 27 public function __construct() 28 { 29 $this->indentLevel = 0; 30 $this->indentChar = ' '; 31 $this->break = "\n"; 32 $this->open = ' {'; 33 $this->close = '}'; 34 $this->tagSeparator = ', '; 35 $this->assignSeparator = ': '; 36 $this->keepSemicolons = true; 37 } 38 39 /** 40 * {@inheritdoc} 41 */ 42 protected function indentStr() 43 { 44 return str_repeat($this->indentChar, $this->indentLevel); 45 } 46 47 /** 48 * {@inheritdoc} 49 */ 50 protected function blockLines(OutputBlock $block) 51 { 52 $inner = $this->indentStr(); 53 54 $glue = $this->break . $inner; 55 56 foreach ($block->lines as $index => $line) { 57 if (substr($line, 0, 2) === '/*') { 58 $block->lines[$index] = preg_replace('/[\r\n]+/', $glue, $line); 59 } 60 } 61 62 $this->write($inner . implode($glue, $block->lines)); 63 64 if (empty($block->selectors) || ! empty($block->children)) { 65 $this->write($this->break); 66 } 67 } 68 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body