Le 13/10/2014 17:30, Jean-Marc Lasgouttes a écrit :
On va voir ça :) (pour commencer, n'oublie pas de garder les messages
sur la liste, c'est mieux).
Désolé, j'essaie... mauvais clic...
Style: chaque niveau d'indentation doit être une tabulation.
Corrigé.
Style: quand on définit une variable qui ne sera pas modifiée ensuite,
on ajoute "const" :
string const arg0 = cmd.getArg(0);
Ok. Corrigé.
Si tu ne veux pas avoir plein de cur.message, tu peux définir une
variable
string result;
et faire un
cur.message(result);
à la fin.
Ils ne me dérangent pas plus que ça.
Oui, je ne sais pas trop comment les pipes (tuyaux) marchent. Ce que
je conseille est d'utiliser lyxclient (src/client/lyxclient), qui fait
les trucs compliqués à ta place.
J'ai finit par écrire un petit bash (pour les stats de mots uniquement
pour le moment) :
cat ~/.lyx/lyxpipe.out > ~/.lyx/lyxpipe2.out &
echo "LYXCMD:bro:server-get-statistics:words" >~/.lyx/lyxpipe.in
sleep 0.02
cut -d":" -f4 ~/.lyx/lyxpipe2.out
Notez que j'ai modifié ma config pour utiliser ~/.lyx/lyxpipe.out à la
place de ~/.lyxpipe.out, juste histoire de voir les fichiers à un moment
donné de mes recherches.
Le "sleep" est un peu gênant, mais ça ne marche pas sans lui.
Ensuite, dans le préambule de mon document, j'ai définit une nouvelle
commande Latex :
\newcommand\statwords{
\immediate\write18{/home/steph/bin/lyxstatwords
>/home/steph/.lyx/statw.txt}
\input{/home/steph/.lyx/statw.txt}
}
Et là tout marche comme je veux. Il y a sans doute quelques
améliorations cosmétiques à réaliser, comme de faire un bash qui accepte
un argument pour afficher telle ou telle stat et le rendre plus abstrait
(je ne vois pas comment récupérer la config de LyX pour connaître les
fichiers pipe par exemple).
Qu'en pensez-vous ? Des améliorations à apporter ? Cela vaut-il la peine
de soumettre la contribution ? Si oui, comment s'y prendre ?
Ça a l'air très bien, et oui, ce serait une addition intéressante.
Pour faire cela il faut faire un patch. Est-ce que tu travailles
depuis git ou depuis le tar.gz de LyX ? Selon les cas, la méthode varie.
J'ai travaillé depuis Git.
J'imagine que tu as travaillé depuis la version stable 2.1.x ? Il
faudra qu'on commence par appliquer à la version développement 2.2, la
version stable vient après. Normalement, il n'y aura pas besoin de
trop adapter le code.
J'ai travaillé sur la version 2.2.0dev(pas encore publiée).
--
Blog: Impossible Exil <http://impossible-exil.info>