Leafo\ScssPhp\Parser::propertyName PHP Method

propertyName() protected method

Parse property name (as an array of parts or a string)
protected propertyName ( array &$out ) : boolean
$out array
return boolean
    protected function propertyName(&$out)
    {
        $parts = [];
        $oldWhite = $this->eatWhiteDefault;
        $this->eatWhiteDefault = false;
        for (;;) {
            if ($this->interpolation($inter)) {
                $parts[] = $inter;
                continue;
            }
            if ($this->keyword($text)) {
                $parts[] = $text;
                continue;
            }
            if (count($parts) === 0 && $this->match('[:.#]', $m, false)) {
                // css hacks
                $parts[] = $m[0];
                continue;
            }
            break;
        }
        $this->eatWhiteDefault = $oldWhite;
        if (count($parts) === 0) {
            return false;
        }
        // match comment hack
        if (preg_match(static::$whitePattern, $this->buffer, $m, null, $this->count)) {
            if (!empty($m[0])) {
                $parts[] = $m[0];
                $this->count += strlen($m[0]);
            }
        }
        $this->whitespace();
        // get any extra whitespace
        $out = [Type::T_STRING, '', $parts];
        return true;
    }