الوصف: https://nixos.org/nix/manual/#ch -expression-language
هناك بعض التهيئة الأساسية للغاية في https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/misc/ctags/wrapped.nix :
--langdef=NIX
--langmap=NIX:.nix
--regex-NIX=/([^ \t*]*)[ \t]*=/\1/f/
لقد قمت (آمل) بتحسين هذا قليلاً محليًا:
--regex-NIX=/([^ \t*]*)[ \t]*=.*:/\1/f/
لكنها لا تزال أساسية للغاية وستحتاج على الأرجح إلى محلل منفصل.
أنا جديد على Nix / NixOS بنفسي ، وبالتالي ليس لدي الكثير من المعرفة
عن هذه اللغة بنفسي.
يقوم Nix نفسه بتحليل اللغة - فهو يستخدم أدوات التحليل والقياس القياسية https://github.com/NixOS/nix/tree/master/src/libexpr (ربما يكون أكثر فائدة في سياق هذه المشكلة). ثم أعرف بعض الأشياء في haskell https://github.com/peti/language-nix ، وهناك أدوات تمييز بناء الجملة لمختلف المحررين (أو تمييز المكتبات).
كإصدار أولي ، لا بأس بالتنفيذ المستند إلى التعبير العادي ؛ إنه دائمًا أفضل من لا شيء.
على الرغم من أنني يجب أن أعيد التفكير في هياكل الدليل ، فإن optlib هي الطريقة الأولى في تطبيق المحلل اللغوي.
يمكنك كتابة محلل قائم على لغة C لاحقًا. النقطة المهمة هي توافق "الأنواع" بين التعبير العادي
المحلل اللغوي القائم والمحلل اللغوي القائم على C. إذا تم الحفاظ على توافق الأنواع ، فلن يهتم أحد بطريقة التنفيذ.
ومع ذلك ، إذا كان تطبيق nix يحتوي على محلل حقيقي ، فلماذا لا تستخدمه؟ xmcd الخاص بي هو لك.
راجع data / optlib / cofee.ctags و libexec / drivers / coffeetags.
مرحبًا ، ما هي حالة هذه المشكلة؟
طلب السحب هو موضع ترحيب.
التعليق الأكثر فائدة
مرحبًا ، ما هي حالة هذه المشكلة؟