O destaque da sintaxe do Gedit não funcionará para um novo idioma

O destaque da sintaxe do Gedit não funcionará para um novo idioma

Estou tentando criar uma nova definição de linguagem para o Gedit. A linguagem é chamada nesC e é basicamente derivada de C, compartilhando a estrutura C como resultado.

Segui as instruções no wiki do Gnome sobre como criar um novo idioma.

Copiei o arquivo c.lang e colei-o ~/.local/share/gtksourceview-3.0/language-specse, em seguida, fiz todas as alterações necessárias no arquivo para converter C em nesC.

O problema é que, quando abro um arquivo com extensão .nc, ele ainda fica na cor preta. Porém, se eu for em Exibir → Modo de destaque → Fontes, a opção nesC estará lá e já selecionada, o que significa que o Gedit está detectando o tipo de arquivo. Nesse caso, por que não há cores? Quando seleciono C nas fontes, obtenho as cores.

Também criei um arquivo do tipo MIME conforme indicado no artigo wiki do Gnome sobre como criar um novo idioma.


No arquivo, mudei id=cpara id=nesc. Se eu mudar de volta para id=c, então funciona. Por que não devo usar nesc? O tutorial altera claramente o valor ( id=foo).

Responder1

Você deveria mudaridatributo em 2 lugares, na tag principal <language>e na tag <context>(filho de <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>

e


  <definitions>
    <context id="nesc">
    </context>
  </definitions>
</language>`

(Mas não sei como você nomeou o tipo MIME.)

informação relacionada