{
  "url": "https://unifast.dev/tr/docs/guides/syntax-highlighting/",
  "locale": "tr",
  "title": "Sözdizimi Vurgulama",
  "description": "unifast'te dört sözdizimi vurgulama motorundan birini seçin: tree-sitter, syntect, Shiki ve highlight.js.",
  "section": "guides",
  "body": "unifast dört sözdizimi vurgulama motorunu destekler. İkisi Rust derleyicisinin içinde çalışır (**tree-sitter**, **syntect**), ikisi ise JavaScript'te çalışır (**Shiki**, **highlight.js**).\n\n### Karşılaştırma\n\n| | tree-sitter | syntect | Shiki | highlight.js |\n|---|-------------|---------|-------|--------------|\n| **Çalışma zamanı** | Rust (dahili) | Rust (dahili) | JavaScript | JavaScript |\n| **Ayrıştırma** | AST tabanlı (tree-sitter grameri) | Regex tabanlı (TextMate grameri) | Regex tabanlı (VS Code grameri) | Regex tabanlı (highlight.js grameri) |\n| **Hız** | En hızlı | Hızlı | Daha yavaş | Daha yavaş |\n| **Diller** | 29 dil + syntect yedeği | 100+ (TextMate) | VS Code grameri | 190+ |\n| **CSS çıktısı** | Sınıf tabanlı (`ts-*`) | Sınıf tabanlı (`sy-*`) | Satır içi stiller veya sınıf tabanlı | Sınıf tabanlı (`hljs`) |\n| **Paket** | `@unifast/node` | `@unifast/node` | `@unifast/shiki` | `@unifast/highlight` |\n| **En iyi kullanım** | Kesin vurgulama, geniş kapsam | Basit kurulum, hızlı başlangıç | İnce taneli tema kontrolü | highlight.js tema ekosistemi |\n\n### tree-sitter Kullanımı\n\ntree-sitter, kesin sözdizimi vurgulaması için AST tabanlı ayrıştırma kullanır. Rust derleyicisinin içinde çalışır ve 29 dili yerel olarak destekler. Desteklenmeyen diller için otomatik olarak syntect'e geri döner.\n\ntree-sitter `@unifast/node` içinde yer alır — ayrı bir kurulum gerekmez.\n\n```ts\n\nconst result = compile(\n  '```typescript\\nconst x: number = 42;\\n```',\n  { plugins: [treeSitter()] }\n);\n```\n\ntree-sitter, `ts-` önekli CSS sınıf adları üretir. Stil sayfanızda bu sınıflar için CSS kuralları sağlamanız gerekir.\n\n#### Desteklenen diller\n\nTypeScript, TSX, JavaScript, HTML, CSS, Python, Rust, JSON, YAML, Go, Ruby, TOML, Swift, PHP, Java, Lua, Scala, Zig, Elixir, OCaml, R, Make, Nix, Regex, Erlang, Bash, C, C++, CMake\n\nDil takma adları da desteklenir (örn. `ts`, `py`, `rs`, `sh`, `yml`, `rb`).\n\n### syntect Kullanımı\n\nsyntect, TextMate gramerini kullanır ve tamamen Rust derleyicisinin içinde çalışır — ek JavaScript yükü yoktur.\n\nsyntect `@unifast/node` içinde yer alır — ayrı bir kurulum gerekmez.\n\n```ts\n\nconst result = compile(\n  '```typescript\\nconst x: number = 42;\\n```',\n  { plugins: [syntect()] }\n);\n```\n\nsyntect, `sy-` önekli CSS sınıf adları üretir. Stil sayfanızda bu sınıflar için CSS kuralları sağlamanız gerekir.\n\n### Shiki Kullanımı\n\nShiki, tema desteğiyle doğru vurgulama için VS Code'un TextMate gramer motorunu kullanır.\n\n```ts\n\nconst shiki = await createShikiPlugin({\n  theme: \"github-dark\",\n  langs: [\"typescript\", \"rust\", \"bash\"],\n});\n\nconst result = compile(\n  '```typescript\\nconst x: number = 42;\\n```',\n  { plugins: [shiki] }\n);\n```\n\n### highlight.js Kullanımı\n\n`@unifast/highlight`, [lowlight](https://github.com/wooorm/lowlight) (highlight.js) kullanır ve JavaScript'te bir HAST dönüşümü olarak çalışır. 190+ dili destekler ve herhangi bir highlight.js temasıyla çalışır.\n\n```ts\n\nconst result = compile(\n  '```typescript\\nconst x: number = 42;\\n```',\n  { plugins: [highlight()] }\n);\n```\n\nhighlight.js, `hljs` önekli sınıf adları üretir. Stil için herhangi bir [highlight.js tema CSS'i](https://highlightjs.org/demo) kullanın.\n\n### Satır Numaraları\n\nTüm motorlar satır numaralarını destekler. Bunları derleme seçeneklerinde etkinleştirin:\n\n```ts\n\nconst result = compile(source, {\n  plugins: [treeSitter()],\n  lineNumbers: true,\n});\n```\n\nHer satır, CSS tabanlı stil için bir `data-line` özniteliğiyle bir `<span>` içine sarmalanır:\n\n```css\n[data-line]::before {\n  content: attr(data-line);\n  display: inline-block;\n  width: 2rem;\n  text-align: right;\n  margin-right: 1rem;\n  color: #6b7280;\n}\n```\n\n### Ayrıca Bakın\n\n- [syntect()](/docs/packages/node/syntect) - syntect API referansı\n- [createShikiPlugin()](/docs/packages/shiki/create-shiki-plugin) - Shiki API referansı",
  "alternates": [
    {
      "locale": "en",
      "url": "https://unifast.dev/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "ja",
      "url": "https://unifast.dev/ja/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/ja/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "zh-CN",
      "url": "https://unifast.dev/zh-CN/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/zh-CN/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "zh-TW",
      "url": "https://unifast.dev/zh-TW/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/zh-TW/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "ko",
      "url": "https://unifast.dev/ko/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/ko/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "fr",
      "url": "https://unifast.dev/fr/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/fr/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "it",
      "url": "https://unifast.dev/it/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/it/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "es",
      "url": "https://unifast.dev/es/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/es/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "pt-BR",
      "url": "https://unifast.dev/pt-BR/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/pt-BR/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "de",
      "url": "https://unifast.dev/de/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/de/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "ru",
      "url": "https://unifast.dev/ru/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/ru/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "hi",
      "url": "https://unifast.dev/hi/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/hi/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "id",
      "url": "https://unifast.dev/id/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/id/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "tr",
      "url": "https://unifast.dev/tr/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/tr/docs/guides/syntax-highlighting.json"
    },
    {
      "locale": "vi",
      "url": "https://unifast.dev/vi/docs/guides/syntax-highlighting/",
      "api": "https://unifast.dev//api/vi/docs/guides/syntax-highlighting.json"
    }
  ]
}
