Aller au contenu

Configuration

phil/highlight-bundle
# config/packages/phil_highlight.yaml
phil_highlight:
    aliases:              # more names for a language, each to the name it stands for
        vue: html
        jsonc: json
    ujo:
        enabled: true     # colour the code blocks of UJO documents, when phil/ujo-bundle is installed
OptionValeur par défautEffet
aliases{}D'autres noms sous lesquels un langage est demandé, chacun vers le nom ou l'alias d'un langage que lit le coloriseur : un langage fourni ou l'un de ceux de l'application. Voir Langages
ujo.enabledtruefalse, ou ujo: false, laisse échappés les blocs de code des documents UJO, pour que le navigateur les colore

Un nom s'écrit comme le coloriseur l'accepte : en minuscules, avec des lettres, des chiffres et _+#.-, jusqu'à 32 caractères. Tout autre alias ou nom est refusé à la construction du conteneur. Un nom qu'aucun langage ne porte est détecté à la première construction du coloriseur, par une UnknownLanguage.

Services

ServiceConstruit comme
Phil\Highlight\HighlighterHighlighter::default(), puis with() pour chaque langage étiqueté et chaque groupe d'alias ; public
phil_highlight.code_highlighterClosure::fromCallable([Highlighter, 'highlight']), quand ujo.enabled est activé et que le moteur de rendu de phil/ujo-bundle est un service
phil_highlight.ujo_rendererDécore Phil\Ujo\Html\HtmlRenderer avec withCodeHighlighter() et cette fermeture
Phil\HighlightBundle\Infrastructure\Twig\HighlightExtensionLe filtre, quand Twig est installé

Injectez le coloriseur là où du code est coloré hors des gabarits :

public function __construct(private Highlighter $highlighter)
{
}

Chaque service qui implémente Phil\Highlight\Language reçoit l'étiquette phil_highlight.language quand il est configuré automatiquement.