@@ -46,7 +46,7 @@ function createSymbols(elements: Structure.CodeElement[], parentElement?: Struct
46
46
return results ;
47
47
}
48
48
49
- function getNameForElement ( element : Structure . CodeElement , parentElement ?: Structure . CodeElement ) : string {
49
+ function getNameAndDetailsForElement ( element : Structure . CodeElement , parentElement ?: Structure . CodeElement ) : { name : string , details : string } {
50
50
switch ( element . Kind ) {
51
51
case SymbolKinds . Class :
52
52
case SymbolKinds . Delegate :
@@ -55,10 +55,17 @@ function getNameForElement(element: Structure.CodeElement, parentElement?: Struc
55
55
case SymbolKinds . Struct :
56
56
case SymbolKinds . Namespace :
57
57
if ( typeof parentElement === 'undefined' ) {
58
- return element . DisplayName ;
58
+ return { name : element . DisplayName , details : '' } ;
59
59
}
60
60
const prefix = `${ parentElement . DisplayName } .` ;
61
- return element . DisplayName . startsWith ( prefix ) ? element . DisplayName . slice ( prefix . length ) : element . DisplayName ;
61
+ if ( ! element . DisplayName . startsWith ( prefix ) ) {
62
+ return { name : element . DisplayName , details : '' } ;
63
+ }
64
+ const name = element . DisplayName . slice ( prefix . length ) ;
65
+ if ( name === element . DisplayName ) {
66
+ return { name : element . DisplayName , details : '' } ;
67
+ }
68
+ return { name, details : element . DisplayName } ;
62
69
63
70
case SymbolKinds . Constant :
64
71
case SymbolKinds . Constructor :
@@ -72,17 +79,10 @@ function getNameForElement(element: Structure.CodeElement, parentElement?: Struc
72
79
case SymbolKinds . Property :
73
80
case SymbolKinds . Unknown :
74
81
default :
75
- return element . Name ;
82
+ return { name : element . DisplayName , details : '' } ;
76
83
}
77
84
}
78
85
79
- function getNameAndDetailsForElement ( element : Structure . CodeElement , parentElement ?: Structure . CodeElement ) : { name : string , details : string } {
80
- const name = getNameForElement ( element , parentElement ) ;
81
- const details = element . DisplayName === name ? '' : element . DisplayName ;
82
-
83
- return { name, details } ;
84
- }
85
-
86
86
function createSymbolForElement ( element : Structure . CodeElement , parentElement ?: Structure . CodeElement ) : vscode . DocumentSymbol {
87
87
const fullRange = element . Ranges [ SymbolRangeNames . Full ] ;
88
88
const nameRange = element . Ranges [ SymbolRangeNames . Name ] ;
0 commit comments