You are here

public function lessc::parse in Less CSS Preprocessor 6

Same name and namespace in other branches
  1. 6.3 lessphp/lessc.inc.php \lessc::parse()

File

./lessc.inc.php, line 73

Class

lessc

Code

public function parse($text = null) {
  if ($text) {
    $this->buffer = $text;
  }
  $this
    ->reset();
  $this
    ->push();

  // set up global scope
  $this
    ->set('__tags', array(
    '',
  ));

  // equivalent to 1 in tag multiplication
  $this->buffer = $this
    ->removeComments($this->buffer);

  // trim whitespace on head
  if (preg_match('/^\\s+/', $this->buffer, $m)) {
    $this->line += substr_count($m[0], "\n");
    $this->buffer = ltrim($this->buffer);
  }
  while (false !== ($dat = $this
    ->readChunk())) {
    if (is_string($dat)) {
      $this->out .= $dat;
    }
  }
  if ($count = count($this->env) > 1) {
    throw new exception('Failed to parse ' . (count($this->env) - 1) . ' unclosed block' . ($count > 1 ? 's' : ''));
  }

  // print_r($this->env);
  return $this->out;
}