in src/references/model.ts [266:300]
async getTreeItem(element: FileItem | ReferenceItem) {
if (element instanceof FileItem) {
// files
const result = new vscode.TreeItem(element.uri);
result.contextValue = 'file-item';
result.description = true;
result.iconPath = vscode.ThemeIcon.File;
result.collapsibleState = vscode.TreeItemCollapsibleState.Collapsed;
return result;
} else {
// references
const { range } = element.location;
const doc = await element.getDocument(true);
const { before, inside, after } = getPreviewChunks(doc, range);
const label: vscode.TreeItemLabel = {
label: before + inside + after,
highlights: [[before.length, before.length + inside.length]]
};
const result = new vscode.TreeItem(label);
result.collapsibleState = vscode.TreeItemCollapsibleState.None;
result.contextValue = 'reference-item';
result.command = {
command: 'vscode.open',
title: 'Open Reference',
arguments: [
element.location.uri,
<vscode.TextDocumentShowOptions>{ selection: range.with({ end: range.start }) }
]
};
return result;
}
}