ResolvedCodeEditorLanguage
type ResolvedCodeEditorLanguage =
| {
kind: "none";
}
| {
kind: "not-found";
name: string;
}
| {
description: CodeEditorLanguageDescription;
kind: "found";
};
Defined in: language-resolution.ts:31
一次语言解析的结果。
三个分支对应编辑器的三种处置:装上语言扩展(found)、清空语言扩展(none)、
清空并报告配置错误(not-found)。刻意用可辨识联合而不是
CodeEditorLanguageDescription | null —— 后者把「明确不高亮」和「配置写错了」
压成同一个值,调用方无从区分该不该报错。
Union Members
Type Literal
{
kind: "none";
}
kind
readonly kind: "none";
明确不需要语法高亮:语言名为空、为 'plaintext',或候选列表为空。
Type Literal
{
kind: "not-found";
name: string;
}
kind
readonly kind: "not-found";
语言名在候选列表里找不到 —— 属配置错误,调用方应向宿主报告。
name
readonly name: string;
未能解析的语言名,原样保留大小写以便出现在错误信息里。
Type Literal
{
description: CodeEditorLanguageDescription;
kind: "found";
}
description
readonly description: CodeEditorLanguageDescription;
命中的语言描述;load() 由调用方按自己的竞态规则发起。
kind
readonly kind: "found";
解析成功。