Ich versuche, eine neue Sprachdefinition für Gedit zu erstellen. Die Sprache heißt nesC und ist im Wesentlichen von C abgeleitet, hat also die gleiche Struktur wie C.
Ich habe die Anweisungen zum Erstellen einer neuen Sprache im Gnome-Wiki befolgt.
Ich habe die Datei c.lang kopiert und eingefügt ~/.local/share/gtksourceview-3.0/language-specs
und dann alle notwendigen Änderungen an der Datei vorgenommen, um C in nesC zu konvertieren.
Das Problem ist, dass eine Datei mit der Erweiterung .nc
immer noch schlicht schwarz ist, wenn ich sie öffne. Wenn ich jedoch zu Ansicht → Hervorhebungsmodus → Quellen gehe, ist die Option nesC vorhanden und bereits ausgewählt, was bedeutet, dass Gedit den Dateityp erkennt. Warum gibt es in diesem Fall keine Farben? Wenn ich C aus den Quellen auswähle, erhalte ich die Farben.
Ich habe außerdem eine MIME-Typ-Datei erstellt, wie im Gnome-Wiki-Artikel zum Erstellen einer neuen Sprache beschrieben.
In der Datei habe ich id=c
in geändert id=nesc
. Wenn ich es wieder in ändere id=c
, funktioniert es. Warum sollte ich nicht verwenden nesc
? Das Tutorial ändert den Wert eindeutig ( id=foo
).
Antwort1
Du solltest dich ändernid
Attribut an 2 Stellen, im Haupttag <language>
und im Tag <context>
(Kind von <definitions>
):
…
<language id="nesc" _name="nesC" version="2.0" _section="Source">
<metadata>
<property name="mimetypes">text/x-nesc</property>
<property name="globs">*.nesc;*.nc</property>
</metadata>
…
Und
…
<definitions>
<context id="nesc">
…
</context>
</definitions>
</language>`
(Aber ich weiß nicht, wie Sie den MIME-Typ benannt haben.)