Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/02/2010, à 21:36

Levi59

recherche fonction xml

J'ai un code xml dans lequel j'ai:

    <context id="boolean" style-ref="boolean">
      <keyword> +yes</keyword>
      <keyword>( +)?(,)?below</keyword>
      <keyword>( +)?(,)?above</keyword>
      <keyword>( +)?(,)?sticky</keyword>
      <keyword>( +)?(,)?skip_taskbar</keyword>
      <keyword>( +)?(,)?skip_pager</keyword>
    </context>

Et j'aimerais créer un autre context en fonction de celui ci du type:

    <context id="XXX" style-ref="boolean">
      <match>\$(?=(keyword id=boolean))</match>
    </context>

L'intégralité du code est dans ma signature (coloration conkyrc)

J'ai cherché une solution mais j'ai rien trouvé...

Hors ligne

#2 Le 25/02/2010, à 20:35

Levi59

Re : recherche fonction xml

j'ai trouvé sur la manpage de gtksourceview quelque chose qui semble correspondre à ce dont j'ai besoin mais impossible de la faire fonctionner...
http://library.gnome.org/devel/gtksourceview/stable/lang-tutorial.html

\%{id} will include the regular expression defined in the <define-regex> tag with the same id, useful if you have common portions of regular expressions used in different contexts;

je l'utilise ainsi:

    <context id="test" style-ref="error">
      <match>(?&lt;=\%{color2})test</match>
    </context>

sachant que le context d'id color2 existe sous forme de liste keyword

J'ai en permanence un erreur en console:

(gedit:11284): GtkSourceView-WARNING **: Failed to load '/home/rombeaut/.local/share/gtksourceview-2.0/language-specs/conkyrc.lang': Id « conkyrc:color2 » inconnu dans l'expr. régulière « (?<=\%{color2})test »

Hors ligne

#3 Le 07/03/2010, à 15:56

Le Farfadet Spatial

Re : recherche fonction xml

Salut à tous !

   Levi59, tu te comprends sans doute très bien, mais, au moins pour moi, c'est déjà plus délicat.

   À quoi sert ton fichier XML ? Par quoi doit-il être lu ?

   S'il s'agit uniquement de configurer Conky, le forum « Développement et programmation » n'est peut-être pas l'endroit le plus approprié où poser ta question.

   En bref : donne plus de détails, sinon tu auras beau faire remonter aussi souvent que possible ce sujet, tu n'obtiendras pas de réponse.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#4 Le 07/03/2010, à 16:14

Levi59

Re : recherche fonction xml

Il est utilisé par gtksourceview2.0 pour filtrer le contenu d'un fichier et y apporter une coloration en fonction de ce qui est défini dans le filtre.
Ce n'est pas uniquement pour conkyrc mais pour tout éditeur de texte utilisant une coloration syntaxique basé sur des filtres *.lang comme gedit.

En gros j'ai déjà quelque chose d'abouti mais il y a quelques petits trucs qui me gène encore, si j'ai:
"$KEYWORDCONNU"
seul "KEYWORDCONNU" sera coloré mais pas le "$" et je cherche donc à définir une REGEX qui appliquerais la coloration au "$" si il est suivit d'un mot contenu dans une liste définie dans le fichier sous la forme donnée précédemment.

Quand j'y pense, il est peut être possible de définir ce caractère ("$") directement dans la balise context mais je ne sais pas non plus si c'est possible.
exemple:

<context id="boolean" prevcaract="$" style-ref="boolean">
      <keyword> +yes</keyword>
      <keyword>( +)?(,)?below</keyword>
      <keyword>( +)?(,)?above</keyword>
      <keyword>( +)?(,)?sticky</keyword>
      <keyword>( +)?(,)?skip_taskbar</keyword>
      <keyword>( +)?(,)?skip_pager</keyword>
    </context>

Je part bien évidemment du principe que gtksourceview2.0 est capable de comprendre n'importe quel fonction XML mais si ce n'est pas le cas, je chercherais une autre solution comme reprendre entièrement le code.

Edit: Merci de t'intéresser à mon problème!

