Squelette de documentation des fonctions C/C++ avec vim
Par Sp4rKy le vendredi 07 décembre 2007, 00:16 - Lien permanent
Bon, j'avoue, le titre ne veut rien dire, mais faut m'excuser, il est tard, skateinmars a pas arrêté de m'embêter, etc, etc ...
Le but de ce petit topic est de vous montrer comment générer un début de docmentation des fonctions C sous vim.
D'abord, le code. Prenez une chaise, des aspirines, un grand verre, de l'eau . Vous êtes prêt :
map T :copy.<ESC>k<ESC>:.!sed -r 's@(.[^ ]*) (.[^\(]*)\((.*)\).*@/** * \@name \2 : * \@Param \3 : * \@Return \1 : */@; s/,/ : * \@Param /g; s/ [ ]+/ /g;' <CR><CR>
J'avais prévenu :)
Alors ça fait quoi ça ? Ca va générer à l'aide d'une simple touche de raccourci un squelette de documentation compatible doxygen & autres. Vous mettez cette petite ligne à la fin de votre ~/.vimrc, vous enregistrez tout ça et vous ouvrez votre code source C préféré.
Placez vous sur la ligne de déclaration d'une fonction par exemple :
int main (int argc, const char ** argv) {
et, en mode commande, appuyez sur T (shift + t).
Et là magie, vous voyez apparaître ceci au dessus de la déclaration :
/** * @name main : * @Param int argc : * @Param const char ** argv : * @Return int : */
Si ça ne marche pas c'est que :
- Vous avez mal fait
- J'ai mal fait
Dans le premier cas, reprenez vous, que diable ! Dans le second, tant pis pour vous je vais me coucher :)
PS : un GRAND GRAND merci au petit petit gapz qui du fond de sa cave m'a grandement aidé à faire ça (pour ne pas dire qu'il a fait de loin le plus dur) :)
Il y a 8 commentaires
Wouu intéressant ça merci !
Bonne nuit quant à moi je vais me coucher et j'essaierai demain ;)
Vincent
Ouh le tricheur il fait ca en 3 étapes !
Je demande à revoir en awk/perl en une passe.
*runs*
Est ce que l'on pourrais bannir ce skateinmars d'ici s'il vous plait, puis d'irc aussi, puis carrément lui couper son accès internet et l'attacher dans sa cave avec ses cables réseaux :D
C'est vrais que c'est trop facile d'utiliser ce qui existe déjà :)
http://www.vim.org/scripts/script_s...
pour les fonctions static inline void toto(void), c'est pas top comme macro :)
c'est vrai qu'elle doit pas être optimale, on se dit que le nombre de static inline void est pas nombreux part rapport au reste :p
@ph7
nonnnnnnnnnnnnnnnnnnnnnnnnnn !!!
Mais c'est génial ça ! Bon, ça me fout mon tpic en l'air quand meme :p
On dira que c'est à but éducatif :}
Cave ? Je t'ai déja dit que j'habitais dans une grotte au Pakistan.