الدليل الرئيسي والتعامل مع المسار عبر الأنظمة الأساسية¶
تم تصميم Aura للعمل عبر أنظمة تشغيل متعددة. للتأكد من أن أوامر التنقل في نظام الملفات تعمل بغض النظر عما إذا كنت تستخدم Linux أو macOS أو Windows، يتم تحليل سلاسل المسار ديناميكيًا قبل تسجيلها في الخرائط المشوشة النشطة.
---
## منطق تطبيع المسار (`FUZZY_MAP_pre.py`)
يعتمد منطق تعيين المسار الديناميكي على الممارسات القياسية التالية:
### 1. تخفيض التلدة (POSIX)
في الأنظمة المتوافقة مع POSIX (Linux وmacOS)، يتم تحويل المسارات المطلقة المطابقة للدليل الرئيسي للمستخدم (على سبيل المثال، /home/username/) إلى ~ مسارات نسبية عند بدء التشغيل. يؤدي هذا إلى إبقاء أطوال السلسلة أقصر ويجعل القواعد التي تم إنشاؤها قابلة للنقل بين مستخدمين مختلفين على نفس نظام التشغيل:
# Replaces '/home/username/projects' with '~/projects'
if sys.platform != 'win32' and project_root_str_full.startswith(home_dir_str):
PROJECT_ROOT_FOR_MAP = project_root_str_full.replace(home_dir_str, '~', 1)
### 2. الحفاظ على المسار المطلق (Windows)
لا يقوم Windows بتقييم الحرف ~ بشكل موثوق في موجه الأوامر القياسي (cmd.exe) أو بيئات PowerShell. لذلك، عندما يكتشف المكون الإضافي بيئة Windows (sys.platform == \'win32')، فإنه يحتفظ بالمسار المطلق المؤهل بالكامل (على سبيل المثال، C:\Users\username\...) لضمان عدم فشل تنفيذ الأمر.
### 3. تسوية الشرطة المائلة للأمام (`as_posix()`)
تستخدم Aura خطوطًا مائلة للأمام بنمط POSIX (/) داخليًا لخرائط التكوين. يقوم البرنامج النصي بتطبيع جميع فواصل المسار المعتمدة على نظام التشغيل من خلال استخدام طريقة Python pathlib.Path.as_posix()، والتي تقوم تلقائيًا بتطهير الخطوط المائلة العكسية (\) في بيئات Windows.