OVH Cloud OVH Cloud

revision ;)

18 réponses
Avatar
Eric Reinbold
Bon, puisqu'il faut réviser...

Voici mon appel dans .emacs:

(autoload 'eeec-mode "eeec-mode")
(setq auto-mode-alist
(cons '("\.eeec$" . eeec-mode)
auto-mode-alist))

et voici ce qui est appelé:


(provide 'eeec-mode)
(require 'font-lock) ; Force la coloration dès l'ouverture du fichier


(setq eeec-font-lock-keywords
'(
( "^\\\\vspace{2mm}$" . font-lock-comment-face)
("^{\\\\textbf{" . font-lock-comment-face)
("}*\\\\\\\\" . font-lock-comment-face)
("^Usage:.*\\|^Jour:.*\\|^Lieu:.*" . font-lock-comment-face)
("^\\*+" . font-lock-comment-face)
("^%%.+" . font-lock-builtin-face)
("^V:." . font-lock-builtin-face)
("^T:.+" . font-lock-warning-face)
("^w:.+" . widget-documentation-face)
("|" . font-lock-builtin-face)
("![a-z]+!" . font-lock-warning-face)
("\\\[[MLQPKV]:[^[]+\\\]" . font-lock-warning-face)
("\"[A-G]+[#bMm98764]*\"" . font-lock-string-face) <---- cette ligne à pas l'air de fonctionner
))

;--------------------------- EEEC-MODE ------------------------
(defun eeec-mode ()
(interactive)
(kill-all-local-variables)
(setq major-mode 'eeec-mode)
(setq mode-name "eeec-mode")
"Major mode for editing EEEC code."
;;(make-local-variable 'font-lock-defaults) <-------- ces lignes sont désactivée, je ne sais pas à quoi elles servent...
(setq font-lock-defaults '(eeec-font-lock-keywords))) |
;;(use-local-map eeec-font-lock-keywords) <--

;;;END of eeec-mode.el

Ca a l'air de marcher, sauf la ligne ("\"[A-G]...
Comme si elle venait d'un autre fichier.
Est-ce que setq eeec-font-lock-keywords est bien, ne devrais-je pas utiliser une autre fonction?
(J'ai honte..)
Est-ce que tu vois ce que c'est? Ca me permet de coloriser mes fichier de partitions musicales.
Je voudrais également rajouter des "fonctions", mais plus tard.

Bonne révision..
Eric

8 réponses

1 2
Avatar
Matthieu Moy
Eric Reinbold writes:

(les "srtjsj" jaunes ca vient du fait que je surcharge le lisp-mode,
encore petit effort)



Ça vient surtout de ça :

(setq font-lock-defaults '(eeec-font-lock-keywords)))

Et du passage de la doc de `font-lock-defaults' qui parle de la
coloration syntaxique des strings.

Mais je vais quand même pas te donner la solution tout cru, ça serait
pas drôle ...

--
Matthieu
Avatar
Eric Reinbold
Matthieu Moy writes:

Eric Reinbold writes:

(les "srtjsj" jaunes ca vient du fait que je surcharge le lisp-mode,
encore petit effort)



Ça vient surtout de ça :

(setq font-lock-defaults '(eeec-font-lock-keywords)))

Et du passage de la doc de `font-lock-defaults' qui parle de la
coloration syntaxique des strings.

Mais je vais quand même pas te donner la solution tout cru, ça serait
pas drôle ...




Oui, bien sûr! Hihi! Non, ne me dit rien, je vais trouver, le problème,
c'est qu'il n'y a pas d'exemple.

(KEYWORDS KEYWORDS-ONLY CASE-FOLD SYNTAX-ALIST SYNTAX-BEGIN ...)
If CASE-FOLD is non-nil, the case of the keywords is ignored when fontifying.

Pour moi, c'est encore du chinois..

Eric
Avatar
Matthieu Moy
Eric Reinbold writes:

Oui, bien sûr! Hihi! Non, ne me dit rien, je vais trouver, le problème,
c'est qu'il n'y a pas d'exemple.

(KEYWORDS KEYWORDS-ONLY CASE-FOLD SYNTAX-ALIST SYNTAX-BEGIN ...)
If CASE-FOLD is non-nil, the case of the keywords is ignored when fontifying.



,----[ C-h v font-lock-defaults RET ]
| font-lock-defaults is a variable defined in `font-core.el'.
| Its value is
| (message-font-lock-keywords t)
|
| [...]
|
| (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [SYNTAX-ALIST [SYNTAX-BEGIN ...]]]])
|
| KEYWORDS may be a symbol (a variable or function whose value is the keywords to
| use for fontification) or a list of symbols. If KEYWORDS-ONLY is non-nil,
| syntactic fontification (strings and comments) is not performed.
|
| [...]
`----

(je t'avais dit de t'intéresser à ce qui parle des strings)

Pour moi, c'est encore du chinois..



Non, non, de l'anglais :-).

--
Matthieu
Avatar
Eric Reinbold
Matthieu Moy writes:

Eric Reinbold writes:

Oui, bien sûr! Hihi! Non, ne me dit rien, je vais trouver, le problème,
c'est qu'il n'y a pas d'exemple.

(KEYWORDS KEYWORDS-ONLY CASE-FOLD SYNTAX-ALIST SYNTAX-BEGIN ...)
If CASE-FOLD is non-nil, the case of the keywords is ignored when fontifying.



,----[ C-h v font-lock-defaults RET ]
| font-lock-defaults is a variable defined in `font-core.el'.
| Its value is
| (message-font-lock-keywords t)
|
| [...]
|
| (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [SYNTAX-ALIST [SYNTAX-BEGIN ...]]]])
|
| KEYWORDS may be a symbol (a variable or function whose value is the keywords to
| use for fontification) or a list of symbols. If KEYWORDS-ONLY is non-nil,
| syntactic fontification (strings and comments) is not performed.
|
| [...]
`----

(je t'avais dit de t'intéresser à ce qui parle des strings)

Pour moi, c'est encore du chinois..



Non, non, de l'anglais :-).

--
Matthieu



Je craque!!!
La doc est longue, longue..
Non sérieusement, je craque parce qu'avant je me disais "Ca peut attendre..",
mais là, j'ai un "s stj trj srtj sr" qui s'étend sur plusieurs lignes coupées par d'autres:
c'est galère! Bref, je CRAQUE! Please, donnez moi la solution, je vous promets: la doc, je lirai.

Donc, comment on empêche le colorisation de "rtsrsyt k k " en jaune dans:


(provide 'eeec-mode)

(setq eeec-font-lock-keywords
'(
( "^\vspace{2mm}$" . font-lock-comment-face)
("^{\textbf{" . font-lock-comment-face)
("}*\\" . font-lock-comment-face)
("^Usage:.*|^Jour:.*|^Lieu:.*" . font-lock-comment-face)
("^*+" . font-lock-comment-face)
("^%%.+" . font-lock-builtin-face)
("^V:." . font-lock-builtin-face)
("^T:.+" . font-lock-warning-face)
("^w:.+" . widget-documentation-face)
("![a-z]+!" . font-lock-warning-face)
("[[MLQPKV]:[^]]+]" . font-lock-warning-face)
(""[A-G][#bMm98764]*"" . font-lock-string-face)
("|" . font-lock-builtin-face)
))

;--------------------------- EEEC-MODE ------------------------
(defun eeec-mode ()
(interactive)
(kill-all-local-variables)
(setq major-mode 'eeec-mode)
(setq mode-name "eeec-mode")
"Major mode for editing EEEC code."
(setq font-lock-defaults '(eeec-font-lock-keywords)))


Merci
Eric
Avatar
Matthieu Moy
Matthieu Moy writes:

| (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [SYNTAX-ALIST [SYNTAX-BEGIN ...]]]])


^^^^^^^^^^^^^
| use for fontification) or a list of symbols. If KEYWORDS-ONLY is
non-nil,



... donc par exemple si keywords-only vaut t ...

| syntactic fontification (strings and comments) is not performed.



... alors, la coloration syntaxique (les chaines et les commentaires),
en se basant sur la syntaxe (les `syntax-table' qui te disent ce qui
est un début et fin de chaine, `comment-start', ...) n'est pas faite.

La, il reste un « t » à mettre au bon endroit ...

--
Matthieu
Avatar
Eric Reinbold
Matthieu Moy writes:

Eric Reinbold writes:

Oui, bien sûr! Hihi! Non, ne me dit rien, je vais trouver, le problème,
c'est qu'il n'y a pas d'exemple.

(KEYWORDS KEYWORDS-ONLY CASE-FOLD SYNTAX-ALIST SYNTAX-BEGIN ...)
If CASE-FOLD is non-nil, the case of the keywords is ignored when fontifying.



,----[ C-h v font-lock-defaults RET ]
| font-lock-defaults is a variable defined in `font-core.el'.
| Its value is
| (message-font-lock-keywords t)
|
| [...]
|
| (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [SYNTAX-ALIST [SYNTAX-BEGIN ...]]]])
|
| KEYWORDS may be a symbol (a variable or function whose value is the keywords to
| use for fontification) or a list of symbols. If KEYWORDS-ONLY is non-nil,
| syntactic fontification (strings and comments) is not performed.
|
| [...]
`----

(je t'avais dit de t'intéresser à ce qui parle des strings)

Pour moi, c'est encore du chinois..



Non, non, de l'anglais :-).

--
Matthieu



Oui ça d'accord, j'ai déjà essayé


(provide 'eeec-mode)

(setq eeec-font-lock-keywords
'(
( "^\vspace{2mm}$" . font-lock-comment-face)
("^{\textbf{" . font-lock-comment-face)
("}*\\" . font-lock-comment-face)
("^Usage:.*|^Jour:.*|^Lieu:.*" . font-lock-comment-face)
("^*+" . font-lock-comment-face)
("^%%.+" . font-lock-builtin-face)
("^V:." . font-lock-builtin-face)
("^T:.+" . font-lock-warning-face)
("^w:.+" . widget-documentation-face)
("![a-z]+!" . font-lock-warning-face)
("[[MLQPKV]:[^]]+]" . font-lock-warning-face)
(""[A-G][#bMm98764]*"" t . font-lock-string-face) <-------- là (avec ou sans le point)
("|" . font-lock-builtin-face)
))

;--------------------------- EEEC-MODE ------------------------
(defun eeec-mode ()
(interactive)
(kill-all-local-variables)
(setq major-mode 'eeec-mode)
(setq mode-name "eeec-mode")
"Major mode for editing EEEC code."
(setq font-lock-defaults t '(eeec-font-lock-keywords))) <---------là

Please, dis-moi OU, sinon je vais finir en miette, en poussière, tellement je craque..
Avatar
Florent Georges
Matthieu Moy writes:

> | (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [...
^^^^^^^^^^^^^
... donc par exemple si keywords-only vaut t ...




Eric Reinbold wrote:

(setq font-lock-defaults t '(eeec-font-lock-keywords))) <---------là



Tu chauffes. Tu es tout pres :-)

Regarde bien le format de cette variable dans sa docstring. Ou
apparait KEYWORDS-ONLY par rapport a KEYWORDS ? Que vaut KEYWORDS dans
ton exemple ? Que sont les arguments de 'setq' ?

--drkm
Avatar
Eric Reinbold
"Florent Georges" writes:

Matthieu Moy writes:

> | (KEYWORDS [KEYWORDS-ONLY [CASE-FOLD [...
^^^^^^^^^^^^^
... donc par exemple si keywords-only vaut t ...




Eric Reinbold wrote:

(setq font-lock-defaults t '(eeec-font-lock-keywords))) <---------là



Tu chauffes. Tu es tout pres :-)

Regarde bien le format de cette variable dans sa docstring. Ou
apparait KEYWORDS-ONLY par rapport a KEYWORDS ? Que vaut KEYWORDS dans
ton exemple ? Que sont les arguments de 'setq' ?

--drkm



Ah, je l'ai là:

(setq font-lock-defaults '(eeec-font-lock-keywords t)))

Ah, je respire, je revit, youhaydi, hayda, hayda.

Merci,
Je vous promet que la doc, je lirai, par yoda, je jure..

Eric
1 2