Inclure une entête dans les nouveaux fichiers

Le
Julien Enocq
Bonjour, j'aurai 2 petites questions :)

1)Je cherche à inclure automatiquement un texte prédéfini à mes
nouveaux fichiers.

Par exemple, je voudrai que tout les nouveaux .c, .cpp, .h et .hpp
soit remplis avec:

/* Mon beau nom */
/* Créé le 13/03/2005 */

Enfin, au minimum le nom en fait.

Comment puis je faire ?

2)Je m'aperçois que j'ai de plus en plus besoin de petites
configurations dans le genre, et je pense que ça serai plus pratique
et intéressant pour moi d'apprendre le lisp pour pouvoir me
débrouiller seul :) Où puis je trouver des cours pour apprendre le
lisp ? Site internet, pdf, livres, tout me va. Si c'est en français
c'est excellent, si c'est de l'anglais je ferai avec, autre ça ira
pas. ;)

Merci d'avance pour votre aide !
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
drkm
Le #21753271
Julien Enocq writes:

1)Je cherche à inclure automatiquement un texte prédéfini à mes
nouveaux fichiers.

Par exemple, je voudrai que tout les nouveaux .c, .cpp, .h et .hpp
soit remplis avec:

/* Mon beau nom */
/* Créé le 13/03/2005 */

Enfin, au minimum le nom en fait.

Comment puis je faire ?



Je pense qu'il y a des modules qui font cela. Cherche sur
EmacsWiki, par exemple après « template ». Sinon, a priori, il
faudrait utiliser 'find-file-hook', et vérifier dans la fonction
qu'il s'agit d'un nouveau fichier, que le nom (ou plutôt le mode)
correspond, etc., puis insérer le texte.

Pour ce qui est de l'insertion des commentaires, tu peux voir
dans le CVS de la 'drkm-lib' 'drkm-lib/drkm/drkm-comments.el', par exemple les fonctions
'drkm-c++-header', 'drkm-c++-footer' et 'drkm-c++-comment'.
Elles sont implémentées à partir d'une fonction générique.
Attention, ce code est vieux, ne te base dessus qu'à titre
d'inspiration, et encore (je pense qu'il s'agit là de mes
premiers bouts de Lisp).

Tiens, tu viens de me donner quelques idées ... Héhé.

2)Je m'aperçois que j'ai de plus en plus besoin de petites
configurations dans le genre, et je pense que ça serai plus pratique
et intéressant pour moi d'apprendre le lisp pour pouvoir me
débrouiller seul :) Où puis je trouver des cours pour apprendre le
lisp ? Site internet, pdf, livres, tout me va. Si c'est en français
c'est excellent, si c'est de l'anglais je ferai avec, autre ça ira
pas. ;)



Si c'est pour apprendre l'Emacs Lisp en particulier, juste pour
configurer Emacs (ce qui est déjà énaurme), je te conseille
« Emacs Lisp Intro », ou quelque chose comme ça. Il a fallu tout
un temps le télécharger à part, maintenant ça fait partie de GNU
Emacs. Tu devrais trouver dans le menu Info : 'C-h i C-s intro'.
Il en existe peut-être une traduction, je ne sais pas, mais même
moi j'ai compris, donc n'hésite pas.

Je te conseille au moins d'en commencer la lecture. Garde le
manuel ELisp ('C-h i m elisp <RET>') tout près, et habitue-toi à
le consulter au fur et à mesure, de temps en temps. C'est comme
ça que j'ai commencé, et je pense que c'est pas mal.

Désolé du ton quelque peu lapidaire par endroits, je n'ai pas
beaucoup de temps ce soir.

--drkm
Sébastien Kirche
Le #21753261
Le 5 septembre 2005 à 01:09, drkm s'est exprimé ainsi :

Je pense qu'il y a des modules qui font cela. Cherche sur
EmacsWiki, par exemple après « template ».



Il y a aussi le mode skeleton qui est prévu pour cela.

Je ne l'utilise pas mais le wiki t'en dira plus ainsi que sur d'autres
méthodes comme les templates cités par drkm.

http://emacswiki.org/cgi-bin/wiki/CategoryTemplates

HTH.
--
Sébastien Kirche
Jean Magnan de Bornier
Le #21753231
Le 05 septembre à 00:47:03 Julien Enocq
| Bonjour, j'aurai 2 petites questions :)



| 1)Je cherche à inclure automatiquement un texte prédéfini à mes
| nouveaux fichiers.



| Par exemple, je voudrai que tout les nouveaux .c, .cpp, .h et .hpp
| soit remplis avec:



