Comment générer un fichier ctags pour un docset? (Pour vim)
Question
J'aimerais pouvoir utiliser ctags pour parcourir les jeux de données Apple iphone sdk avec vim. Existe-t-il un moyen de générer un fichier ctags qui renvoie aux ensembles de documents en question?
J'utilise Objective-C pour programmer pour l'iPhone. J'ai donc utilisé les balises Objective-C et modifié ma ligne de commande en:
ctags -f iPhone.tags -R --langmap="ObjC:.m .h" --fields=+ias --extra=+q /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks/
De plus, les + et - des méthodes entrent dans les balises et, comme vous ne les utilisez pas dans le code, j'ai dû les rayer du fichier de balises généré.
La solution
J'utilise plusieurs sdk du système et crée un fichier de balises pour chacun d'eux, par exemple:
%> ctags -f qt4.tags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ /Library/Frameworks/Qt*
ces fichiers de balises créés sont placés dans un sous-dossier appelé "balises" situé sous mon dossier vim. alors j'ajoute des trucs à mon .vimrc:
let &tags="tags;./tags"
let s:tfs=split(globpath(&rtp, "tags/*.tags"),"\n")
for s:tf in s:tfs
let &tags.=",".expand(escape(escape(s:tf, " "), " "))
endfor
et .. c'est tout.
J'utilise balises ctags exubérantes pour créer les tags, sous Windows j'utilise les fichiers binaires précompilés, sur mac j'utilise macports et sous Linux, je n'utilise que les packages:)