
# Parinktys

Visi įėjimo taškai (`codeToHtml`, `codeToTokens`, `codeToTokensResult`, `codeToHast`) kaip antrąjį argumentą priima tą patį parinkčių masyvą. Privalomi tik `lang` ir tema.

## `lang`

**Privaloma.** Kalbos identifikatorius arba alternatyvus pavadinimas, pagal kurį žetonizuojama — `php`, `ts`, `js`, `rust`, `python`, `html` ir taip toliau. Specialioji reikšmė `'ansi'` paryškina terminalo valdymo sekas, užuot naudojusi gramatiką (žr. [ANSI](https://shikiphp.inline0.dev/lt/docs/ansi)).

```php
['lang' => 'php']
```

## `theme`

Vienas temos identifikatorius. Privalomas, nebent nurodyta `themes`.

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

## `themes`

Temų identifikatorių atvaizdis dvejopos (arba kelių) temų išvesčiai per CSS kintamuosius. Privalomas, nebent nurodyta `theme`.

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

## `defaultColor`

Kuris `themes` raktas tampa numatytąja spalva eilutėje (kitų spalvų reikšmės tampa `--shiki-<key>` CSS kintamaisiais). Numatytoji reikšmė — `'light'`. Nustatykite `false`, kad būtų pateikti tik kintamieji be numatytosios spalvos eilutėje — naudinga, kai visas spalvas valdote per CSS.

```php
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
```

## `transformers`

`Shikiphp\Transformer\Transformer` objektų, taikomų per procesą, sąrašas. Žr. [Transformatoriai](https://shikiphp.inline0.dev/lt/docs/transformers).

```php
use Shikiphp\Transformer\Notation\NotationHighlight;

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

## `decorations`

Pridėkite klases arba atributus prie bet kokių šaltinio sričių pagal eilutės ir simbolio poziciją. Kiekviena dekoracija yra `{start, end, properties}`, o pozicijos yra `{line, character}` (nuo nulio).

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

## `colorReplacements`

Peržymėkite išvesties spalvas. Eilutės reikšmės pakeičia spalvą visur, o įdėtos reikšmės, susietos su temos pavadinimu, taikomos tik tai temai.

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

## `structure`

`'classic'` (numatytoji) pateikia visą `pre > code > span.line > span` struktūrą. `'inline'` pateikia tik žetonų atkarpas su eilučių skirtukais, be apgaubiančių `pre`/`code` — naudinga trumpiems fragmentams eilutėje.

```php
['structure' => 'inline']
```

## `tabindex`

`<pre>` elemento atributas `tabindex`. Numatytoji reikšmė — `0`. Nurodykite `false`, kad jo nebūtų.

```php
['tabindex' => false]
```

## `cssVariablePrefix`

Dvejopų temų CSS kintamųjų priešdėlis. Numatytoji reikšmė — `'--shiki-'`.

```php
['cssVariablePrefix' => '--my-']
```

## `mergeWhitespaces`

Valdo tarpų žetonų apdorojimą. `true` (numatytoji) sujungia tik iš tarpų sudarytus žetonus su tolesniu žetonu; `'never'` atskiria kiekvieno žetono pradžios ir pabaigos tarpus į savarankiškus žetonus; `false` žetonų nekeičia.

```php
['mergeWhitespaces' => 'never']
```

## `tokenizeMaxLineLength`

Praleiskite žetonizavimą (ir pateikite vieną paprastą žetoną) kiekvienai šio ilgio ar ilgesnei eilutei; ilgis nurodomas UTF-16 kodo vienetais. Pagal numatymą apribojimo nėra. Apsauga nuo neįprastai ilgų vienos eilutės įvesčių.

```php
['tokenizeMaxLineLength' => 1000]
```

## `meta`

Bet kokie metaduomenys, perduodami transformatoriams per transformatoriaus kontekstą — pavyzdžiui, kodo aptvėrimo metaduomenų eilutė, kurią naudoja [`MetaHighlight`](https://shikiphp.inline0.dev/lt/docs/transformers#metahighlight) ir [`MetaWordHighlight`](https://shikiphp.inline0.dev/lt/docs/transformers#metawordhighlight).

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

## `grammarState`

`Shikiphp\GrammarState` (iš `getLastGrammarState`), nuo kurio tęsiamas žetonizavimas. Perduotos `lang` ir theme(s) reikšmės turi sutapti. Žr. [`getLastGrammarState`](https://shikiphp.inline0.dev/lt/docs/api#shikiphpgetlastgrammarstate).
