diff --git a/extensions/typescript/src/features/documentSymbolProvider.ts b/extensions/typescript/src/features/documentSymbolProvider.ts index 62e58a51fc7000b3deaad8120e6ac459f2f117b6..5d4a8595a37a449e1d9bc7cdda4b5400f746b115 100644 --- a/extensions/typescript/src/features/documentSymbolProvider.ts +++ b/extensions/typescript/src/features/documentSymbolProvider.ts @@ -74,10 +74,11 @@ export default class TypeScriptDocumentSymbolProvider implements DocumentSymbolP } } + private static convertNavBar(resource: Uri, indent: number, foldingMap: ObjectMap, bucket: SymbolInformation[], item: Proto.NavigationBarItem, containerLabel?: string): void { let realIndent = indent + item.indent; let key = `${realIndent}|${item.text}`; - if (realIndent !== 0 && !foldingMap[key]) { + if (realIndent !== 0 && !foldingMap[key] && TypeScriptDocumentSymbolProvider.shouldInclueEntry(item.text)) { let result = new SymbolInformation(item.text, outlineTypeTable[item.kind] || SymbolKind.Variable, containerLabel ? containerLabel : '', @@ -103,6 +104,13 @@ export default class TypeScriptDocumentSymbolProvider implements DocumentSymbolP TypeScriptDocumentSymbolProvider.convertNavTree(resource, bucket, child, result.name); } } - bucket.push(result); + + if (TypeScriptDocumentSymbolProvider.shouldInclueEntry(result.name)) { + bucket.push(result); + } + } + + private static shouldInclueEntry(name: string): boolean { + return !!(name && name !== '' && name !== ''); } } \ No newline at end of file