Opties
Alle toegangspunten (codeToHtml, codeToTokens, codeToTokensResult,
codeToHast) gebruiken dezelfde optiemap als tweede argument. Alleen lang
en een thema zijn verplicht.
lang
Verplicht. De taal-id of alias waarmee de code wordt getokeniseerd — php, ts, js,
rust, python, html enzovoort. De speciale waarde 'ansi' markeert
terminal-escape-sequenties in plaats van een grammatica te gebruiken (zie ANSI).
['lang' => 'php']
theme
Eén thema-id. Verplicht tenzij themes is opgegeven.
['lang' => 'php', 'theme' => 'github-dark']
themes
Een toewijzing van sleutels aan thema-id's voor uitvoer met dubbele (of meerdere) thema's via CSS-variabelen.
Verplicht tenzij theme is opgegeven.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Welke sleutel in themes de inline standaardkleur wordt (de andere sleutels worden --shiki-<key>-variabelen van CSS). Standaard 'light'. Stel in op false om alleen variabelen te genereren en geen inline standaardkleur — handig als u alle kleuren zelf beheert met CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Een lijst van Shikiphp\Transformer\Transformer-objecten die via de pipeline worden toegepast. Zie Transformers.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Pas klassen of attributen toe op willekeurige bereiken van de broncode, op basis van regel- en tekenpositie. Elke decoratie is {start, end, properties}, waarbij posities {line, character} zijn (nulgebaseerd).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Vervang kleuren in de uitvoer. Tekenreeksvermeldingen vervangen een kleur overal; geneste vermeldingen die op themanaam zijn gegroepeerd gelden alleen voor dat thema.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (standaard) genereert de volledige pre > code > span.line > span-structuur.
'inline' genereert alleen de tokenspans met regeleinden, zonder omhullende
pre/code — handig voor inlinefragmenten.
['structure' => 'inline']
tabindex
Het kenmerk tabindex op het <pre>-element. Standaard 0. Geef false mee
om het weg te laten.
['tabindex' => false]
cssVariablePrefix
Het voorvoegsel voor variabelen van dubbele thema's in CSS. Standaard '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Bepaalt hoe witruimtetokens worden verwerkt. true (standaard) voegt tokens die alleen uit witruimte bestaan samen met het volgende token; 'never' splitst de witruimte aan het begin en einde van elk token op in afzonderlijke tokens; false laat tokens ongemoeid.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Sla het tokeniseren over (en genereer één platte token voor) elke regel met deze lengte of langer, uitgedrukt in UTF-16-code-eenheden. Standaard is er geen limiet. Dit beschermt tegen pathologische invoer op één regel.
['tokenizeMaxLineLength' => 1000]
meta
Willekeurige metadata die via de context van de transformer wordt doorgegeven aan transformers — bijvoorbeeld de metatekst van een codeblok, die wordt gebruikt door
MetaHighlight en
MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
Een Shikiphp\GrammarState (vanuit getLastGrammarState) om het tokeniseren te hervatten vanaf die positie. De meegedragen lang en theme(s) moeten overeenkomen. Zie getLastGrammarState.