Ctags: دعم لغة تعبير Nix (Nix / NixOS)

تم إنشاؤها على ٧ مارس ٢٠١٥  ·  4تعليقات  ·  مصدر: universal-ctags/ctags

الوصف: 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 بنفسي ، وبالتالي ليس لدي الكثير من المعرفة
عن هذه اللغة بنفسي.

Parser buenhancement

التعليق الأكثر فائدة

مرحبًا ، ما هي حالة هذه المشكلة؟

ال 4 كومينتر

يقوم 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.

مرحبًا ، ما هي حالة هذه المشكلة؟

طلب السحب هو موضع ترحيب.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات