LessParser: Remove custom function `extract-variable-default`
This commit is contained in:
parent
cf9362222e
commit
6516eafc6c
|
@ -4,10 +4,6 @@
|
||||||
namespace Icinga\Util;
|
namespace Icinga\Util;
|
||||||
|
|
||||||
use Icinga\Less\Visitor;
|
use Icinga\Less\Visitor;
|
||||||
use Less_Tree_Anonymous;
|
|
||||||
use Less_Tree_Expression;
|
|
||||||
use Less_Tree_Quoted;
|
|
||||||
use Less_Tree_Value;
|
|
||||||
use lessc;
|
use lessc;
|
||||||
|
|
||||||
require_once 'lessphp/lessc.inc.php';
|
require_once 'lessphp/lessc.inc.php';
|
||||||
|
@ -20,57 +16,8 @@ class LessParser extends lessc
|
||||||
*/
|
*/
|
||||||
public function __construct($disableModes = false)
|
public function __construct($disableModes = false)
|
||||||
{
|
{
|
||||||
$this->registerFunction('extract-variable-default', [$this, 'extractVariableDefault']);
|
|
||||||
if (! $disableModes) {
|
if (! $disableModes) {
|
||||||
$this->setOption('plugins', [new Visitor()]);
|
$this->setOption('plugins', [new Visitor()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Extract default from given variable call
|
|
||||||
*
|
|
||||||
* How to use:
|
|
||||||
*
|
|
||||||
* color: extract-variable-default(@mixin-parameter);
|
|
||||||
* color: @mixin-parameter;
|
|
||||||
*
|
|
||||||
* border: extract-variable-default(1px solid @mixin-parameter);
|
|
||||||
* border: 1px solid @mixin-parameter;
|
|
||||||
*
|
|
||||||
* background: drop-shadow(5px 0 3px extract-variable-default(@mixin-parameter, true));
|
|
||||||
* background: drop-shadow(5px 0 3px @mixin-parameter);
|
|
||||||
*
|
|
||||||
* @param mixed $value
|
|
||||||
* @param bool $valAsDefault
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function extractVariableDefault($value, $valAsDefault = false)
|
|
||||||
{
|
|
||||||
$defaultValue = 'inherit';
|
|
||||||
if ($value instanceof Less_Tree_Quoted) {
|
|
||||||
$stripped = preg_replace(
|
|
||||||
'~var\s*\(\s*[-\w]+\s*,\s*([^)]+)\)~',
|
|
||||||
'$1',
|
|
||||||
$value->value,
|
|
||||||
-1,
|
|
||||||
$replacements
|
|
||||||
);
|
|
||||||
if ($replacements > 0) {
|
|
||||||
$defaultValue = $stripped;
|
|
||||||
}
|
|
||||||
} elseif ($value instanceof Less_Tree_Expression) {
|
|
||||||
foreach ($value->value as $i => $item) {
|
|
||||||
$value->value[$i] = $this->extractVariableDefault($item, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($valAsDefault && $defaultValue === 'inherit') {
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Less_Tree_Value([new Less_Tree_Anonymous($defaultValue)]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue