Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

autoinsert et variables locales

3 réponses
Avatar
Jack.R
Bonjour,

Dans mon .emacs, j'ai
;------------------------------------------------------------------------------
; Automatically insert text in new file, depending of its type
;------------------------------------------------------------------------------
(add-hook 'find-file-hooks 'auto-insert)
(load-library "autoinsert")
(setq auto-insert-directory "~/emacs/")
(add-to-list 'auto-insert-alist '("\\.tex\\'" . "auto-insert.tex"))
(add-to-list 'auto-insert-alist '("\\.php\\'" . "auto-insert.php"))

etc

Cela me permet d'insérer ou non une squelette lors de la création d'un
nouveau fichier en fonction de son extension. Dans certains de ces
squelettes, j'ai des variables locales qui définissent le mode, le
codage, ...
Exemple:
/*
* Local variables:
* mode: php
* coding: utf-8-unix
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/

Comment faire pour quelles soient prises en compte dés l'insertion ?
Actuellement, j'enregistre, ferme puis réouvre le fichier.

Je suis sûr d'avoir lu quelque part comment faire lire les variables
locales du buffer courant mais je n'arrive pas à remettre la main dessus.

Le top serait que cela se fasse automatiquement, suite à l'insertion.

Quelqu'un a-t-il une meilleure mémoire que moi ?

--
Jack.R

3 réponses

Avatar
Olivier
Jack.R a écrit :
[...]
/*
* Local variables:
* mode: php
* coding: utf-8-unix
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/

Comment faire pour quelles soient prises en compte dés l'insertion ?



Je ne connais pas de focntionnement automatique.
Mais :
(add-hook 'php-mode-hook
(lambda nil (setq coding-system 'utf-8-unix
; verifier si le quote est necessaire
tab-width 4
c-basic-offset 4
indent-tabs-mode nil)))

Voila qui au moins nettoiera un peu la situation.
Amitiés,
Olivier
Avatar
Sébastien Vauban
Comment faire pour que [les variables locales] soient prises
en compte dés l'insertion ?
Actuellement, j'enregistre, ferme puis réouvre le fichier.



M-x revert-buffer

Seb

--
Sébastien Vauban
Avatar
Jack.R
Le Tue, 05 Feb 2008 09:10:19 +0100, Olivier a écrit:

Jack.R a écrit :
[...]
/*
* Local variables:
* mode: php
* coding: utf-8-unix
* tab-width: 4
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/

Comment faire pour quelles soient prises en compte dés l'insertion ?



Je ne connais pas de focntionnement automatique. Mais :
(add-hook 'php-mode-hook
(lambda nil (setq coding-system 'utf-8-unix
; verifier si le quote est necessaire
tab-width 4
c-basic-offset 4
indent-tabs-mode nil)))

Voila qui au moins nettoiera un peu la situation. Amitiés,
Olivier



Oui, mais non ;-) j'ai des scripts qui utilisent d'autres conventions de
codage.
En php, j'ai une ligne en début de fichier pour vi et les variables
locales en fin de fichier pour emacs dans l'espoir que quelque soit
l'éditeur utilisé, les conventions de codage soient respectées.

Apparemment, le coding-system n'est pas pris en compte (j'ai aussi essayé
avec coding, avec et sans quote).

Merci

--
Jack.R