El resaltado de sintaxis de Gedit no funcionará para un nuevo idioma

El resaltado de sintaxis de Gedit no funcionará para un nuevo idioma

Estoy intentando crear una nueva definición de idioma para Gedit. El lenguaje se llama nesC y básicamente se deriva de C, por lo que comparte la estructura de C.

Seguí las instrucciones de la wiki de Gnome sobre cómo crear un nuevo idioma.

Copié el archivo c.lang, lo pegué ~/.local/share/gtksourceview-3.0/language-specsy luego hice todos los cambios necesarios en el archivo para convertir C a nesC.

El problema es que, cuando abro un archivo con la extensión .nc, todavía está en color negro. Sin embargo, si voy a Ver → Modo resaltado → Fuentes, la opción nesC está ahí y ya está seleccionada, lo que significa que Gedit está detectando el tipo de archivo. En ese caso, ¿por qué no hay colores? Cuando selecciono C de las fuentes obtengo los colores.

También creé un archivo tipo mime como se indica en el artículo de la wiki de Gnome sobre cómo crear un nuevo idioma.


En el archivo, cambié id=ca id=nesc. Si lo vuelvo a cambiar a id=c, entonces funciona. ¿Por qué no debería usarlo nesc? El tutorial cambia claramente el valor ( id=foo).

Respuesta1

deberías cambiaridatributo en 2 lugares, en la etiqueta principal <language>y en la etiqueta <context>(secundaria 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>

y


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

(Pero no sé cómo le pusiste el nombre tipo mimo).

información relacionada