Bonjour à vous !
Avertissement : c'est un peu long, c'est détaillé et le problème est
résolu... en partie.
Jeudi dernier lors de l'atelier du 2.3.23 j'ai indiqué que j'avais lu
pouvoir avoir en même temps le mode :
- le mode nroff
- le mode outline
C'était avancé sur cette page :
https://www.emacswiki.org/emacs/NroffMode
Mais sans détails... :-(
Voici un point sur ce sujet, pas à pas, avec : A=le déroulé ; B=le
réglage ; C=la double question qui demeure.
A-Commet trouver la solution ?
1-Léo a indiqué que c'était le mode outline mineur qu'il faut activer.
Donc : M-x outline-minor-mode et M-x nroff-mode
On a alors le menu des deux modes !
2-Mais comment dire à Emacs que la balise à déplier/replier est le .NH
.PS .XE et autre .TC... bref un .TRUC ?
C-h f outline-minor-mode est votre amie !
Et on y lit que c'est outline.el à consulter.
Et comme vous savez que je lis le LISP comme le français (!), il y a au
début :
(defvar outline-regexp "[*\^L]+"
"Regular expression to match the beginning of a heading.
Donc, qu'à cela ne tienne : on va changer defvar ! Et on va lui dire que
le . au lieu du * dans l'expression régulière.
3-Mais comment changer defvar ? (Psst, je ne vous ai pas perdu ? ;-) )
Il est aussi écrit dans le outline.el :
"The recommended way to set this is with a Local Variables: list
in the file it applies to."
Et donc :
https://www.gnu.org/software/emacs/manual/html_node/emacs/File-Variables.html#File-Variables
qui donne :
https://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html
Et vous avez alors 2 choix : tenter de refaire comme le montre la ligne
d'exemple de la doc et le taper à la main ... et cela ne marche
peut-être pas...
OU alors lancer "M-x add-file-local-variable-prop-line instead of adding
entries by hand." !!!!!!!
Oui, c'est écrit dans la documentation !
B-La ligne à mettre en début de fichier est donc :
Si on fait bien un M-x revert-buffer et si on a ligne suivante :
-*- mode: outline-minor; outline-regexp: "[.\^L]+"; -*-
alors on a BIEN le déplier/replier qui s'applique à tous les .TRUC !
Donc SUPER... ça marche !
Oui... avec les commandes en texte (comme M-x outline-hide-entry) et NON
(pas de TAB actif !).
C-Car ce n'est PAS complet :-(
1-La touche TAB ne permet pas de déplier/replier comme dan Orgmode.
OR d'après la documenttation et le LISP, TAB est bien déclaré... SAUF si
j'ai mal lu.
2-Le mode Outline utilise C-c... et le mode Nroff utilise auss C-c !
Donc les raccourcis clavier ne sont pas actifs pour Outline :-(
Mais c'est TAB qui est le plus gênant.
Conclusion :
Voilà, j'ai tout détaillé, vous savez tout !
C'est SUPER quand on trouve et que cela marche (mode lapalissade).
Et il ne manque plus que le dernier réglage pour avoir tout.
Conclusion bis :
La CERISE sur le gâteau... on peut faire un tel réglage de outline-minor
pour avoir son .emacs avec le plier/déplier de Outline grâce à la balise
de début que l'on va lui déclarer ! On n'importe quel fichier à balises.
PS : après ce sujet, je passe à ce que V puis Léo ont détaillé pour le
publipostage !
Merci de votre lecture si vous avez tout lu.
Et vivent Emacs... même avec Groff !
--
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org
Bonjour à vous !
Je m'auto-réponds... avec la réponse pour TAB ! :-)
Rappel : avoir la touche TAB active pour déplier/replier sur la balise
d'en-tête nouvellement paramétrée.
Le 2023-03-07 00:59, Thierry Stoehr a écrit :
> Bonjour à vous !
> [...]
> C-Car ce n'est PAS complet :-(
>
> 1-La touche TAB ne permet pas de déplier/replier comme dan Orgmode.
> OR d'après la documenttation et le LISP, TAB est bien déclaré... SAUF
> si j'ai mal lu.
J'avais mal lu, j'ai relu le code LISP de outline.el (what else? ;-)
)... et surprise (non)... :
"By default, you can invoke these commands by typing `TAB' and `S-TAB'
anywhere on a heading line,
[...] This option is only in effect when `outline-minor-mode-cycle' is
non-nil."
Donc bingo : dire que c'est "non-nil" dans l'en-tête... avec une
promotion : indiquer aussi les 2 modes à lancer !
Et cela donne... roulement de tambours... :
-*- mode: nroff; mode: outline-minor; outline-regexp: "[.\^L]+";
outline-minor-mode-cycle: 1; -*-
Traduction dans le même ordre :
Nroff + Outline-minor + balise .TRUC + replier/déplier sur la balise =
:-)
Je vous vois à vous dire « C'est la base de cette ligne de
configuration, pas magique ! ».
C'est vrai. Mais là c'est du concret trouvé tout seul (on peut y arriver
!).
Bref, il ne reste plus que ceci :
> 2-Le mode Outline utilise C-c... et le mode Nroff utilise auss C-c !
> Donc les raccourcis clavier ne sont pas actifs pour Outline :-(
Et vivent Emacs et Outline et Groff ! :-)
--
Thierry Stoehr, des formats ouverts, https://Formats-Ouverts.org