Valikud
Kõik sisendpunktid (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) võtavad teise argumendina sama valikute massiivi. Nõutavad on ainult lang ja teema.
lang
Nõutav. Tokeniseeritava keele ID või alias — php, ts, js, rust, python, html jne. Eri väärtus 'ansi' tõstab grammatika kasutamise asemel esile terminali paojadad (vt ANSI).
['lang' => 'php']
theme
Üks teema ID. Nõutav, kui pole määratud themes.
['lang' => 'php', 'theme' => 'github-dark']
themes
Teema ID-de võtmete kaart kahe või enama teemaga väljundi jaoks, kasutades CSS muutujaid. Nõutav, kui pole määratud theme.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Millise võtme värvist themes saab vaikimisi reasisene värv (teistest saavad --shiki-<key> CSS muutujad). Vaikeväärtus on 'light'. Ainult muutujate väljastamiseks ilma vaikimisi reasisese värvita seadke väärtuseks false — kasulik, kui juhite kõiki värve failist CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Loend Shikiphp\Transformer\Transformer objektidest, mis rakendatakse töövoos. Vt Teisendajad.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Rakenda lähtekoodi suvalistele lõikudele rea ja märgi asukoha järgi klasse või atribuute. Iga dekoratsioon on {start, end, properties}, kus asukohad on {line, character} (indekseerimine algab nullist).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Väljundi värvide ümberseadistamine. Stringväärtused asendavad värvi kõikjal; teema nime järgi pesastatud väärtused kehtivad ainult sellele teemale.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
Vaikimisi väljastab 'classic' kogu struktuuri pre > code > span.line > span. 'inline' väljastab ainult tokenite vahemikud reavahetustega, ilma ümbritsevate pre/code elementideta — kasulik reasiseste koodinäidete puhul.
['structure' => 'inline']
tabindex
Elemendi <pre> atribuut tabindex. Vaikeväärtus on 0. Selle väljajätmiseks edastage false.
['tabindex' => false]
cssVariablePrefix
Topeltteema CSS muutujate eesliide. Vaikeväärtus on '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Juhib tühimärke sisaldavate tokenite käsitlemist. Vaikimisi liidab true ainult tühimärke sisaldavad tokenid järgmise tokeniga; 'never' jagab iga tokeni algus- ja lõputühikud eraldi tokeniteks; false jätab tokenid muutmata.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Jäta tokeniseerimine vahele ja väljasta ühe tavalise tokenina iga rida, mille pikkus on vähemalt see väärtus UTF-16 koodiühikutes. Vaikimisi piirang puudub. Kaitsemeetmena väga pikkade üherealiste sisendite vastu.
['tokenizeMaxLineLength' => 1000]
meta
Suvalised metaandmed, mis edastatakse teisendajatele teisendaja konteksti kaudu — näiteks koodiploki metaandmete string, mida kasutavad MetaHighlight ja MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
getLastGrammarState väärtus Shikiphp\GrammarState-st, millest tokeniseerimist jätkata. Kaasas olevad lang ja theme(s) peavad ühtima. Vt getLastGrammarState.