
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-specs
e, 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=c
para 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 mudarid
atributo 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.)