treeSitter()

Tree-sitter ayrıştırma kütüphanesini kullanarak fenced kod blokları için sözdizimi vurgulamasını etkinleştiren bir Tree-sitter plugin'i oluşturur.

import { treeSitter } from "@unifast/node";

İmza

function treeSitter(options?: TreeSitterPluginOptions): UnifastPlugin

Parametreler

options?

Vurgulama motoru yapılandırması

ÖzellikTürVarsayılanAçıklama
engine"none" | "treeSitter""treeSitter"“treeSitter” Tree-sitter vurgulayıcısını kullanır; “none” vurgulamayı devre dışı bırakır

Kullanım

import { compile, treeSitter } from "@unifast/node";

const md = `
# Code Example

\`\`\`rust
fn main() {
    println!("Hello, world!");
}
\`\`\`
`;

const result = compile(md, {
  plugins: [
    treeSitter({
      engine: "treeSitter",
    }),
  ],
});

console.log(result.output);
// Kod blokları <span> elemanları ve CSS sınıflarıyla sözdizimi vurgulamasına sahip olur

Örnekler

Sözdizimi vurgulamayı etkinleştirme

import { compile, treeSitter } from "@unifast/node";

const md = `
\`\`\`typescript
const greeting: string = "Hello";
console.log(greeting);
\`\`\`
`;

const result = compile(md, { plugins: [treeSitter()] });

console.log(result.output);
// <pre><code class="language-typescript">
//   <span class="...">const</span> ...
// </code></pre>

Vurgulamayı devre dışı bırakma

import { compile, treeSitter } from "@unifast/node";

const result = compile(md, {
  plugins: [treeSitter({ engine: "none" })],
});

console.log(result.output);
// Kod blokları sözdizimi vurgulaması olmadan render edilir