92 votes

Comment github calcule-t-il la langue d'un projet?

Je travaillais récemment sur un projet github en JavaScript et en C ++, et j'ai remarqué que github l'a étiqueté en tant que C ++. Si vous devez choisir une seule langue, il s'agit probablement de la désignation correcte puisque le code C ++ est compilé sous la forme d'une bibliothèque JavaScript, mais cela m'a fait me demander ... comment github détermine-t-il quelle langue marquer chaque projet?

88voto

VonC Points 414372

Mise à jour avril 2013, par nuclearsandwich (GitHub de l'équipe de soutien ou de "supportocat"):

Si la langue souhaitée n'est pas la réception de la syntaxe, vous pouvez contribuer à le Linguiste de la bibliothèque de l'ajouter.


(Réponse originale à cette question, Oct. 2012)

Ce thread sur GitHub l'appui , il explique:

Il a juste résume tailles de fichier pour chaque extension. Plus on "gagne".

Nous aimerions éviter l'ouverture de fichiers et l'analyse de leur contenu, à la fois de ralentir le processus... mais qui pourrait être la seule méthode de résolution des conflits comme celui-ci.

Puisque ce n'est pas précis à 100%, qui avait conduit certains à ajouter:

Moi aussi, je voterais pour un manuel simple-bouton du correcteur pour les cas où la conjecture est fausse.


Remarque: comme la Marque de Rushakoff mentionne dans sa réponse (upvoted), la deviner eu mieux depuis avec le linguiste projet (open-source à partir de juin 2011).
Vous pouvez le voir il y a encore des questions: GitHub Linguiste Questions.
Voir ici pour plus de détails:

Une fois que la langue a été détecté, il est passé à Albino, un Pygments wrapper, qui procède à la vérification de la syntaxe.

14voto

Mark Rushakoff Points 97350

Actuellement, le projet linguiste de Github est ce qui est utilisé pour déterminer les statistiques linguistiques, comme décrit dans ce blog de Github (publié quelques mois après que cette question a été posée à l'origine).

2voto

Steven Penny Points 18523

Après quelques retouches avec linguistej' l'avoir remarqué.

Pour les fichiers avec un Shebang, l'Arborescence n'est pris en compte lors de la détermination de la langue, mais semble être uniformément pondérée contre les autres jetons. Cela semble être une grosse erreur, parce que le Shebang devrait définitivement définir l' la langue de fichier.

Cela peut causer des problèmesavec mise en évidence.

-1voto

Maarten Terpstra Points 208

Les extensions de fichiers sont la première chose qui me vient à l’esprit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X