Crear un resaltado de sintaxis personalizado en gedit

8

Siguiendo mi pregunta de hace mucho tiempo, todavía estoy tratando de modificar mis capacidades de manejo de fortuna. La pantalla en la terminal es impresionante, solo queda una cosa: resaltar la sintaxis en Gedit a medida que agrego, edito o elimino fortunas individuales.

Mis archivos de fortuna personalizados están en este formato:

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 básicamente a tweet, @namey el %personaje. Entonces repite.

Cuando lo abro en Gedit, todo es negro.
Estoy buscando una manera de crear un archivo de resaltado de sintaxis que convierta el archivo %en algo como azul y el @nameen algo como magenta. El tweet puede permanecer negro.

NOTA:

  1. Los archivos de fortuna son de tipo mime text/plainy solo el formato dado realmente los distingue de otro archivo de texto plano.
  2. Los archivos de la fortuna no tienen extensión.
Parto
fuente

Respuestas:

8

Crea y abre tu archivo de idioma de fortuna:

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

Pegue lo siguiente:

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

Asegúrese de que sea accesible:

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

Reiniciar gedit.

Referencia - mi respuesta fuente

Mis pronombres son El / El

Tim
fuente
Muchas gracias, probaré esto. Sin embargo, una cosa es que los archivos de fortuna no tienen extensión, la razón del text/plaintipo mime. ¿Eso significa que se <property name="globs">*.fort</property>convierte <property name="globs">*</property>?
Parto
@Parto Eso lo aplicaría a todos los archivos sin extensión, pero como la mayoría son .txt, estaría bien. ¡Cámbielo a <property name="globs">*.</property>, y he actualizado la respuesta con esto!
Tim
2
Enormes gracias. Acabo de usar esto para agregar resaltado de sintaxis de Twig a gedit.
TRiG
@TRiG Me alegro de haber ayudado!
Tim