Allow unsupported types for tree tooltip

Fixes #102170
This commit is contained in:
Alex Ross
2020-07-13 11:14:50 +02:00
parent 62a25a5fae
commit 622aa939d9

View File

@@ -24,6 +24,10 @@ import { IMarkdownString } from 'vs/base/common/htmlContent';
type TreeItemHandle = string;
function isMarkdownString(value: any): value is vscode.MarkdownString {
return (value !== undefined) && value.appendCodeblock && value.appendMarkdown && value.appendText && (value.value !== undefined);
}
function toTreeItemLabel(label: any, extension: IExtensionDescription): ITreeItemLabel | undefined {
if (isString(label)) {
return { label };
@@ -527,14 +531,11 @@ class ExtHostTreeView<T> extends Disposable {
}
private getTooltip(tooltip?: string | vscode.MarkdownString): string | IMarkdownString | undefined {
if (typeof tooltip === 'string') {
return tooltip;
} else if (tooltip === undefined) {
return undefined;
} else {
if (isMarkdownString(tooltip)) {
checkProposedApiEnabled(this.extension);
return MarkdownString.from(tooltip);
}
return tooltip;
}
private createTreeNode(element: T, extensionTreeItem: vscode.TreeItem2, parent: TreeNode | Root): TreeNode {