@@ -24,13 +24,13 @@ export class ScgTreeProvider implements vscode.TreeDataProvider<ScgNode> {
2424 return Promise . resolve ( this . getScgConfigs ( ) ) ;
2525 }
2626 if ( element . type === ScgTreeItemType . Config && element . config ) {
27- const layout = new ScgNode ( "Layout" , ScgTreeItemType . Layout , vscode . TreeItemCollapsibleState . Expanded , element . config , element . file ) ;
28- const sources = new ScgNode ( "Sources" , ScgTreeItemType . Sources , vscode . TreeItemCollapsibleState . Collapsed , element . config , element . file ) ;
27+ const layout = new ScgNode ( "Layout" , ScgTreeItemType . Layout , vscode . TreeItemCollapsibleState . Expanded , element . config ) ;
28+ const sources = new ScgNode ( "Sources" , ScgTreeItemType . Sources , vscode . TreeItemCollapsibleState . Collapsed , element . config ) ;
2929 return Promise . resolve ( [ layout , sources ] ) ;
3030 } else if ( element . type === ScgTreeItemType . Layout ) {
3131 const items : ScgNode [ ] = [ ] ;
3232 for ( const layout of element . config . layout ) {
33- items . push ( new ScgNode ( layout . name , ScgTreeItemType . Template , vscode . TreeItemCollapsibleState . None , undefined , undefined , {
33+ items . push ( new ScgNode ( layout . name , ScgTreeItemType . Template , vscode . TreeItemCollapsibleState . None , element . config , {
3434 command : 'vscode.open' ,
3535 title : 'Open Template' ,
3636 arguments : [ vscode . Uri . file ( element . config . templatepath + "/" + layout . name || '' ) ]
@@ -41,7 +41,7 @@ export class ScgTreeProvider implements vscode.TreeDataProvider<ScgNode> {
4141 const items : ScgNode [ ] = [ ] ;
4242 const sources = await element . config . getSources ( ) ;
4343 for ( const source of sources ) {
44- items . push ( new ScgNode ( source . id , ScgTreeItemType . Source , vscode . TreeItemCollapsibleState . Collapsed , element . config , element . file , {
44+ items . push ( new ScgNode ( source . id , ScgTreeItemType . Source , vscode . TreeItemCollapsibleState . Collapsed , element . config , {
4545 command : 'vscode.open' ,
4646 title : 'Open Source' ,
4747 arguments : [ vscode . Uri . file ( source . filename ) ]
@@ -71,29 +71,17 @@ export class ScgTreeProvider implements vscode.TreeDataProvider<ScgNode> {
7171 const treeItems : ScgNode [ ] = [ ] ;
7272 scgConfigs . sort ( ( a , b ) => a . name . localeCompare ( b . name ) ) ;
7373 for ( const config of scgConfigs ) {
74- treeItems . push ( new ScgNode ( config . name , ScgTreeItemType . Config , vscode . TreeItemCollapsibleState . Expanded , config , config . path , {
74+ treeItems . push ( new ScgNode ( config . name , ScgTreeItemType . Config , vscode . TreeItemCollapsibleState . Expanded , config , {
7575 command : 'vscode.open' ,
7676 title : 'Open Config' ,
7777 arguments : [ vscode . Uri . file ( config . path ) ]
7878 } ) ) ;
7979 }
8080 return treeItems ;
8181 }
82-
83- private async getScgSourceColumns ( file : string , delimiter : string ) : Promise < string [ ] > {
84- try {
85- const content = await vscode . workspace . fs . readFile ( vscode . Uri . file ( file ) ) ;
86- const lines = content . toString ( ) . split ( '\n' ) ;
87- const headers = lines [ 0 ] . split ( delimiter ) ;
88- return headers . map ( header => header . trim ( ) ) ;
89- } catch ( error ) {
90- console . error ( 'Error reading source columns:' , error ) ;
91- return [ ] ;
92- }
93- }
9482}
9583
96- enum ScgTreeItemType {
84+ export enum ScgTreeItemType {
9785 Config = "Config" ,
9886 Template = "Template" ,
9987 Layout = "Layout" ,
@@ -108,16 +96,15 @@ export class ScgNode extends vscode.TreeItem {
10896 public readonly label : string ,
10997 public readonly type : ScgTreeItemType ,
11098 public readonly collapsibleState : vscode . TreeItemCollapsibleState ,
111- public readonly config ?: ScgConfig ,
112- public readonly file ?: string ,
99+ public readonly config : ScgConfig ,
113100 public readonly command ?: vscode . Command
114101 ) {
115102 super ( label , collapsibleState ) ;
116103
117104 this . tooltip = `${ this . label } ` ;
118105 this . description = this . type ;
119106 this . contextValue = this . type ;
120- if ( type === ScgTreeItemType . Config && file ) {
107+ if ( type === ScgTreeItemType . Config ) {
121108 this . iconPath = new vscode . ThemeIcon ( "settings-view-bar-icon" ) ;
122109 } else if ( type === ScgTreeItemType . Layout ) {
123110 this . iconPath = new vscode . ThemeIcon ( "folder" ) ;
0 commit comments