Gitlab究竟是如何检测项目中的语言的?

How exactly does Gitlab detect languages in a project?

我一直在尝试了解语言图表(在项目主页上作为一条线或在 Repository > Charts 中作为一个圆圈的图表)是如何工作的。

它说 "Measured in bytes of code. Excludes generated and vendored code." 我玩过它,这个解释似乎不准确。计算生成的代码(至少在 Java 中使用 @Generated),不计算 .js 文件中的无效 JS,注释和空行,...

有谁知道它到底是如何工作的,或者更好的是,知道我在哪里可以找到 Gitlab 源代码中的相应代码,以便我自己理解它?我找过,没找到。

非常感谢!

欢迎来到 Stack Overflow。我认为他们正在使用 GitHub 语言学家 https://github.com/github/linguist but it's not explicitly mentioned in their doc https://docs.gitlab.com/ee/user/project/repository/#repository-languages