Changeset 114927 in spip-zone


Ignore:
Timestamp:
Apr 11, 2019, 2:52:02 PM (7 months ago)
Author:
cedric@…
Message:

On integre le fork https://github.com/Cerdic/scssphp/tree/version-plugin-spip qui comprend quelques patchs en plus dont

  • indiquer le fichier source de l'erreur dans les exceptions
  • support de l'interpolation pour pouvoir compiler BootStrap? 4.3.4 natif
Location:
_plugins_/scssphp/trunk/lib/scssphp
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/scssphp/trunk/lib/scssphp/README.md

    r98027 r114927  
    11# scssphp
     2
     3Forked version for SPIP SCSSPHP plugin : https://github.com/Cerdic/scssphp/tree/version-plugin-spip
     4used in https://plugins.spip.net/scssphp
     5
    26### <http://leafo.github.io/scssphp>
    37
  • _plugins_/scssphp/trunk/lib/scssphp/bin/pscss

    r108142 r114927  
    202202
    203203if ($sourceMap) {
    204     $scss->setSourceMap(Compiler::SOURCE_MAP_FILE);
     204    $scss->setSourceMap(Compiler::SOURCE_MAP_INLINE);
    205205}
    206206
  • _plugins_/scssphp/trunk/lib/scssphp/composer.json

    r108142 r114927  
    1919    },
    2020    "autoload-dev": {
    21         "psr-4": { "Leafo\\ScssPhp\\Test\\": "tests/" }
     21        "psr-4": { "Leafo\\ScssPhp\\Test\\": "tests/" },
     22        "classmap": [
     23            "src/"
     24        ]
    2225    },
    2326    "require": {
     
    2629    "require-dev": {
    2730        "squizlabs/php_codesniffer": "~2.5",
    28         "phpunit/phpunit": "~4.6"
     31        "phpunit/phpunit": "^7"
    2932    },
    3033    "bin": ["bin/pscss"],
  • _plugins_/scssphp/trunk/lib/scssphp/scss.inc.php

    r108142 r114927  
    2525    include_once __DIR__ . '/src/Node/Number.php';
    2626    include_once __DIR__ . '/src/Parser.php';
    27     include_once __DIR__ . '/src/SourceMap/Base64VLQEncoder.php';
     27    include_once __DIR__ . '/src/SourceMap/Base64.php';
     28    include_once __DIR__ . '/src/SourceMap/Base64VLQ.php';
    2829    include_once __DIR__ . '/src/SourceMap/SourceMapGenerator.php';
    2930    include_once __DIR__ . '/src/Type.php';
  • _plugins_/scssphp/trunk/lib/scssphp/src/Block.php

    r108871 r114927  
    6363     */
    6464    public $children;
     65    /**
     66     * @var \Leafo\ScssPhp\Block
     67     */
     68    public $atrootParent;
     69    /**
     70     * @var array
     71     */
     72    public $atrootParentSelectors;
    6573}
  • _plugins_/scssphp/trunk/lib/scssphp/src/Compiler.php

    r114875 r114927  
    797797        $this->env = $this->filterWithout($envs, $without);
    798798        $newBlock  = $this->spliceTree($envs, $block, $without);
     799        if (isset($block->atrootParent))
     800            $newBlock[1]->atrootParent = $block->atrootParent;
    799801
    800802        $saveScope   = $this->scope;
     
    12941296        foreach ($selector as $parts) {
    12951297            foreach ($parts as $part) {
     1298                if (is_array($part)) {
     1299                    return false;
     1300                }
    12961301                if (strlen($part) && '%' === $part[0]) {
    12971302                    return true;
     
    18791884                    $this->applyArguments($mixin->args, $argValues);
    18801885                }
    1881 
     1886                foreach ($mixin->children as $stm) {
     1887                    if ($stm[0] == Type::T_AT_ROOT) {
     1888                        $stm[1]->atrootParentSelectors = $callingScope->selectors;
     1889                    }
     1890                }
    18821891                $this->env->marker = 'mixin';
    18831892
     
    29132922                continue;
    29142923            }
    2915 
     2924            if ($env->block->type == Type::T_AT_ROOT) {
     2925                break;
     2926            }
    29162927            $selectors = [];
     2928            if (!empty($env->block->parent->atrootParent) && !empty($env->block->parent->atrootParent->selectors)) {
     2929                $parentSelectors = $env->block->parent->atrootParent->selectors;
     2930            }
     2931            if (!empty($env->parent->parent->block->atrootParentSelectors)) {
     2932                $parentSelectors = $env->parent->parent->block->atrootParentSelectors;
     2933            }
    29172934
    29182935            foreach ($env->selectors as $selector) {
     
    33093326     * @api
    33103327     *
    3311      * @param string $path
     3328     * @param string|callable $path
    33123329     */
    33133330    public function addImportPath($path)
  • _plugins_/scssphp/trunk/lib/scssphp/src/Parser.php

    r110441 r114927  
    716716        $b->comments     = [];
    717717        $b->parent       = $this->env;
     718        $b->atrootParent = $this->env;
    718719
    719720        if (! $this->env) {
     
    763764            $this->throwParseError('unexpected }');
    764765        }
    765 
     766//        if ($block->type == Type::T_AT_ROOT || $block->type == Type::T_MIXIN || $block->type == Type::T_INCLUDE) {
     767//            $block->atrootParent = $block->parent;
     768//        }
    766769        $this->env = $block->parent;
    767770        unset($block->parent);
     
    17381741                } elseif ($this->literal("'", false)) {
    17391742                    $content[] = $m[2] . "'";
     1743                } elseif ($this->literal("\\", false)) {
     1744                    $content[] = $m[2] . "\\";
    17401745                } else {
    17411746                    $content[] = $m[2];
     
    17541759
    17551760                foreach ($content as &$string) {
    1756                     if ($string === "\\'") {
     1761                    if ($string === "\\\\") {
     1762                        $string = "\\";
     1763                    } elseif ($string === "\\'") {
    17571764                        $string = "'";
    17581765                    } elseif ($string === '\\"') {
     
    18941901        $oldWhite = $this->eatWhiteDefault;
    18951902        $this->eatWhiteDefault = true;
     1903        $selector = false;
    18961904
    18971905        $s = $this->seek();
    18981906
    18991907        if ($this->literal('#{') && $this->valueList($value) && $this->literal('}', false)) {
     1908
    19001909            if ($lookWhite) {
    19011910                $left = preg_match('/\s/', $this->buffer[$s - 1]) ? ' ' : '';
    1902                 $right = preg_match('/\s/', $this->buffer[$this->count]) ? ' ': '';
     1911                $right = preg_match('/\s/', $this->buffer[$this->count]) ? ' ' : '';
    19031912            } else {
    19041913                $left = $right = false;
    19051914            }
    1906 
    19071915            $out = [Type::T_INTERPOLATE, $value, $left, $right];
     1916
     1917            $this->eatWhiteDefault = $oldWhite;
     1918
     1919            if ($this->eatWhiteDefault) {
     1920                $this->whitespace();
     1921            }
     1922
     1923            return true;
     1924        }
     1925
     1926        $this->seek($s);
     1927
     1928        if ($this->literal('#{') && $selector = $this->selectorSingle($sel) && $this->literal('}', false)) {
     1929
     1930            $out = $sel[0];
     1931
    19081932            $this->eatWhiteDefault = $oldWhite;
    19091933
     
    20922116                continue;
    20932117            }
     2118            // self
     2119//            if ($this->literal('#{&}', true)) {
     2120//                $parts[] = Compiler::$selfSelector;
     2121//                continue;
     2122//            }
    20942123
    20952124            if ($this->literal('.', false)) {
  • _plugins_/scssphp/trunk/lib/scssphp/src/SourceMap/SourceMapGenerator.php

    r108871 r114927  
    6262     * The base64 VLQ encoder
    6363     *
    64      * @var \Leafo\ScssPhp\SourceMap\Base64VLQEncoder
     64     * @var \Leafo\ScssPhp\SourceMap\Base64VLQ
    6565     */
    6666    protected $encoder;
     
    9696    {
    9797        $this->options = array_merge($this->defaultOptions, $options);
    98         $this->encoder = new Base64VLQEncoder();
     98        $this->encoder = new Base64VLQ();
    9999    }
    100100
     
    304304
    305305        // "Trim" the 'sourceMapBasepath' from the output filename.
    306         if (strpos($filename, $basePath) === 0) {
     306        if (strlen($basePath) && strpos($filename, $basePath) === 0) {
    307307            $filename = substr($filename, strlen($basePath));
    308308        }
  • _plugins_/scssphp/trunk/lib/scssphp/src/Version.php

    r110441 r114927  
    1919class Version
    2020{
    21     const VERSION = 'v0.7.6';
     21    const VERSION = 'v0.7.8';
    2222}
Note: See TracChangeset for help on using the changeset viewer.