@@ -171,10 +171,8 @@ export class Resource implements SourceControlResourceState {
171171 }
172172
173173 get decorations ( ) : SourceControlResourceDecorations {
174- // TODO@joh , still requires restart/redraw in the SCM viewlet
175- const decorations = workspace . getConfiguration ( ) . get < boolean > ( 'git.decorations.enabled' ) ;
176- const light = ! decorations ? { iconPath : this . getIconPath ( 'light' ) } : undefined ;
177- const dark = ! decorations ? { iconPath : this . getIconPath ( 'dark' ) } : undefined ;
174+ const light = this . _useIcons ? { iconPath : this . getIconPath ( 'light' ) } : undefined ;
175+ const dark = this . _useIcons ? { iconPath : this . getIconPath ( 'dark' ) } : undefined ;
178176 const tooltip = this . tooltip ;
179177 const strikeThrough = this . strikeThrough ;
180178 const faded = this . faded ;
@@ -275,6 +273,7 @@ export class Resource implements SourceControlResourceState {
275273 private _resourceGroupType : ResourceGroupType ,
276274 private _resourceUri : Uri ,
277275 private _type : Status ,
276+ private _useIcons : boolean ,
278277 private _renameResourceUri ?: Uri
279278 ) { }
280279}
@@ -863,6 +862,7 @@ export class Repository implements Disposable {
863862 const { status, didHitLimit } = await this . repository . getStatus ( ) ;
864863 const config = workspace . getConfiguration ( 'git' ) ;
865864 const shouldIgnore = config . get < boolean > ( 'ignoreLimitWarning' ) === true ;
865+ const useIcons = config . get < boolean > ( 'decorations.enabled' , true ) ;
866866
867867 this . isRepositoryHuge = didHitLimit ;
868868
@@ -910,30 +910,30 @@ export class Repository implements Disposable {
910910 const renameUri = raw . rename ? Uri . file ( path . join ( this . repository . root , raw . rename ) ) : undefined ;
911911
912912 switch ( raw . x + raw . y ) {
913- case '??' : return workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . UNTRACKED ) ) ;
914- case '!!' : return workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . IGNORED ) ) ;
915- case 'DD' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_DELETED ) ) ;
916- case 'AU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . ADDED_BY_US ) ) ;
917- case 'UD' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . DELETED_BY_THEM ) ) ;
918- case 'UA' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . ADDED_BY_THEM ) ) ;
919- case 'DU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . DELETED_BY_US ) ) ;
920- case 'AA' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_ADDED ) ) ;
921- case 'UU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_MODIFIED ) ) ;
913+ case '??' : return workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . UNTRACKED , useIcons ) ) ;
914+ case '!!' : return workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . IGNORED , useIcons ) ) ;
915+ case 'DD' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_DELETED , useIcons ) ) ;
916+ case 'AU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . ADDED_BY_US , useIcons ) ) ;
917+ case 'UD' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . DELETED_BY_THEM , useIcons ) ) ;
918+ case 'UA' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . ADDED_BY_THEM , useIcons ) ) ;
919+ case 'DU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . DELETED_BY_US , useIcons ) ) ;
920+ case 'AA' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_ADDED , useIcons ) ) ;
921+ case 'UU' : return merge . push ( new Resource ( ResourceGroupType . Merge , uri , Status . BOTH_MODIFIED , useIcons ) ) ;
922922 }
923923
924924 let isModifiedInIndex = false ;
925925
926926 switch ( raw . x ) {
927- case 'M' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_MODIFIED ) ) ; isModifiedInIndex = true ; break ;
928- case 'A' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_ADDED ) ) ; break ;
929- case 'D' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_DELETED ) ) ; break ;
930- case 'R' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_RENAMED , renameUri ) ) ; break ;
931- case 'C' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_COPIED , renameUri ) ) ; break ;
927+ case 'M' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_MODIFIED , useIcons ) ) ; isModifiedInIndex = true ; break ;
928+ case 'A' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_ADDED , useIcons ) ) ; break ;
929+ case 'D' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_DELETED , useIcons ) ) ; break ;
930+ case 'R' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_RENAMED , useIcons , renameUri ) ) ; break ;
931+ case 'C' : index . push ( new Resource ( ResourceGroupType . Index , uri , Status . INDEX_COPIED , useIcons , renameUri ) ) ; break ;
932932 }
933933
934934 switch ( raw . y ) {
935- case 'M' : workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . MODIFIED , renameUri ) ) ; break ;
936- case 'D' : workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . DELETED , renameUri ) ) ; break ;
935+ case 'M' : workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . MODIFIED , useIcons , renameUri ) ) ; break ;
936+ case 'D' : workingTree . push ( new Resource ( ResourceGroupType . WorkingTree , uri , Status . DELETED , useIcons , renameUri ) ) ; break ;
937937 }
938938 } ) ;
939939
0 commit comments