Ctags: Prise en charge du langage d'expression Nix (Nix / NixOS)

Créé le 7 mars 2015  ·  4Commentaires  ·  Source: universal-ctags/ctags

Description: https://nixos.org/nix/manual/#ch -expression-language

Il y a une configuration très basique sur 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/

J'ai (espérons-le) amélioré cela un peu localement:

--regex-NIX=/([^ \t*]*)[ \t]*=.*:/\1/f/

Mais c'est encore trop basique et nécessiterait probablement un analyseur séparé.

Je suis moi-même nouveau sur Nix / NixOS, et n'ai donc pas beaucoup de connaissances
à propos de cette langue moi-même.

Parser buenhancement

Commentaire le plus utile

Salut, quel est le statut de ce problème?

Tous les 4 commentaires

Nix lui-même analyse le langage - il utilise des outils standard d'analyse et de lexing https://github.com/NixOS/nix/tree/master/src/libexpr (probablement le plus utile dans le contexte de ce problème). Ensuite, je connais certaines choses dans haskell https://github.com/peti/language-nix , et il existe des surligneurs de syntaxe pour divers éditeurs (ou bibliothèques de surlignage).

En tant que version initiale, une implémentation basée sur une expression régulière est correcte; c'est toujours mieux que rien.
Bien que je doive repenser les structures de répertoires, optlib est le premier moyen de classe d'implémenter un analyseur.
Vous pouvez écrire un analyseur basé sur C plus tard. Le point important est la compatibilité des "genres" entre les regex
analyseur basé et analyseur basé sur C. Si la compatibilité des genres est conservée, personne ne s'occupe du mode de mise en œuvre.

Cependant, si l'implémentation nix a un véritable analyseur, pourquoi ne l'utilisez-vous pas? Mon xmcd est fait pour vous.
Voir data / optlib / cofee.ctags et libexec / drivers / coffeetags.

Salut, quel est le statut de ce problème?

Une demande de tirage est la bienvenue.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

fommil picture fommil  ·  19Commentaires

fabiensabatie picture fabiensabatie  ·  3Commentaires

trevordmiller picture trevordmiller  ·  9Commentaires

cweagans picture cweagans  ·  8Commentaires

liuchengxu picture liuchengxu  ·  8Commentaires