Finalize markdown tree tooltip and resolveTreeItem

Fixes #100741
This commit is contained in:
Alex Ross
2020-11-27 15:38:57 +01:00
parent 016655c546
commit 01bbb81052
3 changed files with 23 additions and 29 deletions

View File

@@ -17,7 +17,6 @@ import { TreeItemCollapsibleState, ThemeIcon, MarkdownString as MarkdownStringTy
import { isUndefinedOrNull, isString } from 'vs/base/common/types';
import { equals, coalesce } from 'vs/base/common/arrays';
import { ILogService } from 'vs/platform/log/common/log';
import { checkProposedApiEnabled } from 'vs/workbench/services/extensions/common/extensions';
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
import { MarkdownString } from 'vs/workbench/api/common/extHostTypeConverters';
import { IMarkdownString } from 'vs/base/common/htmlContent';
@@ -182,7 +181,7 @@ type TreeData<T> = { message: boolean, element: T | Root | false };
interface TreeNode extends IDisposable {
item: ITreeItem;
extensionItem: vscode.TreeItem2;
extensionItem: vscode.TreeItem;
parent: TreeNode | Root;
children?: TreeNode[];
}
@@ -569,13 +568,12 @@ class ExtHostTreeView<T> extends Disposable {
private getTooltip(tooltip?: string | vscode.MarkdownString): string | IMarkdownString | undefined {
if (MarkdownStringType.isMarkdownString(tooltip)) {
checkProposedApiEnabled(this.extension);
return MarkdownString.from(tooltip);
}
return tooltip;
}
private createTreeNode(element: T, extensionTreeItem: vscode.TreeItem2, parent: TreeNode | Root): TreeNode {
private createTreeNode(element: T, extensionTreeItem: vscode.TreeItem, parent: TreeNode | Root): TreeNode {
const disposable = new DisposableStore();
const handle = this.createHandle(element, extensionTreeItem, parent);
const icon = this.getLightIconPath(extensionTreeItem);
@@ -604,7 +602,7 @@ class ExtHostTreeView<T> extends Disposable {
};
}
private getThemeIcon(extensionTreeItem: vscode.TreeItem2): ThemeIcon | undefined {
private getThemeIcon(extensionTreeItem: vscode.TreeItem): ThemeIcon | undefined {
return extensionTreeItem.iconPath instanceof ThemeIcon ? extensionTreeItem.iconPath : undefined;
}