@@ -4,6 +4,7 @@ import { Namespace, Task } from '../models/models.js';
44export type TreeItem = WorkspaceTreeItem | NamespaceTreeItem | TaskTreeItem ;
55
66export class WorkspaceTreeItem extends vscode . TreeItem {
7+ private static readonly icon = 'folder' ;
78 constructor (
89 readonly label : string ,
910 readonly workspace : string ,
@@ -13,12 +14,16 @@ export class WorkspaceTreeItem extends vscode.TreeItem {
1314 ) {
1415 super ( label , collapsibleState ) ;
1516 this . description = this . workspace ;
16- this . iconPath = new vscode . ThemeIcon ( 'folder' , new vscode . ThemeColor ( 'vscodetask.workspaceIcon' ) ) ;
17+ this . iconPath = new vscode . ThemeIcon (
18+ WorkspaceTreeItem . icon ,
19+ new vscode . ThemeColor ( 'vscodetask.workspaceIcon' )
20+ ) ;
1721 this . contextValue = `workspaceTreeItem` ;
1822 }
1923}
2024
2125export class NamespaceTreeItem extends vscode . TreeItem {
26+ private static readonly icon = 'symbol-namespace' ;
2227 constructor (
2328 readonly label : string ,
2429 readonly workspace : string ,
@@ -27,12 +32,16 @@ export class NamespaceTreeItem extends vscode.TreeItem {
2732 readonly command ?: vscode . Command
2833 ) {
2934 super ( label , collapsibleState ) ;
30- this . iconPath = new vscode . ThemeIcon ( 'symbol-namespace' , new vscode . ThemeColor ( 'vscodetask.namespaceIcon' ) ) ;
35+ this . iconPath = new vscode . ThemeIcon (
36+ NamespaceTreeItem . icon ,
37+ new vscode . ThemeColor ( 'vscodetask.namespaceIcon' )
38+ ) ;
3139 this . contextValue = `namespaceTreeItem` ;
3240 }
3341}
3442
3543export class TaskTreeItem extends vscode . TreeItem {
44+ private static readonly icon = 'symbol-function' ;
3645 constructor (
3746 readonly label : string ,
3847 readonly workspace : string ,
@@ -44,13 +53,22 @@ export class TaskTreeItem extends vscode.TreeItem {
4453 this . description = this . task ?. desc ;
4554 switch ( this . task . up_to_date ) {
4655 case true :
47- this . iconPath = new vscode . ThemeIcon ( 'debug-breakpoint-data-unverified' , new vscode . ThemeColor ( 'vscodetask.upToDateIcon' ) ) ;
56+ this . iconPath = new vscode . ThemeIcon (
57+ TaskTreeItem . icon ,
58+ new vscode . ThemeColor ( 'vscodetask.upToDateIcon' )
59+ ) ;
4860 break ;
4961 case false :
50- this . iconPath = new vscode . ThemeIcon ( 'debug-breakpoint-data-unverified' , new vscode . ThemeColor ( 'vscodetask.outOfDateIcon' ) ) ;
62+ this . iconPath = new vscode . ThemeIcon (
63+ TaskTreeItem . icon ,
64+ new vscode . ThemeColor ( 'vscodetask.outOfDateIcon' )
65+ ) ;
5166 break ;
5267 default :
53- this . iconPath = new vscode . ThemeIcon ( 'debug-breakpoint-data-unverified' , new vscode . ThemeColor ( 'vscodetask.primaryColor' ) ) ;
68+ this . iconPath = new vscode . ThemeIcon (
69+ TaskTreeItem . icon ,
70+ new vscode . ThemeColor ( 'vscodetask.primaryColor' )
71+ ) ;
5472 }
5573 this . contextValue = `taskTreeItem` ;
5674 }
0 commit comments