Определение языка в GitHub осуществляется модулем Linguist , который является удобным открытым исходным кодом. Он основан главным образом на расширении файла для определения языка, хотя он может быть немного умен для обнаружения неоднозначных файлов (таких как .h
файлы). Как вы можете видеть из файла конфигурации , .c
он четко определен как файл C. Учитывая количество файлов, которые должны быть оценены на GitHub, эффективность является ключевым требованием, если за счет некоторой точности.
Похоже, что конфигурации репо были исключены разработчиком, поэтому единственный способ выделить синтаксис файлов, как в C ++, - это использовать расширения C ++. Чтобы сохранить эти расширения и выделить их, вам, возможно, придется попробовать другой сервис или разместить код где-нибудь самостоятельно.
Обновление, октябрь 2014 года : GitHub не стоял на месте, в прошлом году они представили некоторые базовые эвристики, помогающие определить язык в файле. Более конкретно, .c
файлы теперь проверяются на наличие C, C ++ или Objective-C.
Ответ поддержки GitHub немного интересен, они используют Pygments для выделения и лексера, но наборы правил находятся в их собственном модуле Linguist. Что бы вы надеялись, что они узнают!
*.S linguist-language=asm
безрезультатно ....