3

我的仓库有几个包含 smartBASIC 源代码的 *.sb 文件。这些文件不会显示在 repo 的语言栏中(因为 smartBASIC 及其关联的文件扩展名不是默认语言学家定义的一部分)。

sb将扩展名映射到文件中的smartBASIC.gitattributes

**/*.sb linguist-language=smartBASIC

并确保映射不被“忽略”:

**/*.sb linguist-vendored=false
**/*.sb linguist-generated=false
**/*.sb linguist-documentation=false
**/*.sb linguist-detectable=true 

没有达到预期的效果。这些sb文件按预期处理,但smartBASIC不是预定义的语言,因此自定义映射不会产生任何语言统计信息。(我通过将文件映射到另一种语言(C++)并让它们显示在语言栏统计信息中(作为 C++)来验证这一点。

从其他问题(将自定义语言添加到 GitHub 存储库自定义语言在 GitHub 存储库中)看来,要将新扩展映射到新语言,需要将它们添加到 Linguist(更具体地说,至少必须添加语言)。从 Linguist 文档中可以清楚地看出,只有在 GitHub 存储库中有足够的存在时,才会添加新的语言/扩展。这是完全有道理的。然而,这也意味着没有明显的方式将sb扩展映射到smartBASIC语言并将其显示在语言栏中(例如,repo stats 为 60% smartBASIC,30% Python,10% 其他)。

问题:是否可以使用 Linguist 覆盖将文件扩展名映射到 GitHub 上的新语言,而无需将新语言添加到 Linguist 本身?

是否可以使用任何其他方式?

(这个问题是关于 repo 的语言统计信息。在这个阶段,语法高亮和其他自定义是次要的。)

4

1 回答 1

2

当前最新lib/linguist/languages.yml版本确实不包括 smartBasic。

是否可以使用 Linguist 覆盖将文件扩展名映射到 GitHub 上的新语言,而无需将新语言添加到 Linguist 本身

不,不支持。
您有类似3665的问题:“如果 'xyz' 不是已知语言,则 lingust-language=xyz 在 github 上似乎被忽略。建议:使其显示为未知语言”

但即使这样也不被接受。

在语言栏中添加对自定义名称的支持不仅仅需要在 Linguist 中进行一些调整,因为 GitHub 端的更改远非微不足道,并且需要一个内部委托的项目来实现它。

于 2020-03-09T05:43:50.023 回答