Créer une coloration syntaxique personnalisée dans gedit

8

Suite à ma question d'il y a longtemps, j'essaie toujours de modifier mes capacités de gestion de fortune. L'affichage dans le terminal est génial, il ne reste qu'une chose - la coloration syntaxique dans Gedit lorsque j'ajoute, modifie ou supprime des fortunes individuelles.

Mes fichiers de fortune personnalisés sont dans ce format:

Friend: "Whats a good movie?"
Me: "Snakes on a plane"
Friend: "Whats it about?"
Me: "Horses... horses on a boat..."
@AYYSIAN
%
Me on my wedding: you still like me, right?
@ComedyPosts
%
Mum: Son I'd love to meet your girlfriend...
Me: Me too...
@ComedyTruth
%
Doctor: "Ok, so what's wrong, how are you feeling?"
Me: *Looks at mum waiting for her to explain*
@ChildhoodFact
%
Friend: 75% of people are good at maths...
Me: Mmmmh, I guess then am in the remaining 18%...
@TheFunnyTeens
%
I loved the Titanic. My favorite character was the iceberg
@__GrumpyCat

C'est fondamentalement a tweet, @nameet le %personnage. Répétez ensuite.

Quand je l'ouvre dans Gedit, tout est noir.
Je cherche un moyen de créer un fichier de coloration syntaxique qui convertira le %quelque chose comme le bleu et le @namequelque chose comme le magenta. Le tweet peut rester noir.

REMARQUE:

  1. Les fichiers fortune sont de type mime text/plainet seul le format donné les distingue vraiment d'un autre fichier texte brut.
  2. Les fichiers Fortune n'ont pas d'extension.
Parto
la source

Réponses:

8

Créez et ouvrez votre fichier de langue de fortune:

sudo touch /usr/share/gtksourceview-3.0/language-specs/fortune.lang
sudo -i gedit /usr/share/gtksourceview-3.0/language-specs/fortune.lang

Collez ce qui suit:

<?xml version="1.0" encoding="UTF-8"?>
<language id="fortune" _name="Fortune" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.</property>
  </metadata>

  <styles>
    <style id="at"      _name="@ sign"  map-to="def:constant" />
    <style id="percent" _name="percent sign"  map-to="def:comment" />
  </styles>
  <definitions>
    <context id="fortune">
      <include>
        <context id="at" style-ref="at">
          <start>@</start>
          <end>$</end>
        </context>
        <context id="percent" style-ref="percent">
          <start>%</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

Assurez-vous qu'il est accessible:

sudo chmod 0644 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang

Redémarrez gedit.

Référence - ma réponse source

Mes pronoms sont He / Him

Tim
la source
Merci beaucoup, va essayer ça. Une chose cependant, les fichiers de fortune n'ont pas d'extension, la raison du text/plaintype mime. Est-ce que cela signifie <property name="globs">*.fort</property>devient <property name="globs">*</property>?
Parto
@Parto Cela l'appliquerait à tous les fichiers sans extension, mais comme la plupart sont des fichiers .txt, ce serait bien. Changez-le en <property name="globs">*.</property>, et j'ai mis à jour la réponse avec ça!
Tim
2
Un grand merci. Je viens de l'utiliser pour ajouter la coloration syntaxique Twig à gedit.
TRiG
@TRiG Heureux d'avoir aidé!
Tim