Gå til indhold

Indstillinger

Alle indgangspunkterne (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) tager det samme indstillingsarray som deres andet argument. Kun lang og et tema er påkrævet.

lang

Påkrævet. Sprogets id eller alias, der skal tokeniseres med — php, ts, js, rust, python, html osv. Specialværdien 'ansi' fremhæver terminalens escape-sekvenser i stedet for at bruge en grammatik (se ANSI).

PHP
['lang' => 'php']

theme

Et enkelt tema-id. Påkrævet, medmindre themes er angivet.

PHP
['lang' => 'php', 'theme' => 'github-dark']

themes

Et kort over nøgler til tema-id'er til output med to (eller flere) temaer via variabler i CSS. Påkrævet, medmindre theme er angivet.

PHP
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]

defaultColor

Hvilken nøgle i themes der bliver den indlejrede standardfarve (de andre bliver til variabler i --shiki-<key> CSS). Standardværdien er 'light'. Sæt den til false for kun at udsende variabler og ingen indlejret standardfarve — praktisk, når du styrer alle farver fra CSS.

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

transformers

En liste over Shikiphp\Transformer\Transformer-objekter, der anvendes gennem forløbet. Se Transformere.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

['transformers' => [new NotationHighlight()]]

decorations

Anvend klasser eller attributter på vilkårlige områder af kilden efter linje-/tegnposition. Hver dekoration er {start, end, properties}, hvor positionerne er {line, character} (nulbaserede).

PHP
['decorations' => [
    [
        'start'      => ['line' => 0, 'character' => 0],
        'end'        => ['line' => 0, 'character' => 5],
        'properties' => ['class' => 'highlight'],
    ],
]]

colorReplacements

Tilknyt farverne i outputtet på ny. Strengværdier erstatter en farve globalt; indlejrede værdier med temanavn som nøgle gælder kun for det pågældende tema.

PHP
['colorReplacements' => [
    '#ffffff'      => '#f8f8f2',          // global
    'github-dark'  => ['#24292e' => '#000'], // only in github-dark
]]

structure

'classic' (standard) udsender den fulde struktur pre > code > span.line > span. 'inline' udsender kun tokenområderne med linjeskift uden indpakning pre/code — nyttigt til indlejrede kodeeksempler.

PHP
['structure' => 'inline']

tabindex

Attributten tabindex på elementet <pre>. Standardværdien er 0. Angiv false for at udelade den.

PHP
['tabindex' => false]

cssVariablePrefix

Præfikset, der bruges til variabler i CSS med to temaer. Standardværdien er '--shiki-'.

PHP
['cssVariablePrefix' => '--my-']

mergeWhitespaces

Styrer håndteringen af mellemrumstokens. true (standard) føjer tokens, der kun indeholder mellemrum, til det følgende token; 'never' opdeler hvert tokens indledende og afsluttende mellemrum i selvstændige tokens; false lader tokens være urørte.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Spring tokeniseringen over (og udsend ét almindeligt token for) enhver linje, der har mindst denne længde, målt i UTF-16-kodeenheder. Ingen grænse som standard. Beskytter mod patologiske input på én linje.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Vilkårlige metadata, der videregives til transformere via transformerens kontekst — for eksempel kodehegnets metastreng, der bruges af MetaHighlight og MetaWordHighlight.

PHP
['meta' => ['__raw' => '{1,3-5}']]

grammarState

En Shikiphp\GrammarState (fra getLastGrammarState), som tokeniseringen kan fortsætte fra. De medbragte lang og theme(s) skal stemme overens. Se getLastGrammarState.