Coloration avec Pygments

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Coloration avec Pygments

Message par OG »

Bonsoir

Ok c'est presque hors sujet (c'est uniquement par rapport aux moteurs de recherche :) ).

J'ai commencé un "lexer" pour Asymptote avec Pygments (http://pygments.org/) c'est du Python (c'est la mode le python, bientôt un tuto Numpy/matplotlib), ce qui permet la coloration syntaxique d'un code Asymptote en sortie HTML, LaTeX et plus. (on peut même utiliser le tout avec Sphinx http://sphinx.pocoo.org/)

Pour les courageux quelques explications ici.
(Il me semble que kib2 avait fait un truc de ce genre mais pas de nouvelles).

O.G.
Dernière modification par OG le mercredi 09 décembre 2009, 14:08, modifié 1 fois.

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: Asymptote : coloration avec Pygments

Message par projetmbc »

Moi qui cherchais à créer un lexer pour pygments, ton fichier vient à point nommé. Je vais regarder cela avec attention.

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Asymptote : coloration avec Pygments

Message par rebouxo »

C'est quoi un lexer ?

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

guiguiche
Modérateur global
Modérateur global
Messages : 8074
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Re: Asymptote : coloration avec Pygments

Message par guiguiche »

Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Asymptote : coloration avec Pygments

Message par OG »

rebouxo a écrit :C'est quoi un lexer ?
Je ne sais pas mon gars. C'est comme ça sur le site de Pygments : je me laisse contaminer.
projetmbc a écrit :Moi qui cherchais à créer un lexer pour pygments, ton fichier vient à point nommé. Je vais regarder cela avec attention.
Pour Asymptote ou un autre langage ?
Si c'est pour Asymptote, c'est bien tu vas pouvoir critiquer/améliorer la solution.
En effet, Python je n'y connais presque rien (je fais juste mumuze avec mes étudiants en Numpy/Matplotlib) et itou avec les expressions régulières (on peut faire beaucoup de choses dont le café). Vu que c'est à base d'expressions régulières il y a des erreurs (de coloration) pour certains mots qui sont à la fois des type/fonction. Une autre solution pour avoir une sortie HTML, LaTeX est emacs+htmlize+les scripts à Philippe, les résultats sont comparables (il y a aussi quelques erreurs toujours pour les mêmes raisons).

O.G.

guiguiche
Modérateur global
Modérateur global
Messages : 8074
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Re: Asymptote : coloration avec Pygments

Message par guiguiche »

Moi je dis qu'il faut toujours terminer le travail à la main.
Allez hop :arrow:
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Asymptote : coloration avec Pygments

Message par OG »

Re

Je disais qu'en gros je mettais ce fil par rapport aux moteurs de recherche.
Aujourd'hui la recherche "asymptote pygments" donne comme premier lien cette page !
(toujours pas ma page perso mais ce n'est pas grave)

Comme quoi Mathematex est une référence !

O.G.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: Asymptote : coloration avec Pygments

Message par GMaths »

Une autre piste possible pour la coloration : GeSHi... mais compte tenu que l'on parle de plus en plus de pygments, j'imagine que l'un est devenu mieux que l'autre.

MB
Administrateur
Administrateur
Messages : 7136
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Asymptote : coloration avec Pygments

Message par MB »

OG a écrit :Vu que c'est à base d'expressions régulières il y a des erreurs (de coloration) pour certains mots qui sont à la fois des type/fonction.
Les expressions régulières : c'est horrible ... à chaque fois que je dois en utiliser une (type Perl) c'est une véritable galère ! J'ai jamais regardé celles de Python, mais je me doute que c'est du même genre.
OG a écrit :Comme quoi Mathematex est une référence !
Et oui ! :mrgreen:
(et encore, il n'y a tjs pas le nouveau module latex basé sur Asymptote qui permettrait d'obtenir un alignement parfait des formules latex mais également de compiler directement des figures Asymptote)
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: Asymptote : coloration avec Pygments

Message par projetmbc »

OG a écrit :Vu que c'est à base d'expressions régulières il y a des erreurs (de coloration) pour certains mots qui sont à la fois des type/fonction.
As-tu un exemple ?
OG a écrit :
projetmbc a écrit :Moi qui cherchais à créer un lexer pour pygments, ton fichier vient à point nommé. Je vais regarder cela avec attention.
Pour Asymptote ou un autre langage ?
Ce sera pour un langage perso autour de la rédaction de document de maths pour le Lycée.
MB a écrit :Les expressions régulières : c'est horrible ... à chaque fois que je dois en utiliser une (type Perl) c'est une véritable galère ! J'ai jamais regardé celles de Python, mais je me doute que c'est du même genre.
Oui effectivement.

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: [Asymptote] Coloration avec Pygments

Message par OG »

MB a écrit :(et encore, il n'y a tjs pas le nouveau module latex basé sur Asymptote qui permettrait d'obtenir un alignement parfait des formules latex mais également de compiler directement des figures Asymptote)
C'est donc pour Noël (2009 je précise) ainsi que le flux RSS ?
projetmbc a écrit : OG a écrit:Vu que c'est à base d'expressions régulières il y a des erreurs (de coloration) pour certains mots qui sont à la fois des type/fonction.
As-tu un exemple ?
Yes : "point" est à la fois un type et une fonction, itou pour "projection".
Comme Asymptote possède une syntaxe proche du C, C++, il a juste fallu que je mette les mots clefs au bon endroit. Si ton langage ressemble à un autre supporté par Pygments, tu dois pouvoir t'en sortir facilement.

O.G.

MB
Administrateur
Administrateur
Messages : 7136
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: [Asymptote] Coloration avec Pygments

Message par MB »

OG a écrit :
MB a écrit :(et encore, il n'y a tjs pas le nouveau module latex basé sur Asymptote qui permettrait d'obtenir un alignement parfait des formules latex mais également de compiler directement des figures Asymptote)
C'est donc pour Noël (2009 je précise) ainsi que le flux RSS ?
Possible, c'est presque prêt mais disons que pour l'instant j'ai pas eu le temps de finaliser tout ça. A terme, il serait d'ailleurs intéressant de produire des images SVG.
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: [Asymptote] Coloration avec Pygments

Message par OG »

MB a écrit :
Possible, c'est presque prêt mais disons que pour l'instant j'ai pas eu le temps de finaliser tout ça. A terme, il serait d'ailleurs intéressant de produire des images SVG.
Pour les utilisateurs de Win{sta/7/XP/98/NT4/2000} et de IE il paraît que cela pose problème (les images SVG), paraîtrait même qu'ils ne voient pas ma page de test sur Asymptote et SVG !

O.G.

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: [Asymptote] Coloration avec Pygments

Message par projetmbc »

Venant de IE, cela n'est pas étonnant...

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: [Asymptote] Coloration avec Pygments

Message par OG »

Bonsoir

Pour certains il y a une première contribution 2010.
Me concernant c'était plutôt une dernière contribution 2009.
Asymptote fait partie des langages que Pygments peut colorer,
la dernière version en date, 1.2. Voir
http://groups.google.com/group/pocoo-li ... 0afd337869

O.G.

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: [Asymptote] Coloration avec Pygments

Message par projetmbc »

Bonsoir,
j'ai une question à poser à OG sur son lexer. En le faisant as-tu noté une hiérarchie dans les mots clés du langage ?

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: [Asymptote] Coloration avec Pygments

Message par OG »

projetmbc a écrit :Bonsoir,
j'ai une question à poser à OG sur son lexer. En le faisant as-tu noté une hiérarchie dans les mots clés du langage ?
Je ne comprends pas la question !
Je me suis "borné" à prendre le fichier asy-keywords.el, généré automatiquement par un script Perl,
croiser les 4 catégories avec le lexer C, C++. Comme il y a des noms de type qui sont aussi des noms de fonctions,
j'ai du tricher un peu avec la séquence (?=([ ]{1,}[a-zA-Z])) qui cherche si le mot est suivi d'une séquence d'espace(s)
puis d'une lettre ( typiquement point A; sera reconnu correctement).
Comme j'ai du le dire ici, dans certains cas le lexer ne reconnait pas bien une séquence de commande. Cela doit être
améliorable, mais avec les expressions régulières cela va être dur et il y a aussi une limite entre variable/fonction
(quand une fonction est donnée comme variable, quelle couleur ?). Je n'ai pas détaillé tous les codes Asymptote des
exemples, mais bon ça me convient. J'avais discuté avec Philippe qui a fait des scripts à coups d'Emacs+htmlize
pour colorer ses codes Asymptote (et ceux de Gaëtan) et les deux solutions semblent se valoir.
Il faudrait que des personnes l'utilisent, d'ailleurs sur le site de Pygments il est possible de faire
cela en ligne.
Je suis peut-être le seul élément de l'intersection Pygments inter Asymptote ?
Il faudrait maintenant faire une directive Asymptote à la Sphinx-Python similaire à pyplot
pour inclure, ne pas inclure le code et afficher la figure...

O.G. hors sujet

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: [Asymptote] Coloration avec Pygments

Message par projetmbc »

OG a écrit :
projetmbc a écrit :Bonsoir,
j'ai une question à poser à OG sur son lexer. En le faisant as-tu noté une hiérarchie dans les mots clés du langage ?
Je ne comprends pas la question !
Dans le cadre d'un prog. en Python, je vais ajouter la possibilité de colorer des listings. Jusqu'ici rien de neuf. Sauf que je vais me faire un outil perso. pour définir de nouveaux langages mais de façon aisée et qui de plus me sortira une version HTML et une autre LaTeX des codes colorés, avec aussi la possibilité en HTML de réduire-développer les blocs.
Mon idée est de définir de façon le plus simple possible les règles de coloration, et pour cela je me suis dit, entre d'autres choses, qu'il fallait regrouper les définitions de mots clés par catégories. D'où ma question...
OG a écrit :Je suis peut-être le seul élément de l'intersection Pygments inter Asymptote ?
Il faudrait maintenant faire une directive Asymptote à la Sphinx-Python similaire à pyplot
pour inclure, ne pas inclure le code et afficher la figure...
Peut-être une réponse ici : http://math.mad.free.fr/depot/asysvn/essai.html .

OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: [Asymptote] Coloration avec Pygments

Message par OG »

projetmbc a écrit : Peut-être une réponse ici : http://math.mad.free.fr/depot/asysvn/essai.html .
C'est moi ici ! c'est peut-être plus clair sur http://math.mad.free.fr/wordpress

Mais pour faire cela en rst+Sphinx, j'ai utilisé la directive ::raw (html), un script fait
en bash très bash niveau et make pour créer tous les fichiers insertion html du code+image.

O.G.

projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1903
Inscription : samedi 29 décembre 2007, 00:58

Re: [Asymptote] Coloration avec Pygments

Message par projetmbc »

OG a écrit :
projetmbc a écrit : Peut-être une réponse ici : http://math.mad.free.fr/depot/asysvn/essai.html .
C'est moi ici ! c'est peut-être plus clair sur http://math.mad.free.fr/wordpress
Il fallait me dire que tu étais omnipotent... :D
OG a écrit :...Mais pour faire cela en rst+Sphinx, j'ai utilisé la directive ::raw (html), un script fait
en bash très bash niveau et make pour créer tous les fichiers insertion html du code+image.
Si tu sais comment en théorie "hacker" Sphinx, et que tu n'es pas pressé, je peux jeter un oeil là dessus. Je ne promets rien vu le peu de temps libre que j'ai en ce moment.