أدوات الجودة: sad-fmt وsad-check وsad-lsp
المنسّق sad-fmt
ينسّق شيفرة .ص تلقائيًّا وفق أسلوب موحَّد — ملفًّا واحدًا أو مجلّدًا كاملًا:
sad-fmt برنامجي.ص # تنسيق ملفّ (كتابة في المكان)
sad-fmt src/ # تنسيق مجلّد تكراريًّا
sad-fmt --check src/ # فحص فقط دون كتابة (لبوّابات CI)
sad-fmt --diff برنامجي.ص # عرض الفرق دون كتابة
| الخيار | المعنى |
|---|---|
--check <مسار> | فحص الالتزام دون تعديل — يفشل إن وُجد ما يحتاج تنسيقًا |
--diff <مسار> | عرض الفروق المقترحة |
--stdin | القراءة من الدخل القياسيّ (تكامل المحرّرات) |
--config <ملفّ> / --init | ملفّ إعداد مخصّص / إنشاء الإعداد الافتراضيّ |
--compact / --verbose | تطبيق نمط مضغوط / مفصَّل |
--dry-run <مجلّد> | تجربة على مجلّد دون كتابة |
الفاحص الساكن sad-check
يفحص الملكيّة والأنواع دون تشغيل البرنامج — يلتقط أصنافًا من الأخطاء قبل أوانها، وهو الأنسب لبوّابات CI:
sad-check برنامجي.ص
sad-check src/ --recursive --summary # مجلّد كامل بمخرَج CI مختصر
| الخيار | المعنى |
|---|---|
-r, --recursive | فحص كلّ ملفّات .ص في المجلّد |
--summary | مخرَج إحصائيّ مختصر (مناسب لـCI) |
--json | النتائج بصيغة JSON (للأتمتة) |
--explain | ملاحظة سياق إضافيّة حول كلّ خطأ |
-w, --watch | إعادة الفحص عند تغيّر الملفّات |
-q, --quiet | كتم رسائل النجاح |
--no-color | تعطيل ألوان ANSI |
رموز الخروج: 0 سليم · 1 أخطاء ملكيّة/تحليل · 2 فشل قراءة · 3 استخدام
خاطئ لسطر الأوامر — اربطها ببوّابة CI مباشرة.
خادم اللغة sad-lsp
خادم بروتوكول خادم اللغة (LSP) يمنح المحرّرات (VS Code وغيرها) الإكمالَ التلقائيّ والتشخيصات والتنقّل للتعريف — يعمل تحليلًا ساكنًا على قلب اللغة نفسه (المعجم والمحلّل ونظام الأنواع من مصدر الحقيقة الموحَّد)، فلا ينفّذ شيفرتك أبدًا.
يشغّله المحرّر تلقائيًّا عبر إضافة لغة ص؛ لا يحتاج تشغيلًا يدويًّا في الاستعمال الاعتياديّ.