Crie um destaque de sintaxe personalizado no gedit


8

Após minha pergunta de muito tempo atrás, ainda estou tentando ajustar minha capacidade de lidar com a sorte. A exibição no terminal é impressionante, resta apenas uma coisa: a sintaxe destacada no Gedit à medida que adiciono, edito ou excluo fortunas individuais.

Meus arquivos de fortuna personalizados estão neste 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

É basicamente a tweet, @nameeo %personagem. Então repita.

Quando o abro no Gedit, tudo fica preto.
Estou procurando uma maneira de criar um arquivo de destaque de sintaxe que converta o %em algo como azul e o @nameem magenta. O tweet pode permanecer preto.

NOTA:

  1. Os arquivos da sorte são do tipo MIME text/plaine somente o formato fornecido realmente os distingue de outro arquivo de texto sem formatação.
  2. Os arquivos da sorte não têm extensão.

Respostas:


8

Crie e abra seu arquivo de idioma da sorte:

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

Cole a seguinte:

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

Verifique se está acessível:

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

Reinicie o gedit.

Referência - minha fonte de resposta

Meus pronomes são He / Him


Muito obrigado, vai tentar isso. Uma coisa, no entanto, os arquivos da sorte não têm extensão, o motivo do text/plaintipo mime. Isso significa que <property name="globs">*.fort</property>se torna <property name="globs">*</property>?
Parto 28/05

@ Cartoon Isso o aplicaria a todos os arquivos sem extensão, mas como a maioria é .txt, isso seria bom. Altere para <property name="globs">*.</property>e atualizei a resposta com isso!
Tim

2
Agradecimentos maciços. Eu apenas usei isso para adicionar o realce da sintaxe Twig ao gedit.
TRiG 26/10/16

@TRiG Fico feliz em ter ajudado!
Tim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.