2010-11-19 4 views
2

Les modules Drupal sont des fichiers php avec des extensions de fichier .module. Pour générer des balises sur ces fichiers que je cours avec les ctags langmap paramètres suivants:Utilisation de ctags et de vim avec de nouveaux mappages d'extension de fichier

ctags -R --langmap=php:+.module . 

Cette commande produit le fichier tags avec plusieurs balises appartenant à fichier .module. Mais lorsque j'ouvre la fenêtre de la liste de tags avec TlistToggle, aucun des tags n'est affiché. Toutefois, lors de l'ouverture d'un fichier php avec l'extension .php, la fenêtre de liste de balises affiche toutes les balises dans un arbre de navigation.

Ai-je besoin de spécifier en quelque sorte au plugin taglist de Vim que l'extension de fichier .module appartient au langage PHP?

Mise à jour: je lance la commande suivante décrit le diagnostic dans taglist's faq:

ctags -f - --format=2 --excmd=pattern --fields=nks test_module.module 

La réponse est rien. Mais quand je lance cette commande avec un fichier php il affiche une liste de tags:

ctags -f - --format=2 --excmd=pattern --fields=nks test_module.php 

Répondre

1

Les deux Vim et Emacs lire « conseils de l'éditeur » dans le fichier texte, le plus souvent intégrés dans un commentaire, qui contient des commandes ou paramètres que l'éditeur doit respecter lors de l'ouverture du fichier. Vous pouvez l'utiliser pour dire à l'éditeur quoi faire avec le fichier, quel que soit le nom du fichier.

Pour des conseils qui fonctionne aussi bien avec Emacs et Vim, placez un bloc de commentaires à la fin du fichier:

# Local variables: 
# coding: utf-8 
# mode: php 
# End: 
# vim: fileencoding=utf-8 filetype=php : 

(Votre question ne comporte pas la nécessité de spécifier l'encodage des caractères, mais cela montre comment vous pouvez combiner plusieurs paramètres dans un bloc de commentaire.)

0

vous pouvez voir les langues-correspondances par défaut avec ctags --verbose

extensions Drupal ne sont pas inclus probablement par défaut. Vous pouvez voir quelque chose comme ça pour PHP:

Parfois, les fichiers longs peuvent créer des erreurs, donc j'exclus généralement les extensions qui ont tendance à avoir une sortie réduite. Drupal utilise souvent ".inc". Cette commande devrait fonctionner:

ctags -R --langmap=PHP:+.inc.module --exclude='*.js' --exclude='*.html' --exclude='*.css' * 

Dans ~/.vimrc assurez-vous d'ajouter: :set tags=/path/to/your/tags

alors vous devriez être en mesure d'utiliser Ctrl +] sauter aux définitions de classe/fonction.

Questions connexes