@@ -84,7 +84,7 @@ export class CallItemDataProvider implements vscode.TreeDataProvider<CallHierarc
8484 const item = new vscode . TreeItem ( element . item . name ) ;
8585 item . description = element . item . detail ;
8686 item . contextValue = 'call-item' ;
87- // item.iconPath = vscode.Uri.parse('vscode-icon://codicon/zap'); // todo@joh
87+ item . iconPath = CallItemDataProvider . _getThemeIcon ( element . item . kind ) ;
8888 item . command = { command : 'references-view.show' , title : 'Open Call' , arguments : [ element ] } ;
8989 item . collapsibleState = vscode . TreeItemCollapsibleState . Collapsed ;
9090 return item ;
@@ -101,6 +101,41 @@ export class CallItemDataProvider implements vscode.TreeDataProvider<CallHierarc
101101 getParent ( element : CallHierarchyItem ) {
102102 return element . parent ;
103103 }
104+
105+ private static _themeIconIds = {
106+ [ vscode . SymbolKind . File ] : 'symbol-file' ,
107+ [ vscode . SymbolKind . Module ] : 'symbol-module' ,
108+ [ vscode . SymbolKind . Namespace ] : 'symbol-namespace' ,
109+ [ vscode . SymbolKind . Package ] : 'symbol-package' ,
110+ [ vscode . SymbolKind . Class ] : 'symbol-class' ,
111+ [ vscode . SymbolKind . Method ] : 'symbol-method' ,
112+ [ vscode . SymbolKind . Property ] : 'symbol-property' ,
113+ [ vscode . SymbolKind . Field ] : 'symbol-field' ,
114+ [ vscode . SymbolKind . Constructor ] : 'symbol-constructor' ,
115+ [ vscode . SymbolKind . Enum ] : 'symbol-enum' ,
116+ [ vscode . SymbolKind . Interface ] : 'symbol-interface' ,
117+ [ vscode . SymbolKind . Function ] : 'symbol-function' ,
118+ [ vscode . SymbolKind . Variable ] : 'symbol-variable' ,
119+ [ vscode . SymbolKind . Constant ] : 'symbol-constant' ,
120+ [ vscode . SymbolKind . String ] : 'symbol-string' ,
121+ [ vscode . SymbolKind . Number ] : 'symbol-number' ,
122+ [ vscode . SymbolKind . Boolean ] : 'symbol-boolean' ,
123+ [ vscode . SymbolKind . Array ] : 'symbol-array' ,
124+ [ vscode . SymbolKind . Object ] : 'symbol-object' ,
125+ [ vscode . SymbolKind . Key ] : 'symbol-key' ,
126+ [ vscode . SymbolKind . Null ] : 'symbol-null' ,
127+ [ vscode . SymbolKind . EnumMember ] : 'symbol-enum-member' ,
128+ [ vscode . SymbolKind . Struct ] : 'symbol-struct' ,
129+ [ vscode . SymbolKind . Event ] : 'symbol-event' ,
130+ [ vscode . SymbolKind . Operator ] : 'symbol-operator' ,
131+ [ vscode . SymbolKind . TypeParameter ] : 'symbol-type-parameter' ,
132+ } ;
133+
134+ private static _getThemeIcon ( kind : vscode . SymbolKind ) : vscode . ThemeIcon | undefined {
135+ let id = CallItemDataProvider . _themeIconIds [ kind ] ;
136+ // @ts -ignore
137+ return id && new vscode . ThemeIcon ( id ) ;
138+ }
104139}
105140
106141export class HistoryDataProvider implements vscode . TreeDataProvider < HistoryItem > {
0 commit comments