A detecção de idioma do GitHub é feita pelo módulo Linguist , que é convenientemente de código aberto. Ele se baseia principalmente na extensão do arquivo para detectar o idioma, embora possa ser um pouco inteligente detectar arquivos ambíguos (como .h
arquivos). Como você pode ver no arquivo de configuração , .c
está firmemente definido como um arquivo C. Dado o número de arquivos que precisam ser avaliados no GitHub, a eficiência é um requisito essencial, se ao custo de alguma precisão.
Parece que as configurações por repo foram descartadas pelo desenvolvedor, portanto, a única maneira de destacar a sintaxe dos arquivos como C ++ seria usar extensões C ++. Para manter essas extensões e destacar, você pode precisar tentar outro serviço ou hospedar o código em algum lugar.
Atualização em outubro de 2014 : o GitHub não parou, no ano passado eles introduziram algumas heurísticas básicas para ajudar a determinar o idioma no arquivo. Mais específico para essas perguntas, os .c
arquivos agora são verificados para ver se são C, C ++ ou Objective-C.
A resposta do suporte ao GitHub é um pouco interessante, eles usam pigmentos para destacar e lexer, mas os conjuntos de regras estão em seu próprio módulo Linguista. O que você esperaria que eles soubessem!
*.S linguist-language=asm
sem sucesso .....gitattributes
linha que você postou deve forçar o Linguista a reconhecer todos os.S
arquivos como Assembly. Se não funcionar, posso dar uma olhada no repositório para tentar ver o que está acontecendo (você tem um link?).