Erstellen Sie eine benutzerdefinierte Syntaxhervorhebung in gedit

8

Nach meiner Frage von vor langer Zeit versuche ich immer noch, meine Fähigkeiten im Umgang mit Vermögen zu optimieren. Die Anzeige im Terminal ist fantastisch, nur eines bleibt übrig - die Syntaxhervorhebung in Gedit, wenn ich einzelne Vermögen hinzufüge, bearbeite oder lösche.

Meine benutzerdefinierten Glücksdateien haben dieses 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

Es ist im Grunde a tweet, @nameund der %Charakter. Dann wiederholen.

Wenn ich es in Gedit öffne, ist alles schwarz.
Ich suche nach einer Möglichkeit, eine Syntax-Hervorhebungsdatei zu erstellen, die die Datei %in etwas wie Blau und die @namein etwas wie Magenta konvertiert . Der Tweet kann schwarz bleiben.

HINWEIS:

  1. Die Fortune-Dateien sind vom Typ Mime text/plainund nur das angegebene Format unterscheidet sie wirklich von einer anderen Nur-Text-Datei.
  2. Fortune-Dateien haben keine Erweiterung.
Parto
quelle

Antworten:

8

Erstellen und öffnen Sie Ihre Glückssprachendatei:

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

Fügen Sie Folgendes ein:

<?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>

Stellen Sie sicher, dass es zugänglich ist:

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

Starten Sie gedit neu.

Referenz - meine Quellantwort

Meine Pronomen sind Er / Ihn

Tim
quelle
Vielen Dank, werde das ausprobieren. Eine Sache ist jedoch, dass Fortune-Dateien keine Erweiterung haben, der Grund für den text/plainMIME-Typ. Bedeutet das <property name="globs">*.fort</property>wird <property name="globs">*</property>?
Parto
@Parto Das würde es auf alle Dateien ohne Erweiterung anwenden, aber da die meisten .txt sind, wäre das in Ordnung. Ändern Sie es in <property name="globs">*.</property>, und ich habe die Antwort damit aktualisiert!
Tim
2
Vielen Dank. Ich habe dies nur verwendet, um gedit Twig-Syntax-Hervorhebungen hinzuzufügen .
TRiG
@TRiG Ich bin froh, geholfen zu haben!
Tim