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