diff options
author | Andreas Gohr <andi@splitbrain.org> | 2025-03-15 10:13:05 +0100 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2025-03-15 10:13:05 +0100 |
commit | 83bbbbbe80e83566fddb651affb54e5ca8aac179 (patch) | |
tree | 34b6b14823d9126f7ab2254c1714483db667e228 | |
parent | 91c051b578b6f689d63885c95ea2d73e0e46f39a (diff) | |
download | dokuwiki-83bbbbbe80e83566fddb651affb54e5ca8aac179.tar.gz dokuwiki-83bbbbbe80e83566fddb651affb54e5ca8aac179.zip |
updated php-cli #4384
-rw-r--r-- | composer.lock | 12 | ||||
-rw-r--r-- | vendor/composer/InstalledVersions.php | 20 | ||||
-rw-r--r-- | vendor/composer/installed.json | 14 | ||||
-rw-r--r-- | vendor/composer/installed.php | 10 | ||||
-rw-r--r-- | vendor/splitbrain/php-cli/src/Colors.php | 3 | ||||
-rw-r--r-- | vendor/splitbrain/php-cli/src/TableFormatter.php | 19 |
6 files changed, 55 insertions, 23 deletions
diff --git a/composer.lock b/composer.lock index fd97a6373..da1d53a9c 100644 --- a/composer.lock +++ b/composer.lock @@ -686,16 +686,16 @@ }, { "name": "splitbrain/php-cli", - "version": "1.3.3", + "version": "1.3.4", "source": { "type": "git", "url": "https://github.com/splitbrain/php-cli.git", - "reference": "8189c68cbde3fd8c3e0fc26295b776b143b6e481" + "reference": "4e669f38f660b0e9f76ed14dda7f12bff390f94f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/splitbrain/php-cli/zipball/8189c68cbde3fd8c3e0fc26295b776b143b6e481", - "reference": "8189c68cbde3fd8c3e0fc26295b776b143b6e481", + "url": "https://api.github.com/repos/splitbrain/php-cli/zipball/4e669f38f660b0e9f76ed14dda7f12bff390f94f", + "reference": "4e669f38f660b0e9f76ed14dda7f12bff390f94f", "shasum": "" }, "require": { @@ -735,9 +735,9 @@ ], "support": { "issues": "https://github.com/splitbrain/php-cli/issues", - "source": "https://github.com/splitbrain/php-cli/tree/1.3.3" + "source": "https://github.com/splitbrain/php-cli/tree/1.3.4" }, - "time": "2024-12-18T08:16:26+00:00" + "time": "2025-03-15T09:02:01+00:00" }, { "name": "splitbrain/php-jsstrip", diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 07b32ed6e..6d29bff66 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -33,6 +33,11 @@ class InstalledVersions private static $installed; /** + * @var bool + */ + private static $installedIsLocalDir; + + /** * @var bool|null */ private static $canGetVendors; @@ -309,6 +314,12 @@ class InstalledVersions { self::$installed = $data; self::$installedByVendor = array(); + + // when using reload, we disable the duplicate protection to ensure that self::$installed data is + // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not, + // so we have to assume it does not, and that may result in duplicate data being returned when listing + // all installed packages for example + self::$installedIsLocalDir = false; } /** @@ -325,7 +336,9 @@ class InstalledVersions $copiedLocalDir = false; if (self::$canGetVendors) { + $selfDir = strtr(__DIR__, '\\', '/'); foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + $vendorDir = strtr($vendorDir, '\\', '/'); if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { @@ -333,11 +346,14 @@ class InstalledVersions $required = require $vendorDir.'/composer/installed.php'; self::$installedByVendor[$vendorDir] = $required; $installed[] = $required; - if (strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + if (self::$installed === null && $vendorDir.'/composer' === $selfDir) { self::$installed = $required; - $copiedLocalDir = true; + self::$installedIsLocalDir = true; } } + if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) { + $copiedLocalDir = true; + } } } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index adaa41636..f31fd3661 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -709,17 +709,17 @@ }, { "name": "splitbrain/php-cli", - "version": "1.3.3", - "version_normalized": "1.3.3.0", + "version": "1.3.4", + "version_normalized": "1.3.4.0", "source": { "type": "git", "url": "https://github.com/splitbrain/php-cli.git", - "reference": "8189c68cbde3fd8c3e0fc26295b776b143b6e481" + "reference": "4e669f38f660b0e9f76ed14dda7f12bff390f94f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/splitbrain/php-cli/zipball/8189c68cbde3fd8c3e0fc26295b776b143b6e481", - "reference": "8189c68cbde3fd8c3e0fc26295b776b143b6e481", + "url": "https://api.github.com/repos/splitbrain/php-cli/zipball/4e669f38f660b0e9f76ed14dda7f12bff390f94f", + "reference": "4e669f38f660b0e9f76ed14dda7f12bff390f94f", "shasum": "" }, "require": { @@ -731,7 +731,7 @@ "suggest": { "psr/log": "Allows you to make the CLI available as PSR-3 logger" }, - "time": "2024-12-18T08:16:26+00:00", + "time": "2025-03-15T09:02:01+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -761,7 +761,7 @@ ], "support": { "issues": "https://github.com/splitbrain/php-cli/issues", - "source": "https://github.com/splitbrain/php-cli/tree/1.3.3" + "source": "https://github.com/splitbrain/php-cli/tree/1.3.4" }, "install-path": "../splitbrain/php-cli" }, diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index adae283ba..057d4856e 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'dokuwiki/dokuwiki', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'c408a2af01195b7a0821b224bb0e83b4c623ae0f', + 'reference' => '91c051b578b6f689d63885c95ea2d73e0e46f39a', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -22,7 +22,7 @@ 'dokuwiki/dokuwiki' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'c408a2af01195b7a0821b224bb0e83b4c623ae0f', + 'reference' => '91c051b578b6f689d63885c95ea2d73e0e46f39a', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -122,9 +122,9 @@ 'dev_requirement' => false, ), 'splitbrain/php-cli' => array( - 'pretty_version' => '1.3.3', - 'version' => '1.3.3.0', - 'reference' => '8189c68cbde3fd8c3e0fc26295b776b143b6e481', + 'pretty_version' => '1.3.4', + 'version' => '1.3.4.0', + 'reference' => '4e669f38f660b0e9f76ed14dda7f12bff390f94f', 'type' => 'library', 'install_path' => __DIR__ . '/../splitbrain/php-cli', 'aliases' => array(), diff --git a/vendor/splitbrain/php-cli/src/Colors.php b/vendor/splitbrain/php-cli/src/Colors.php index d57de1581..dd1fd0462 100644 --- a/vendor/splitbrain/php-cli/src/Colors.php +++ b/vendor/splitbrain/php-cli/src/Colors.php @@ -31,6 +31,9 @@ class Colors const C_LIGHTGRAY = 'lightgray'; const C_WHITE = 'white'; + // Regex pattern to match color codes + const C_CODE_REGEX = "/(\33\[[0-9;]+m)/"; + /** @var array known color names */ protected $colors = array( self::C_RESET => "\33[0m", diff --git a/vendor/splitbrain/php-cli/src/TableFormatter.php b/vendor/splitbrain/php-cli/src/TableFormatter.php index 23bb89472..20d71c62a 100644 --- a/vendor/splitbrain/php-cli/src/TableFormatter.php +++ b/vendor/splitbrain/php-cli/src/TableFormatter.php @@ -293,6 +293,7 @@ class TableFormatter protected function wordwrap($str, $width = 75, $break = "\n", $cut = false) { $lines = explode($break, $str); + $color_reset = $this->colors->getColorCode(Colors::C_RESET); foreach ($lines as &$line) { $line = rtrim($line); if ($this->strlen($line) <= $width) { @@ -301,18 +302,30 @@ class TableFormatter $words = explode(' ', $line); $line = ''; $actual = ''; + $color = ''; foreach ($words as $word) { + if (preg_match_all(Colors::C_CODE_REGEX, $word, $color_codes) ) { + # Word contains color codes + foreach ($color_codes[0] as $code) { + if ($code == $color_reset) { + $color = ''; + } else { + # Remember color so we can reapply it after a line break + $color = $code; + } + } + } if ($this->strlen($actual . $word) <= $width) { $actual .= $word . ' '; } else { if ($actual != '') { $line .= rtrim($actual) . $break; } - $actual = $word; + $actual = $color . $word; if ($cut) { while ($this->strlen($actual) > $width) { $line .= $this->substr($actual, 0, $width) . $break; - $actual = $this->substr($actual, $width); + $actual = $color . $this->substr($actual, $width); } } $actual .= ' '; @@ -322,4 +335,4 @@ class TableFormatter } return implode($break, $lines); } -}
\ No newline at end of file +} |