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).
['lang' => 'php']
theme
Et enkelt tema-id. Påkrævet, medmindre themes er angivet.
['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.
['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.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
En liste over Shikiphp\Transformer\Transformer-objekter, der anvendes gennem
forløbet. Se Transformere.
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).
['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.
['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.
['structure' => 'inline']
tabindex
Attributten tabindex på elementet <pre>. Standardværdien er 0. Angiv false
for at udelade den.
['tabindex' => false]
cssVariablePrefix
Præfikset, der bruges til variabler i CSS med to temaer. Standardværdien er '--shiki-'.
['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.
['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.
['tokenizeMaxLineLength' => 1000]
meta
Vilkårlige metadata, der videregives til transformere via transformerens kontekst —
for eksempel kodehegnets metastreng, der bruges af
MetaHighlight og
MetaWordHighlight.
['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.