| /* Mon beau nom */
| /* Créé le 13/03/2005 */



| Enfin, au minimum le nom en fait.



| Comment puis je faire ?

Si ta version d'emacs est récente, tu as déjà des "templates" tout fa its
pour différents types d'extensions, par exemple, si je tape:
C-x C-f jojo.c, emacs me demande si je veux utiliser son template pour le
c, si je dis oui un buffer avec cet en-tête:

............................
/* @(#)jojo.c
*/

#include #include "jojo.h"
............................

Cela peut être largement personnalisé en créant ses propres templates (Edit ->
template creation)

Il y a aussi d'autres techniques que je ne connais pas...

à+,
--
Jean Magnan de Bornier | Cours Victor Hugo
e-mots: jean at bornier.net | 13980 Alleins France
T 08 70 39 34 03 | P 06 09 17 35 87
drkm
Le #21753161
Jean Magnan de Bornier writes:

Si ta version d'emacs est récente, tu as déjà des "templates" tout faits
pour différents types d'extensions, par exemple, si je tape:
C-x C-f jojo.c, emacs me demande si je veux utiliser son template pour le
c



Mmh, sans rien configurer ? En es-tu certain ?

--drkm
Matthieu Moy
Le #21753151
Julien Enocq
1)Je cherche à inclure automatiquement un texte prédéfini à mes
nouveaux fichiers.



,----[ C-h f auto-insert-mode RET ]
| auto-insert-mode is an interactive compiled Lisp function in `autoinsert'.
| (auto-insert-mode &optional ARG)
|
| Toggle Auto-insert mode.
| With prefix ARG, turn Auto-insert mode on if and only if ARG is positive.
| Returns the new status of Auto-insert mode (non-nil means on).
|
| When Auto-insert mode is enabled, when new files are created you can
| insert a template for the file depending on the mode of the buffer.
`----

--
Matthieu
Julien Enocq
Le #21753141
Je viens d'installer ça: http://emacs-template.sourceforge.net/ et ça
marche exactement comme je le voulai. Configurable
facilement, pas besoin de connaitre l'elisp, même si du coup ça permet
de faire moins de choses, mais ça me suffi amplement. Ya des templates
de base, on peux les modifier et en créer de nouveaux.

Sinon pour l'aide d'elisp, dans C-h i ya ni reference a intro ni a
elisp, je comprend pas pourquoi...
drkm
Le #21753131
Julien Enocq writes:

Sinon pour l'aide d'elisp, dans C-h i ya ni reference a intro ni a
elisp, je comprend pas pourquoi...



Il n'a été ajouté à la distri que récemment, je pense. Tu peux
le trouver ici :

http://www.gnu.org/software/emacs/emacs-lisp-intro/

--drkm
Julien Enocq
Le #21753121
drkm
Il n'a été ajouté à la distri que récemment, je pense. Tu peux
le trouver ici :

http://www.gnu.org/software/emacs/emacs-lisp-intro/



Merci, je vais regarder ça :)
Jean Magnan de Bornier
Le #21753111
Le 05 septembre à 21:01:52 drkm
| Jean Magnan de Bornier writes:



| > Si ta version d'emacs est récente, tu as déjà des "templates" tou t faits
| > pour différents types d'extensions, par exemple, si je tape:
| > C-x C-f jojo.c, emacs me demande si je veux utiliser son template pour le
| > c



| Mmh, sans rien configurer ? En es-tu certain ?

Tu as raison, j'ai ceci dans ma config:
(require 'template)
(template-initialize)

Évidemment j'avais complètement oublié...
--
Jean Magnan de Bornier | Cours Victor Hugo
e-mots: jean at bornier.net | 13980 Alleins France
T 08 70 39 34 03 | P 06 09 17 35 87
Erwan David
Le #21753101
Matthieu Moy
Julien Enocq
1)Je cherche à inclure automatiquement un texte prédéfini à mes
nouveaux fichiers.



,----[ C-h f auto-insert-mode RET ]
| auto-insert-mode is an interactive compiled Lisp function in `autoinsert'.
| (auto-insert-mode &optional ARG)
|
| Toggle Auto-insert mode.
| With prefix ARG, turn Auto-insert mode on if and only if ARG is positive.
| Returns the new status of Auto-insert mode (non-nil means on).
|
| When Auto-insert mode is enabled, when new files are created you can
| insert a template for the file depending on the mode of the buffer.
`----



Il y a aussi template.el

--
Si vous embauchez, voici mon CV
http://www.rail.eu.org/cv/cv.pdf
Publicité
Poster une réponse
Anonyme