J'aimerais que, pour les fichiers d'un répertoire donné, emacs écrive
la date de dernière modification en français dans les fichiers
*.phtml.fr et *.phtml.phtml et en anglais dans les fichiers *.phtml.en.
J'y suis « presque », mais pas complètement. Voici un extrait de
mon .emacs :
;; Fonction qui insert un fragment de code PHP du genre
;; $last_modif = 'Dernière modification : le jj/mm/aaaa à hh:mm:ss.';
(defun dd-insert-timestamp-fr ()
"Timestamp insertion function. Modified by DD for French."
(let ((time (current-time-string)))
(insert "$last_modif = 'Dernière modification : le "
(format-time-string "%d/%m/%Y")
" à "
(format-time-string "%T")
".';"
)))
;; Pendant anglophone de la fonction ci-dessus. Produit qqch comme
;; $last_modif = 'Last modified on mm/dd/yyyy at hh:mm:ss.';
(defun dd-insert-timestamp-en ()
"Timestamp insertion function. Modified by DD for English."
(let ((time (current-time-string)))
(insert "$last_modif = 'Last modified on "
(format-time-string "%m/%d/%Y")
" at "
(format-time-string "%T")
".'"
)))
;; Notez la présence du <? ... ?>: ca ne marche que pour une page PHP
(define-derived-mode my-web-pages-fr-mode html-helper-mode "MyWeb-fr"
(setq html-helper-timestamp-start "<? /* Timestamp-start */\n")
(setq html-helper-timestamp-end "\n/* Timestamp-end */ ?>")
(set-variable 'html-helper-timestamp-hook 'dd-insert-timestamp-fr)
)
; Je dérive du html-helper-mode et je change juste les timestamps
(define-derived-mode my-web-pages-en-mode html-helper-mode "MyWeb-en"
(setq html-helper-timestamp-start "<? /* Timestamp-start */\n")
(setq html-helper-timestamp-end "\n/* Timestamp-end */ ?>")
(set-variable 'html-helper-timestamp-hook 'dd-insert-timestamp-en)
)
;; Pour les fichiers .ph* du répertoire "1d" : francais par defaut
(setq auto-mode-alist
(cons '("/1d/.*\\.ph" . my-web-pages-fr-mode) auto-mode-alist))
;; Ruse : on fait passer l'anglais devant pour les fichiers .ph*.en
(setq auto-mode-alist
(cons '("/1d/.*\\.ph.*\\.en" . my-web-pages-en-mode) auto-mode-alist))
C'est un peu long. J'espère que c'est clair :-]
Ca marche bien au début, mais après quelques temps ca me met de
l'anglais dans les buffers en "MyWeb-fr" et inversement. Je suis
béotien dans la manipulation des setq, set-variable et sur leurs effets
locaux/globaux, et je soupçonne que ce soit ça qui me fasse planter mon
affaire. Pourriez-vous m'aider ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierrick LE GALL
Daniel Déchelotte writes:
Bonsoir,
Salut Daniel,
Je ne suis pas particulièrement à l'aise avec l'ajout de fonctionnalité à Emacs, mais je vais quand même répondre, mais un peu hors-sujet.
Pourquoi n'utilises-tu pas un vrai gestionnaire de version pour les pages HTML de ton site ? Tu pourrais demander au gestionnaire de version d'insérer la date de dernière modification en bas du source.
@+
-- Pierrick LE GALL
Daniel Déchelotte <maitre_yodan@fr.club-internet.invalid> writes:
Bonsoir,
Salut Daniel,
Je ne suis pas particulièrement à l'aise avec l'ajout de fonctionnalité
à Emacs, mais je vais quand même répondre, mais un peu hors-sujet.
Pourquoi n'utilises-tu pas un vrai gestionnaire de version pour les
pages HTML de ton site ? Tu pourrais demander au gestionnaire de version
d'insérer la date de dernière modification en bas du source.
Je ne suis pas particulièrement à l'aise avec l'ajout de fonctionnalité à Emacs, mais je vais quand même répondre, mais un peu hors-sujet.
Pourquoi n'utilises-tu pas un vrai gestionnaire de version pour les pages HTML de ton site ? Tu pourrais demander au gestionnaire de version d'insérer la date de dernière modification en bas du source.