Dernière modification par Levi59 (Le 07/03/2010, à 16:16)

Hors ligne

#5 Le 07/03/2010, à 17:02

Le Farfadet Spatial

Re : recherche fonction xml

Salut à tous !

Levi59 a écrit :

Edit: Merci de t'intéresser à mon problème!

Il n'y a pas de quoi.

   De toute façon, je ne peux pas vraiment t'aider, parce qu'il n'y a qu'Emacs qui est bien -- un troll s'est habilement dissimulé dans cette intervention, sauras-tu le trouver ? --, mais en lisant ton intervention, je me suis dit que tu étais un peu mal parti, alors j'ai essayé d'apporter ce que je pouvais.

   Cela dit, as-tu fait un tour dans la documentation de Gtksourceview et as-tu pensé aux listes de diffusions du projet Gnome ? Si toutefois tu n'as pas de problème avec l'anglais.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#6 Le 07/03/2010, à 17:49

Levi59

Re : recherche fonction xml

Le Farfadet Spatial a écrit :

Si toutefois tu n'as pas de problème avec l'anglais.

Bin justement... hmm

J'ai été voir la doc de gksourceview (cf post 2 de ce fil) mais de ce que j'en ai compris et/ou essayé, il n'y a rien qui ne marche dans mon cas...

Ceci dit, si réponse je n'ai pas, c'est peut etre que solution il n'y a... Mais si elle existe, j'espère bien la trouver!

Edit, j'avais également trouvé d'autres fichiers lang mais je n'avais pas trouvé de fonction qui pourrais correspondre.

Hors ligne

#7 Le 07/03/2010, à 18:18

Le Farfadet Spatial

Re : recherche fonction xml

Salut à tous !

Levi59 a écrit :
Le Farfadet Spatial a écrit :

Si toutefois tu n'as pas de problème avec l'anglais.

Bin justement... hmm

Heu... Justement, tu as lu la documentation et tu n'as pas trouvé de solution -- auquel cas, il peut être judicieux d'aller voir les listes de diffusion -- ou, justement, tu as des problèmes avec l'anglais ?

Ceci dit, si réponse je n'ai pas, c'est peut etre que solution il n'y a... Mais si elle existe, j'espère bien la trouver!

Étant par nature optimiste, je pense qu'il y a une solution.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#8 Le 07/03/2010, à 18:26

Levi59

Re : recherche fonction xml

Le Farfadet Spatial a écrit :

ou, justement, tu as des problèmes avec l'anglais ?

Problème avec l'anglais... Je comprend globalement mais dans le cas de fonctions avec des cas très précis d'utilisation, j'ai beaucoup de mal à me dépêtrer...

Quand tu parle de liste de diffusion, tu veux parler des forums?

Hors ligne

#9 Le 07/03/2010, à 18:45

Le Farfadet Spatial

Re : recherche fonction xml

Salut à tous !

Levi59 a écrit :

Problème avec l'anglais... Je comprend globalement mais dans le cas de fonctions avec des cas très précis d'utilisation, j'ai beaucoup de mal à me dépêtrer...

D'accord.

   D'autres se sont trouvés dans le même cas que toi. Une solution très efficace consiste à se lancer dans la traduction de la documentation : d'une part, cela permet de mieux comprendre, d'autre part, cela permet de faire une contribution très utile. Par contre, il est certain que cela demande un peu de temps.

Quand tu parle de liste de diffusion, tu veux parler des forums?

Je parle de liste de diffusion par courrier électronique -- ha ! ces jeunes, ils ne connaissent rien !

   Sauf erreur de ma part, Gtksourceview est un projet Gnome, tu peux donc commencer par faire un petit tour sur la liste de diffusion française du projet Gnome.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#10 Le 07/03/2010, à 22:53

Levi59

Re : recherche fonction xml

Très bien, merci de tes conseils.
Je vais regarder tout ça et pourquoi pas mener à bien quelques contribution wink

J'en appel également à toute autre personne qui aurai de nouveaux éléments à nous en faire part.

Hors ligne