Hoppa till innehåll

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).

PHP
['lang' => 'php']

theme

Ett enskilt tema-id. Krävs om inte themes anges.

PHP
['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.

PHP
['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.

PHP
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']

transformers

En lista med Shikiphp\Transformer\Transformer-objekt som tillämpas genom flödet. Se Transformers.

PHP
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).

PHP
['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.

PHP
['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.

PHP
['structure' => 'inline']

tabindex

Attributet tabindex på elementet <pre>. Standardvärdet är 0. Ange false för att utelämna det.

PHP
['tabindex' => false]

cssVariablePrefix

Prefixet som används för variabler för dubbla teman, CSS. Standardvärdet är '--shiki-'.

PHP
['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.

PHP
['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.

PHP
['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.

PHP
['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.