Fix keylighter version switcher
This commit is contained in:
parent
3d0de63540
commit
2c5428c828
@ -8,7 +8,6 @@
|
||||
"ext-json": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-zip": "*",
|
||||
"kadet/keylighter": "dev-master",
|
||||
"league/commonmark": "^1.3",
|
||||
"sensio/framework-extra-bundle": "^5.5",
|
||||
"symfony/asset": "5.0.*",
|
||||
|
63
composer.lock
generated
63
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "21e44e8aa90d4d7ae44c34fdfdee4f2c",
|
||||
"content-hash": "ff5ad5d6a23af043f032470a0f69507e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
@ -1228,59 +1228,6 @@
|
||||
],
|
||||
"time": "2014-01-12T16:20:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "kadet/keylighter",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kadet1090/KeyLighter.git",
|
||||
"reference": "f3f2804ba69766681f8df1887f8e7d58a5504642"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/kadet1090/KeyLighter/zipball/f3f2804ba69766681f8df1887f8e7d58a5504642",
|
||||
"reference": "f3f2804ba69766681f8df1887f8e7d58a5504642",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.1.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"easybook/geshi": "v1.0.8.19",
|
||||
"ext-json": "*",
|
||||
"phpunit/phpunit": "^7.0",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"symfony/console": "^4.4",
|
||||
"symfony/var-exporter": "^4.4"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "Allows usage of keylighters CLI utility."
|
||||
},
|
||||
"bin": [
|
||||
"bin/keylighter"
|
||||
],
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Kadet\\Highlighter\\": "."
|
||||
},
|
||||
"files": [
|
||||
"./functions.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Kacper Donat",
|
||||
"email": "contact@kadet.net"
|
||||
}
|
||||
],
|
||||
"description": "Yet another syntax highlighter for PHP",
|
||||
"time": "2020-04-09T07:40:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/commonmark",
|
||||
"version": "1.3.3",
|
||||
@ -4702,16 +4649,16 @@
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": {
|
||||
"kadet/keylighter": 20
|
||||
},
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "^7.2.5",
|
||||
"ext-ctype": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-json": "*"
|
||||
"ext-json": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-zip": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "1.1.0"
|
||||
|
@ -53,8 +53,7 @@ services:
|
||||
$installed: "%keylighter_dir%/installed.json"
|
||||
|
||||
Kadet\Highlighter\KeyLighter:
|
||||
class: Kadet\Highlighter\KeyLighter
|
||||
factory: 'Kadet\Highlighter\KeyLighter::get'
|
||||
factory: ['@App\Service\KeyLighterVersioner', 'getKeyLighter']
|
||||
|
||||
League\CommonMark\Environment:
|
||||
factory: ['League\CommonMark\Environment', 'createGFMEnvironment']
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Service;
|
||||
|
||||
use App\Message\UpdateKeylighterMessage;
|
||||
use Kadet\Highlighter\KeyLighter;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Messenger\MessageBusInterface;
|
||||
@ -21,7 +22,7 @@ class KeyLighterVersioner
|
||||
{
|
||||
$this->filesystem = $filesystem;
|
||||
$this->parameters = $parameters;
|
||||
$this->bus = $bus;
|
||||
$this->bus = $bus;
|
||||
}
|
||||
|
||||
public function getAvailableVersions()
|
||||
@ -83,6 +84,7 @@ class KeyLighterVersioner
|
||||
}
|
||||
|
||||
require $this->getDirectory($version).'/vendor/autoload.php';
|
||||
|
||||
$this->current = $version;
|
||||
}
|
||||
|
||||
@ -91,6 +93,15 @@ class KeyLighterVersioner
|
||||
return $this->current;
|
||||
}
|
||||
|
||||
public function getKeyLighter()
|
||||
{
|
||||
if (!class_exists(KeyLighter::class)) {
|
||||
$this->load('dev-master');
|
||||
}
|
||||
|
||||
return KeyLighter::get();
|
||||
}
|
||||
|
||||
public function getCurrentDir()
|
||||
{
|
||||
return $this->getDirectory($this->current);
|
||||
|
@ -21,17 +21,33 @@ class KeyLighterTwigAccess
|
||||
|
||||
public function getLanguages()
|
||||
{
|
||||
$languages = require $this->versioner->getCurrentDir().'/Config/metadata.php';
|
||||
$languages = collect($languages);
|
||||
switch (true) {
|
||||
case version_compare(KeyLighter::VERSION, '0.9.0', '>'):
|
||||
$languages = require $this->versioner->getCurrentDir().'/Config/metadata.php';
|
||||
$languages = collect($languages);
|
||||
|
||||
$languages = $languages->reduce(function (Collection $collection, $language) {
|
||||
return $collection->merge(array_fill_keys($language['name'], [
|
||||
'class' => $language[0],
|
||||
'standalone' => $language['standalone'],
|
||||
'embeddable' => $language['injectable']
|
||||
]));
|
||||
}, collect());
|
||||
$languages = $languages->reduce(function (Collection $collection, $language) {
|
||||
return $collection->merge(array_fill_keys($language['name'], [
|
||||
'class' => $language[0],
|
||||
'standalone' => $language['standalone'],
|
||||
'embeddable' => $language['injectable']
|
||||
]));
|
||||
}, collect());
|
||||
|
||||
return $languages;
|
||||
return $languages;
|
||||
|
||||
default:
|
||||
$languages = collect($this->keylighter->registeredLanguages('name', true));
|
||||
|
||||
return $languages->mapWithKeys(function ($class, $language) {
|
||||
return [
|
||||
$language => [
|
||||
'class' => $class,
|
||||
'standalone' => true,
|
||||
'embeddable' => true,
|
||||
]
|
||||
];
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -78,9 +78,6 @@
|
||||
"jdorn/sql-formatter": {
|
||||
"version": "v1.2.17"
|
||||
},
|
||||
"kadet/keylighter": {
|
||||
"version": "dev-master"
|
||||
},
|
||||
"league/commonmark": {
|
||||
"version": "1.3.3"
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user