منسّق الأكواد

ألصق الكود فيُنسَّق تلقائيًا، واللغة تُكتشف دون أي زر.

طريقة الاستخدام

  1. ألصق الكود في المربع — يُنسَّق أثناء الكتابة، ولا يوجد زر للتنسيق.
  2. تُكتشف اللغة من الكود؛ وإن كان التخمين خاطئًا اختر اللغة من القائمة. تغيير الإزاحة (مسافتان أو أربع) أو عرض السطر (80 أو 100 أو 120) يعيد التنسيق فورًا.
  3. انسخ النتيجة أو نزّلها بالامتداد المناسب (.js أو .ts أو .json أو .py …).

مثال

المدخل

def greet(name:str, lang:str="ar")->str:
  # تحية قصيرة
  if not name:
     return "مرحبا، ضيف"
  return f"مرحبا، {name}"

الخرج

def greet(name: str, lang: str = "ar") -> str:
  # تحية قصيرة
  if not name:
    return "مرحبا، ضيف"
  return f"مرحبا، {name}"

القواعد الافتراضية (مسافتان وعرض 80): يوحّد Ruff علامات الاقتباس المزدوجة والمسافات حول النقطتين، ويحافظ على التعليق والنصوص العربية.

القواعد والحدود والمسائل المعروفة

  • التنسيق يغيّر المسافات والتطبيع الخاص بالمحرّك (الاقتباسات والفواصل المنقوطة والفواصل الأخيرة)، ولا ينفّذ الكود ولا يرتّب المفاتيح ولا يعيد تسمية المعرّفات، وتبقى محتويات النصوص كما هي.
  • المحرّكات: Prettier لجافاسكريبت وTypeScript وJSON وCSS وSCSS وLess وHTML وVue وGraphQL، وRuff (متوافق مع Black) لبايثون. يُنزَّل محرّك اللغة الحالية فقط عند أول استخدام، ويخزّنه المتصفح.
  • اكتشاف اللغة تقديري: مقطع يبدأ بوسم قد يُقرأ HTML حتى لو كان JSX، فاختر JavaScript أو TypeScript يدويًا. والكائن الذي يشبه JSON لكنه غير صالح يعود إلى JavaScript.
  • الاختيار اليدوي ملزم: اختيار CSS لا ينسّق بصمت كـSCSS. وTypeScript يجرّب .ts ثم .tsx.
  • JSON يستخدم محلّل Prettier، لذا قد تبقى الكائنات القصيرة في سطر واحد. للتحقق الصارم أو ترتيب المفاتيح أو الضغط استخدم صندوق أدوات JSON. المفاتيح المكررة تحتفظ بالقيمة الأخيرة كما يفعل JSON.parse.
  • نمط Prettier الافتراضي ثابت: اقتباسات مزدوجة وفواصل منقوطة وفواصل أخيرة حيث تجوز. لا تُقرأ .prettierrc أو .editorconfig ولا توجد خيارات للاقتباس أو الفاصلة المنقوطة. بايثون تستخدم الاقتباسات المزدوجة وتحترم الفاصلة الأخيرة (Ruff/Black).
  • مسافات HTML تتبع htmlWhitespaceSensitivity: css، لذا قد تختلف المسافات حول العناصر السطرية عن المصدر. لا دعم لـMarkdown أو YAML أو XML؛ تغطّيها محرّرة Markdown ومحوّل الإعدادات ومنسّق XML.
  • الخرج يستخدم LF بلا سطر جديد في النهاية، والتنسيق ثابت. فوق 200,000 حرف تتحدث النتيجة بعد نحو 0.6 ثانية من التوقف عن الكتابة؛ ويعمل التنسيق في Web Worker، ولا يُرفع النص ولا يُوضع في URL ولا يُحفظ.

ما يُحتاج عادة بعد أن يصبح الكود مقروءًا.