İlk olarak, Dilbilimci geçersiz kılmaları kullanarak arşivinizdeki dosyalar için tespit edilen dili geçersiz kılabileceğinizi bilin .
Şimdi kısaca,
- Her bir depo, dil istatistiklerinden birinci dil ile etiketlenir .
- Dil istatistikleri, tespit edilen her programlama veya biçimlendirme dili için dosyaların toplam boyutunu sayar . Sağlanan, belgeler ve oluşturulan dosyalar sayılmaz.
- Her dosyanın dili, açık kaynak projesi Linguist tarafından tespit edilir .
Dilbilimci dilleri nasıl algılar?
Dilbilimci , sırayla aşağıdaki stratejilere güvenir ve mükemmel bir eşleşme bulur bulmaz dili döndürür (tek bir dille strateji döndürülür).
- Arayın Emacs ve Vim kipsatırlarının .
- Bilinen dosya adı. Bazı dosya adları belirli dillerle ilişkilidir (düşünün
Makefile
).
- Bir mesele ara. Shebang içeren bir dosya
#!/bin/bash
Kabuk olarak sınıflandırılır.
- Bilinen dosya uzantısı. Dillerin kendileriyle ilişkili bir dizi uzantıları vardır. Bununla birlikte, bu strateji ile birçok çelişki var. Çelişkili sonuçlar (C ++, C ve Objective-C'yi düşünün
.h
) sonraki stratejiler tarafından iyileştirilir.
- Bir dizi sezgisel kural . Dili denemek ve tanımlamak için genellikle dosyaların içeriği üzerinde normal ifadelere güvenirler (örn.,
^[^#]+:-
Prolog için ).
- Örnek dosyalar üzerinde eğitilmiş saf bir Bayes sınıflandırıcı . Son strateji, en düşük doğruluk. Bayes sınıflandırıcı her zaman girdi olarak bir dil alt kümesini alır; tüm diller arasında sınıflandırılması amaçlanmamıştır. Sınıflandırıcı tarafından bulunan en iyi eşleşme döndürülür.
Sağlanmamış dosyalar ve belge dosyaları nelerdir?
Dilbilimci, bazı dosyaları satıcı olarak kabul eder , yani dil istatistiklerine dahil edilmemişlerdir. Bunlar, jQuery gibi üçüncü taraf kitaplıklarını içerir ve vendor.yml
yapılandırma dosyasında tanımlanır . Dilbilimci geçersiz kılmaları kullanarak deponuzdaki dosyaları satabilir veya kaldırabilirsiniz .
Benzer şekilde, dokümantasyon dosyaları da tanımlanır documentation.yml
ve Dilbilimci geçersiz kılmalar kullanılarak değiştirilebilir .
Oluşturulan dosyalar nasıl tespit edilir?
Dilbilimci , oluşturulan dosyaları tespit etmek için dosyaların hem yollarını hem de içeriğini kullanarak basit kurallara güvenir . Oluşturulan dosyalar, dil istatistiklerinde sayılmaz ve github.com'daki farklarda gösterilmez.
Programlama ve biçimlendirme dilleri ne olacak?
Dilbilimci'de her dile bir tür verilir. Bu türler ana yapılandırma dosyasında bulunabilir languages.yml
. İstatistiklerde yalnızca programlama ve biçimlendirme dilleri sayılır.