
# Seçenekler

Tüm giriş noktaları (`codeToHtml`, `codeToTokens`, `codeToTokensResult`, `codeToHast`), ikinci bağımsız değişken olarak aynı seçenekler dizisini alır. Yalnızca `lang` ve tema gereklidir.

## `lang`

**Gerekli.** Belirteçlere ayırmada kullanılacak dil kimliği veya takma adı: `php`, `ts`, `js`, `rust`, `python`, `html` vb. Özel `'ansi'` değeri, dilbilgisi kullanmak yerine terminal kaçış dizilerini vurgular ([ANSI](https://shikiphp.inline0.dev/tr/docs/ansi) bölümüne bakın).

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

## `theme`

Tek bir tema kimliği. `themes` verilmedikçe gereklidir.

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

## `themes`

CSS değişkenleriyle çift (veya çoklu) tema çıktısı için anahtarların tema kimlikleriyle eşlemesi. `theme` verilmedikçe gereklidir.

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

## `defaultColor`

`themes` içindeki hangi anahtarın satır içi varsayılan renk olacağı (diğerleri `--shiki-<key>` CSS değişkenleri olur). Varsayılanı `'light'`. Yalnızca değişkenleri üretip satır içi varsayılanı kaldırmak için `false` olarak ayarlayın; tüm renkleri CSS üzerinden denetlediğinizde kullanışlıdır.

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

## `transformers`

İşlem hattında uygulanan `Shikiphp\Transformer\Transformer` nesnelerinin listesi. [Dönüştürücüler](https://shikiphp.inline0.dev/tr/docs/transformers) bölümüne bakın.

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

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

## `decorations`

Kaynağın rastgele aralıklarına satır/karakter konumuna göre sınıflar veya öznitelikler uygulayın. Her süsleme bir `{start, end, properties}` değeridir; konumlar `{line, character}` (sıfır tabanlı) olarak belirtilir.

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

## `colorReplacements`

Çıktıdaki renkleri yeniden eşleyin. Dize girdileri bir rengi genel olarak değiştirir; tema adına göre iç içe girdiler yalnızca o temaya uygulanır.

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

## `structure`

`'classic'` (varsayılan), `pre > code > span.line > span` yapısının tamamını üretir.
`'inline'`, satır sonlarıyla birlikte yalnızca belirteç aralıklarını üretir; satırları saran `pre`/`code` olmadan. Satır içi kod parçaları için kullanışlıdır.

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

## `tabindex`

`<pre>` öğesindeki `tabindex` özniteliği. Varsayılanı `0`. Özniteliği kaldırmak için `false` geçin.

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

## `cssVariablePrefix`

Çift tema CSS değişkenlerinde kullanılan önek. Varsayılanı `'--shiki-'`.

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

## `mergeWhitespaces`

Boşluk belirteçlerinin işlenişini denetler. `true` (varsayılan), yalnızca boşluk içeren belirteçleri sonraki belirtece ekler; `'never'` her belirtecin başındaki ve sonundaki boşlukları ayrı belirteçlere böler; `false` belirteçleri olduğu gibi bırakır.

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

## `tokenizeMaxLineLength`

Bu uzunluğa eşit veya daha uzun satırları belirteçlere ayırmayı atlar ve bunun yerine her biri için tek bir düz belirteç üretir. Uzunluk UTF-16 kod birimleriyle ölçülür. Varsayılan olarak sınır yoktur. Aşırı uzun tek satırlı girdilere karşı koruma sağlar.

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

## `meta`

Dönüştürücü bağlamı üzerinden dönüştürücülere aktarılan rastgele meta veriler; örneğin [`MetaHighlight`](https://shikiphp.inline0.dev/tr/docs/transformers#metahighlight) ve [`MetaWordHighlight`](https://shikiphp.inline0.dev/tr/docs/transformers#metawordhighlight) tarafından kullanılan kod çiti meta dizesi.

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

## `grammarState`

Belirteçlere ayırmayı buradan sürdürmek için bir `Shikiphp\GrammarState` (`getLastGrammarState` kaynağından). Taşınan `lang` ve theme(s) eşleşmelidir. [`getLastGrammarState`](https://shikiphp.inline0.dev/tr/docs/api#shikiphpgetlastgrammarstate) bölümüne bakın.
