OVH Cloud OVH Cloud

Mode non sensible à la casse

1 réponse
Avatar
Dave Null
Bonjour,

ma question est sans doute bête, mais j'ai du mal à trouver des
informations. Je souhaite créer un mode Emacs pour un langage non
sensible à la casse (RTRT).

J'ai utilisé le tutorial http://two-wugs.net/emacs/mode-tutorial.html
pour avoir un mode de base. Mais je n'ai pas trouvé comment faire pour
la casse.

Merci par avance pour votre aide.

1 réponse

Avatar
Pascal Bourguignon
Dave Null writes:
ma question est sans doute bête, mais j'ai du mal à trouver des
informations. Je souhaite créer un mode Emacs pour un langage non
sensible à la casse (RTRT).

J'ai utilisé le tutorial http://two-wugs.net/emacs/mode-tutorial.html
pour avoir un mode de base. Mais je n'ai pas trouvé comment faire pour
la casse.



M-x apropos-variable RET case RET

Voir les variables:

case-fold-search
case-replace
font-lock-keywords-case-fold-search
search-upper-case
sort-fold-case

Personnellement, pour un langage qui ne distingue pas la casse,
j'utiliserais quelque chose comme ça:

(defvar XXXXX-mode-map)
(let ((map (make-sparse-keymap)))
(do ((lcc ?a (1+ lcc))
(ucc ?A (1+ ucc)))
((< ?z lcc))
(define-key map (make-string 1 lcc) (make-string 1 ucc)))
;; ...
(setq XXXXX-mode-map map))

C'est à dire que tous les caractères ASCII minuscules seront mappés en
majuscule (le contraire peut aussi se faire). Ainsi, pas de surprise.

--
__Pascal Bourguignon__ http://www.informatimago.com/
In deep sleep hear sound,
Cat vomit hairball somewhere.
Will find in morning.