Alternativ
Alla ingångar (codeToHtml, codeToTokens, codeToTokensResult,
codeToHast) tar samma alternativarray som sitt andra argument. Endast lang
och ett tema krävs.
lang
Obligatoriskt. Språkets id eller alias att tokenisera med — php, ts, js,
rust, python, html och så vidare. Det särskilda värdet 'ansi' markerar
terminalens escape-sekvenser i stället för att använda en grammatik (se ANSI).
['lang' => 'php']
theme
Ett enskilt tema-id. Krävs om inte themes anges.
['lang' => 'php', 'theme' => 'github-dark']
themes
En mappning från nycklar till tema-id:n för utdata med dubbla (eller flera) teman via variablerna CSS.
Krävs om inte theme anges.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Vilken nyckel i themes som blir den inbyggda standardfärgen (de andra blir
--shiki-<key> CSS-variabler). Standardvärdet är 'light'. Ange false för att endast
skapa variabler utan inbyggd standardfärg — praktiskt när du styr alla färger från
CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
En lista med Shikiphp\Transformer\Transformer-objekt som tillämpas genom
flödet. Se Transformers.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Tillämpa klasser eller attribut på valfria intervall i källan med hjälp av rad- och teckenpositioner. Varje dekoration är {start, end, properties}, där positionerna är
{line, character} (nollbaserade).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Mappa om färgerna i utdata. Strängvärden ersätter en färg globalt; nästlade värden med temats namn som nyckel gäller endast det temat.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (standard) skapar hela strukturen pre > code > span.line > span.
'inline' skapar endast tokenintervallen med radbrytningar, utan omslutande
pre/code — användbart för infogade kodsnuttar.
['structure' => 'inline']
tabindex
Attributet tabindex på elementet <pre>. Standardvärdet är 0. Ange false
för att utelämna det.
['tabindex' => false]
cssVariablePrefix
Prefixet som används för variabler för dubbla teman, CSS. Standardvärdet är '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Styr hanteringen av blankteckentoken. true (standard) slår ihop token som bara innehåller blanktecken med nästa token; 'never' delar upp inledande och
avslutande blanktecken i varje token till fristående token; false lämnar token orörda.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Hoppa över tokenisering (och skapa en enda vanlig token för) alla rader som är minst så här långa, mätt i UTF-16-kodenheter. Standardvärdet är ingen gräns. Skydd mot orimligt långa rader med en enda radbrytning.
['tokenizeMaxLineLength' => 1000]
meta
Valfria metadata som skickas vidare till transformers via transformer-kontexten —
till exempel metadata för kodstängslet som används av
MetaHighlight och
MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
En Shikiphp\GrammarState (från getLastGrammarState) för att återuppta tokeniseringen
från. Det medföljande lang och theme(s) måste stämma överens. Se
getLastGrammarState.