假设我们有一种编程语言,它使用具有各种扩展名的文件,所有扩展名都共享一些表示语言的字符,但是继续使用表示内容类型的其他字符。以当前的languages.yml为例:
Xojo: type: programming extensions: - ".xojo_code" - ".xojo_menu" - ".xojo_report" - ".xojo_script" - ".xojo_toolbar" - ".xojo_window" tm_scope: source.vbnet ace_mode: text language_id: 405
为了概括并避免在添加新内容类型时更新languages.yml,使用通配符是很自然的:
Xojo: type: programming extensions: - ".xojo_*" tm_scope: source.vbnet ace_mode: text language_id: 405
这是另一个例子:
VHDL: type: programming color: "#adb2cb" extensions: - ".vhdl" - ".vhd" - ".vhf" - ".vhi" - ".vho" - ".vhs" - ".vht" - ".vhw" ace_mode: vhdl codemirror_mode: vhdl codemirror_mime_type: text/x-vhdl language_id: 385
这可能是:
VHDL: type: programming color: "#adb2cb" extensions: - ".vhdl" - ".vh?" ace_mode: vhdl codemirror_mode: vhdl codemirror_mime_type: text/x-vhdl language_id: 385
Linguist允许使用这样的通配符吗?
不,它没有。
我们(我是github-linguist的共同维护者)没有收到许多添加新扩展的请求,我们认为现在需要添加这些扩展。