La detección de idioma de GitHub se realiza mediante el módulo Linguist , que es convenientemente de código abierto. Se basa principalmente en la extensión de archivo para detectar el idioma, aunque puede ser un poco inteligente detectar archivos ambiguos (como .h
archivos). Como puede ver en el archivo de configuración , .c
está firmemente definido como un archivo C. Dado el número de archivos que deben evaluarse en GitHub, la eficiencia es un requisito clave, aunque a costa de cierta precisión.
Parece que el desarrollador descartó las configuraciones por repositorio , por lo que la única forma en que podría resaltar la sintaxis de los archivos como C ++ sería usar extensiones de C ++. Para mantener esas extensiones y resaltarlas, es posible que deba probar otro servicio u hospedar el código en alguna parte.
Actualización de octubre de 2014 : GitHub no se ha detenido, en el último año han introducido algunas heurísticas básicas para ayudar a determinar el idioma en el archivo. Más específicamente para estas preguntas, los .c
archivos ahora se verifican para ver si son C, C ++ u Objective-C.
La respuesta del soporte de GitHub es un poco interesante, usan Pygments para resaltar y el lexer, pero los conjuntos de reglas están en su propio módulo Linguist. ¡Qué esperarías que supieran!
*.S linguist-language=asm
en vano ....gitattributes
línea que publicó debe obligar a Linguist a reconocer todos los.S
archivos como ensamblados. Si no funciona, puedo echar un vistazo al repositorio para intentar ver qué sucede (¿tiene un enlace?).