Maintenant, ça ne fonctionne que dès que le end{asy}
apparait, c'est comme cela que je l'ai codé, mais on peut
faire dès que le begin{asy} apparait.
Tu es en lazy-lock, ton fichier est très gros ou ce genre de choses ?
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je n'ai pas de fichier asy-keywords.el, j'ai créé les variables
manquantes à la main :-p
Maintenant, ça ne fonctionne que dès que le end{asy}
apparait, c'est comme cela que je l'ai codé, mais on peut
faire dès que le begin{asy} apparait.
Tu es en lazy-lock, ton fichier est très gros ou ce genre de choses ?
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je n'ai pas de fichier asy-keywords.el, j'ai créé les variables
manquantes à la main :-p
Maintenant, ça ne fonctionne que dès que le end{asy}
apparait, c'est comme cela que je l'ai codé, mais on peut
faire dès que le begin{asy} apparait.
Tu es en lazy-lock, ton fichier est très gros ou ce genre de choses ?
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je n'ai pas de fichier asy-keywords.el, j'ai créé les variables
manquantes à la main :-p
Ce n'est pas un problème. Chez moi ça ne fonctionne tout simplement pas...
Tout l'environnement asy devient rouge.
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je comprends parfaitement ton code et le paramètre "t" à
`font-lock-add-keywords' devrait faire passer ta coloration au-dessus
des autres... Ben non... :-(
Ce n'est pas un problème. Chez moi ça ne fonctionne tout simplement pas...
Tout l'environnement asy devient rouge.
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je comprends parfaitement ton code et le paramètre "t" à
`font-lock-add-keywords' devrait faire passer ta coloration au-dessus
des autres... Ben non... :-(
Ce n'est pas un problème. Chez moi ça ne fonctionne tout simplement pas...
Tout l'environnement asy devient rouge.
De toutes façons, la coloration asy, ou du moins celle que je
redefinis doit prendre le pas sur toute autre.
Je comprends parfaitement ton code et le paramètre "t" à
`font-lock-add-keywords' devrait faire passer ta coloration au-dessus
des autres... Ben non... :-(
Si, si, ça marche -- un peu et mal, mais ça marche :-p
Le rouge est probablement ta couleur par défaut (???),
je ne suis pas sur de la couleur que donne l'allocation
de asy-dummy-face -- Là, il utilise font-lock-warning-face
à mon avis (c'est le rouge vif) :-(
Si, si, ça marche -- un peu et mal, mais ça marche :-p
Le rouge est probablement ta couleur par défaut (???),
je ne suis pas sur de la couleur que donne l'allocation
de asy-dummy-face -- Là, il utilise font-lock-warning-face
à mon avis (c'est le rouge vif) :-(
Si, si, ça marche -- un peu et mal, mais ça marche :-p
Le rouge est probablement ta couleur par défaut (???),
je ne suis pas sur de la couleur que donne l'allocation
de asy-dummy-face -- Là, il utilise font-lock-warning-face
à mon avis (c'est le rouge vif) :-(
Bon, ça y est, j'ai compris comment fonctionne
asy-mode et ... faut tout changer pour la couleur ---
Bon, voyons si nous sommes d'accord :
-- le mode d'un buffer est une variable
du buffer et non une propriete d'une partie
du texte. Ce pourquoi je dis toujours qu'emacs
n'est pas fait pour gérer plusieurs modes.
-- en conséquence, font-lock réagit au mode
mais s'occupe du buffer en entier
et de la portion
en asy-mode.
-- solutions :
(1) -- (j'aime pas) dans font-lock, mettre
des matchers qui reconnaissent la présence
d'un begin{asy} non fermé avant eux --
(2) -- (j'aime) en introduisant le end{asy}
on met la propriete 'asy-mode a toute
la portion entre les deux balises.
Et on reconnait les keywords avec
la text-property (celle-ci et pas d'autres).
Oui, cela demande de reécrire les matchers, mais
cela me semble viable à long terme.
Bon, ça y est, j'ai compris comment fonctionne
asy-mode et ... faut tout changer pour la couleur ---
Bon, voyons si nous sommes d'accord :
-- le mode d'un buffer est une variable
du buffer et non une propriete d'une partie
du texte. Ce pourquoi je dis toujours qu'emacs
n'est pas fait pour gérer plusieurs modes.
-- en conséquence, font-lock réagit au mode
mais s'occupe du buffer en entier
et de la portion
en asy-mode.
-- solutions :
(1) -- (j'aime pas) dans font-lock, mettre
des matchers qui reconnaissent la présence
d'un begin{asy} non fermé avant eux --
(2) -- (j'aime) en introduisant le end{asy}
on met la propriete 'asy-mode a toute
la portion entre les deux balises.
Et on reconnait les keywords avec
la text-property (celle-ci et pas d'autres).
Oui, cela demande de reécrire les matchers, mais
cela me semble viable à long terme.
Bon, ça y est, j'ai compris comment fonctionne
asy-mode et ... faut tout changer pour la couleur ---
Bon, voyons si nous sommes d'accord :
-- le mode d'un buffer est une variable
du buffer et non une propriete d'une partie
du texte. Ce pourquoi je dis toujours qu'emacs
n'est pas fait pour gérer plusieurs modes.
-- en conséquence, font-lock réagit au mode
mais s'occupe du buffer en entier
et de la portion
en asy-mode.
-- solutions :
(1) -- (j'aime pas) dans font-lock, mettre
des matchers qui reconnaissent la présence
d'un begin{asy} non fermé avant eux --
(2) -- (j'aime) en introduisant le end{asy}
on met la propriete 'asy-mode a toute
la portion entre les deux balises.
Et on reconnait les keywords avec
la text-property (celle-ci et pas d'autres).
Oui, cela demande de reécrire les matchers, mais
cela me semble viable à long terme.
* Sinon, la fonction clef qui s'occupe de la coloration en asy-mode est
font-lock-fontify-syntactically-region
* Sinon, la fonction clef qui s'occupe de la coloration en asy-mode est
font-lock-fontify-syntactically-region
* Sinon, la fonction clef qui s'occupe de la coloration en asy-mode est
font-lock-fontify-syntactically-region
[code]
Ca marche pas mal, mais il y reste un probleme qui me chagrine :
--(1) quand on est en lasy-mode dans l'environnement asy
et qu'on demande [swicj lasy-mode] du menu, ça fait bip
la premiere fois et pas la seconde et je ne sais pas pourquoi :-(
Mais tu connais mieux le code ensuite, tu dois pouvoir trouver
plus facilement que moi ce qui peche.
Hope that fonctionne !
[code]
Ca marche pas mal, mais il y reste un probleme qui me chagrine :
--(1) quand on est en lasy-mode dans l'environnement asy
et qu'on demande [swicj lasy-mode] du menu, ça fait bip
la premiere fois et pas la seconde et je ne sais pas pourquoi :-(
Mais tu connais mieux le code ensuite, tu dois pouvoir trouver
plus facilement que moi ce qui peche.
Hope that fonctionne !
[code]
Ca marche pas mal, mais il y reste un probleme qui me chagrine :
--(1) quand on est en lasy-mode dans l'environnement asy
et qu'on demande [swicj lasy-mode] du menu, ça fait bip
la premiere fois et pas la seconde et je ne sais pas pourquoi :-(
Mais tu connais mieux le code ensuite, tu dois pouvoir trouver
plus facilement que moi ce qui peche.
Hope that fonctionne !
et j'en étais là:
8<----8<------8<------8<------8<------8<------8<------8<------
(defun lasy-mode-p ()
(and (boundp two-mode-bool) two-mode-bool))
(setq-default font-lock-syntactic-face-function
(lambda (state)
(if (nth 3 state)
(if (lasy-mode-p)
(and (eq """ (char-after (nth 8 state)))
font-lock-string-face)
font-lock-string-face)
font-lock-comment-face)))
8<-----8<------8<------8<------8<------8<------8<------8<------
et j'en étais là:
8<----8<------8<------8<------8<------8<------8<------8<------
(defun lasy-mode-p ()
(and (boundp two-mode-bool) two-mode-bool))
(setq-default font-lock-syntactic-face-function
(lambda (state)
(if (nth 3 state)
(if (lasy-mode-p)
(and (eq """ (char-after (nth 8 state)))
font-lock-string-face)
font-lock-string-face)
font-lock-comment-face)))
8<-----8<------8<------8<------8<------8<------8<------8<------
et j'en étais là:
8<----8<------8<------8<------8<------8<------8<------8<------
(defun lasy-mode-p ()
(and (boundp two-mode-bool) two-mode-bool))
(setq-default font-lock-syntactic-face-function
(lambda (state)
(if (nth 3 state)
(if (lasy-mode-p)
(and (eq """ (char-after (nth 8 state)))
font-lock-string-face)
font-lock-string-face)
font-lock-comment-face)))
8<-----8<------8<------8<------8<------8<------8<------8<------
Bon, je ne vais pas faire dans la finesse,
voici un code qui doit
tourner,
Ses faiblesses :
-- lasy-mode-at-point est trop fort pour ce que l'on fait,
on peut gagner du temps, tant pis, c'est plus joli ainsi.
-- les definitions de be et en pourrait etre plus efficace, ca,
ya pas a dire !
-- le condition-case autour du add-do-it est assez bourrin, j'en
conviens, mais narrow-to-region est tres incomplet.
Il pourrait meme etre necessaire de le mettre dans la partie
unfontify si jamais la premiere ligne n'etait pas
debut-de-ligne-begin{asy}-quedalle.
Son avantage supposé : il tourne souvent :-)
Bon, je ne vais pas faire dans la finesse,
voici un code qui doit
tourner,
Ses faiblesses :
-- lasy-mode-at-point est trop fort pour ce que l'on fait,
on peut gagner du temps, tant pis, c'est plus joli ainsi.
-- les definitions de be et en pourrait etre plus efficace, ca,
ya pas a dire !
-- le condition-case autour du add-do-it est assez bourrin, j'en
conviens, mais narrow-to-region est tres incomplet.
Il pourrait meme etre necessaire de le mettre dans la partie
unfontify si jamais la premiere ligne n'etait pas
debut-de-ligne-begin{asy}-quedalle.
Son avantage supposé : il tourne souvent :-)
Bon, je ne vais pas faire dans la finesse,
voici un code qui doit
tourner,
Ses faiblesses :
-- lasy-mode-at-point est trop fort pour ce que l'on fait,
on peut gagner du temps, tant pis, c'est plus joli ainsi.
-- les definitions de be et en pourrait etre plus efficace, ca,
ya pas a dire !
-- le condition-case autour du add-do-it est assez bourrin, j'en
conviens, mais narrow-to-region est tres incomplet.
Il pourrait meme etre necessaire de le mettre dans la partie
unfontify si jamais la premiere ligne n'etait pas
debut-de-ligne-begin{asy}-quedalle.
Son avantage supposé : il tourne souvent :-)