跳到主要内容

isSameResolvedLanguage()

function isSameResolvedLanguage(left, right): boolean;

Defined in: language-resolution.ts:101

判断两次解析结果是否等价 —— 等价即「无需重新加载或重配置语言」。

Parameters​

ParameterTypeDescription
left| ResolvedCodeEditorLanguage | undefined上一次已生效的解析结果;undefined 表示还没解析过
rightResolvedCodeEditorLanguage本次的解析结果

Returns​

boolean

两者等价时为 true

Remarks​

found 分支只比 description 的引用,不比语言名:'TypeScript' 改成别名 'ts' 解析到的是同一个描述,重新构造 parser 纯属浪费。

not-found 分支比语言名:从一个错名换到另一个错名要重新报告错误, 否则宿主只会看到第一次的配置错误。

注意本函数不判断「要不要强制重载」。调用方若需要强制重载 (例如宿主换掉了同名描述背后的 loader 实现),应当调用各端的显式命令式方法, 而不是靠传一个等价的新数组制造隐式副作用。