Si vous vérifiez votre variable interpreter-mode-alist
, vous trouverez une entrée comme ("r?bash2?" . sh-mode)
ou ("bash" . sh-mode)
selon la version d'emacs que vous utilisez. Ce paramètre est prioritaire sur magic-mode-alist
et auto-mode-alist
.
Je suggère la suppression de cette entrée de interpreter-mode-alist
, se débarrasser de la nouvelle entrée vous avez ajouté à auto-mode-alist
, et en ajoutant deux nouvelles entrées à magic-mode-alist
place:
(add-to-list 'magic-mode-alist '("r?bash2?" . sh-mode))
(add-to-list 'magic-mode-alist
'((lambda()
(string-match "\\.sql\\.sh$" (buffer-file-name))) . sql-mode))
Assurez-vous de les ajouter dans cet ordre si la seconde on est devant le premier dans la liste résultante (et oui, il y a d'autres façons de le faire mais je le montre de cette façon pour plus de clarté). La deuxième entrée, qui sera essayée en premier, vérifie le nom du tampon pour voir s'il correspond à un suffixe .sql.sh
et définit sql-mode
si c'est le cas. Si cette correspondance échoue, l'autre entrée vérifie le début du tampon pour le même motif recherché par interpreter-mode-alist
et définit sh-mode
s'il correspond.
Il se peut que magic-mode-alist prenne la priorité sur l'auto-mode-alist – PuercoPop