عن المشروع

Codium::Blocks هو نموذج أولي لـ IDE مصمم لتطوير متعدد اللغات، ويتجنب الاعتماد على Electron. مبني على نواة C++/wxWidgets، ويهدف إلى توفير بيئة خفيفة الوزن لكن قابلة للتوسعة لأنظمة Windows وmacOS وLinux. تشمل المكونات المعمارية الأساسية: - **النواة الأصلية**: تطبيق C++ يستخدم wxWidgets لإدارة واجهة المستخدم والمستندات، مع إبراز syntax للغات C/C++، Python، Rust، Go، Java، JavaScript، TypeScript، JSON، HTML، CSS، Markdown، YAML، وCMake. - **مضيف الامتداد**: مضيف Node.js اختياري خارج العملية، ينفذ جزءًا من واجهة برمجة تطبيقات امتداد VS Code (الأوامر، النافذة، مساحة العمل، اللغات، إلخ). يدعم تحميل امتدادات CommonJS عبر حزم `.vsix` مع التحقق من SHA-256. - **بروتوكول خادم اللغة (LSP)**: عميل LSP متكامل يدعم التهيئة، المزامنة، التمرير، الإكمال، الرموز الدلالية، التعريفات، المراجع، الرموز، إعادة التسمية، وأفعال الكود. يتضمن مصفوفة إصدارات لاختبار الخوادم الحقيقية مثل clangd، rust-analyzer، gopls، وpyright. - **بروتوكول محول التصحيح (DAP)**: عميل DAP أصلي للتصحيح، يدعم نقاط التوقف، تتبع المكدس، المتغيرات، والمحولات مثل GDB، LLDB-DAP، وOpenDebugAD7. - **تكامل Code::Blocks**: جسر إلى SDK الخاصة بـ Code::Blocks لاكتشاف الملحقات، واستيراد مشاريع `.cbp`، وتشغيل محول مضيف منفصل اختياريًا لتحقيق تكامل أعمق. - **الطرفية**: طرفية تفاعلية أصلية مع خلفيات PTY/ConPTY، ودعم تسلسل ANSI/VT، وscrollback. - **نظام البناء**: اكتشاف تلقائي لـ CMake، Make، Cargo، وnpm، مع مشغلات مهام لـ configure، build، وtest. المشروع حاليًا في حالة لقطة تطويرية (v1.0.1)، مع التركيز على الاستقرار والتوافق. لا يدعي التوافق الكامل مع VS Code أو Code::Blocks، لكنه يوفر نهجًا طبقيًا للتوسعة وتكامل الأدوات.