🐛 fix(vscode): 代码阅读注释里引用的语言内置名不再标成找不到:代码里写到的(raise ValueError)问那处的定义、点了跳到语言自带的定义,没写到的当普通文字不能点;内置名单由语言插件给(Python 补全 dir(builtins),TypeScript 是 ECMAScript 标准全局对象)

This commit is contained in:
cruldra committed 2026-10-14 15:10:48 +11:00
1 parent 49a3854390
commit e3c8c1b118
14 files changed
+544 -98

No files matched your search

+5
View File
@@ -775,6 +775,11 @@ export interface LanguageAdapter {
* 只报认得准的:拿不准的(模式匹配捕获的、跳过不看的声明里的、同一个名字既导入又赋值的……)不报,宿主照旧逐处问。不填就逐处问。
*/
bindings?: (root: Node, source: string, languageId: string) => NameBinding[]
/**
* 这门语言自带、不用导入就能用的名字(Python 的 `ValueError`、`str`、`len`、`None`,TypeScript 的 `Error`、`Promise`、`JSON`),
* 注释里引用了它、预览却找不到定义时靠它认出来,当普通文字显示,不标成找不到;没有的语言不填。
*/
builtins?: ReadonlySet<string>
/** 这份源码里嵌着的别的语言的代码(见 EmbeddedCode),块里的(TextBlock.embedded)、属性表里的(HealthFacts.command)都算;没有的语言不填。 */
embedded?: (root: Node, source: string, languageId: string) => EmbeddedCode[]
/** 这门语言的代码被别的语言嵌着、当一串步骤执行时怎么分块(见 StepBlocks);不填就按 toBlocks 分、不算一步失败就停。 */