Faire connaître une extension à Gedit pour la coloration syntaxique

Suite au développement d’un nouveau langage, j’ai créé la coloration syntaxique associée. Je la charge dans le répertoire contenant les .lang de gedit (/usr/share/gtksourceview-X.Y/language-specs/) et si je demande à gedit de les colorer fichier par fichier, ça marche. Mais à chaque réouverture de fichier, je suis obligé de déclarer le type de coloration voulue.

On trouve de nombreux tutoriels pour la création de coloration pour Gedit (http://doc.ubuntu-fr.org/creer_un_jeu_de_couleurs_pour_gedit par exemple). Mais pas grand chose sur la reconnaissance des extensions. Je vais ici faire fonctionner la reconnaissance pour un utilisateur unique.

Je vais juste montrer la ligne indiquant le nom associé à l’extension dans les fichiers .lang :
<language _name="Xxx tongue" mimetypes="text/x-xxx">

Ici, le nom du langage est x-xxx. Il va falloir ensuite indiquer un mime type pour que les extensions .xxx comme étant des fichiers x-xxx.

Pour cela, on crée un fichier xxx.xml comme suit :

<?xml version="1.0" encoding="utf-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/x-xxx">
    <comment>xxx file</comment>
    <glob pattern="*.xxx"/>
    <acronym>XXX</acronym>
    <expanded-acronym>XXX File</expanded-acronym>
  </mime-type>
<mime-info>

Dans le glob pattern on donne les extensions associées au type : *.xxx ici.
Ce fichier est placé dans ~/.local/share/mime/packages/.

Puis on effectue les commandes suivantes :

#!/bin/bash

cd ~/.local/share
update-mime-database mime/

Ici on affecte que les variables de l’utilisateur (dans le ~/.local). Afin de vérifier que l’extension est bien reconnue, on lance la commande suivante sur un fichier ayant la bonne extension :

#!/bin/bash

touch ~/a.xxx<code>
gnomevfs-info ~/a.xxx
rm ~/a.xxx

Le résultat de la commande donne dans la rubrique MIME-TYPE :text/x-xxx.

Ensuite, en ouvrant les fichiers avec la bonne extension avec Gedit, nous avons la bonne coloration syntaxique.


Vus : 1853
Publié par Boutor : 56