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

regexp-replace fantasque, coupure des lignes à 79 caractères et création de macros

2 réponses
Avatar
Nicolas Matringe
Bonjour
Pour convertir du code écrit par un collègue qui a un style pas du tout
orthodoxe et pas du tout à mon goût, je rencontre plusieurs problèmes.

Je cherche d'abord à remplacer une expression qui s'étale sur plusieurs
lignes, et emacs réagit différemment selon les cas (ou selon les phases
de la lune, je ne sais pas trop ...)
L'expression est la suivante :
\(\(\( *--.*\)?^J\)+ *\);
à remplacer par l'expression ;\1

Soit rien n'est remplacé, soit emacs se bloque sur le dernier
remplacement (déblocage par C-g), soit ça marche parfaitement.
Quelqu'un saurait-il à quoi ceci peut être dû ?
(j'ai plusieurs expressions du même genre)

Je voudrais aussi couper les lignes à 79 caractères (car ce sagouin ne
connaît pas de limite à ses lignes de code). Y a-t-il une solution à ce
problème ? (ne me parlez pas d'auto-fill, c'est pour du code déjà écrit)

Et finalement, je voudrais grouper tout ça en une macro que j'appellerai
quand je voudrais reformatter proprement un de ses fichiers mais je ne
comprends pas (encore) comment on fait ça.

Merci d'avance
Nicolas

2 réponses

Avatar
ralou
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Nicolas Matringe writes:


Et finalement, je voudrais grouper tout ça en une macro que
j'appellerai quand je voudrais reformatter proprement un de ses
fichiers mais je ne comprends pas (encore) comment on fait ça.




Peut être que la lecture du tutoriel Emacs-lisp-intro pourraît t'aider
(je n'ai pas moi-même la réponse, mais je suppose tout cela possible
avec emacs).

http://www.gnu.org/software/emacs/emacs-lisp-intro/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFFUYwHv9YTvKBT4U0RAobUAJ96NHkveBPU6Ufpo+rv6lc/U85wpgCfXQc7
GTay7ENF9WHU6yTZvGhOGbU=
=kKzT
-----END PGP SIGNATURE-----
Avatar
Nicolas Matringe
ralou a écrit :
Peut être que la lecture du tutoriel Emacs-lisp-intro pourraît t'aider
(je n'ai pas moi-même la réponse, mais je suppose tout cela possible
avec emacs).




Je m'y suis mis mais je trouve ça un peu aride ... Je vais persister.

Nicolas