@@ -59,6 +59,7 @@ export class Resource implements SourceControlResourceState {
5959 case Status . IGNORED : return l10n . t ( 'Ignored' ) ;
6060 case Status . INTENT_TO_ADD : return l10n . t ( 'Intent to Add' ) ;
6161 case Status . INTENT_TO_RENAME : return l10n . t ( 'Intent to Rename' ) ;
62+ case Status . TYPE_CHANGED : return l10n . t ( 'Type Changed' ) ;
6263 case Status . BOTH_DELETED : return l10n . t ( 'Conflict: Both Deleted' ) ;
6364 case Status . ADDED_BY_US : return l10n . t ( 'Conflict: Added By Us' ) ;
6465 case Status . DELETED_BY_THEM : return l10n . t ( 'Conflict: Deleted By Them' ) ;
@@ -112,6 +113,7 @@ export class Resource implements SourceControlResourceState {
112113 Untracked : getIconUri ( 'status-untracked' , 'light' ) ,
113114 Ignored : getIconUri ( 'status-ignored' , 'light' ) ,
114115 Conflict : getIconUri ( 'status-conflict' , 'light' ) ,
116+ TypeChanged : getIconUri ( 'status-type-changed' , 'light' )
115117 } ,
116118 dark : {
117119 Modified : getIconUri ( 'status-modified' , 'dark' ) ,
@@ -121,7 +123,8 @@ export class Resource implements SourceControlResourceState {
121123 Copied : getIconUri ( 'status-copied' , 'dark' ) ,
122124 Untracked : getIconUri ( 'status-untracked' , 'dark' ) ,
123125 Ignored : getIconUri ( 'status-ignored' , 'dark' ) ,
124- Conflict : getIconUri ( 'status-conflict' , 'dark' )
126+ Conflict : getIconUri ( 'status-conflict' , 'dark' ) ,
127+ TypeChanged : getIconUri ( 'status-type-changed' , 'dark' )
125128 }
126129 } ;
127130
@@ -138,6 +141,7 @@ export class Resource implements SourceControlResourceState {
138141 case Status . IGNORED : return Resource . Icons [ theme ] . Ignored ;
139142 case Status . INTENT_TO_ADD : return Resource . Icons [ theme ] . Added ;
140143 case Status . INTENT_TO_RENAME : return Resource . Icons [ theme ] . Renamed ;
144+ case Status . TYPE_CHANGED : return Resource . Icons [ theme ] . TypeChanged ;
141145 case Status . BOTH_DELETED : return Resource . Icons [ theme ] . Conflict ;
142146 case Status . ADDED_BY_US : return Resource . Icons [ theme ] . Conflict ;
143147 case Status . DELETED_BY_THEM : return Resource . Icons [ theme ] . Conflict ;
@@ -197,6 +201,8 @@ export class Resource implements SourceControlResourceState {
197201 case Status . INDEX_RENAMED :
198202 case Status . INTENT_TO_RENAME :
199203 return 'R' ;
204+ case Status . TYPE_CHANGED :
205+ return 'T' ;
200206 case Status . UNTRACKED :
201207 return 'U' ;
202208 case Status . IGNORED :
@@ -223,6 +229,7 @@ export class Resource implements SourceControlResourceState {
223229 case Status . INDEX_MODIFIED :
224230 return new ThemeColor ( 'gitDecoration.stageModifiedResourceForeground' ) ;
225231 case Status . MODIFIED :
232+ case Status . TYPE_CHANGED :
226233 return new ThemeColor ( 'gitDecoration.modifiedResourceForeground' ) ;
227234 case Status . INDEX_DELETED :
228235 return new ThemeColor ( 'gitDecoration.stageDeletedResourceForeground' ) ;
@@ -257,6 +264,7 @@ export class Resource implements SourceControlResourceState {
257264 case Status . INDEX_MODIFIED :
258265 case Status . MODIFIED :
259266 case Status . INDEX_COPIED :
267+ case Status . TYPE_CHANGED :
260268 return 2 ;
261269 case Status . IGNORED :
262270 return 3 ;
@@ -525,6 +533,7 @@ class ResourceCommandResolver {
525533 case Status . INDEX_RENAMED :
526534 case Status . INDEX_ADDED :
527535 case Status . INTENT_TO_RENAME :
536+ case Status . TYPE_CHANGED :
528537 return toGitUri ( resource . original , 'HEAD' ) ;
529538
530539 case Status . MODIFIED :
@@ -560,7 +569,8 @@ class ResourceCommandResolver {
560569 case Status . UNTRACKED :
561570 case Status . IGNORED :
562571 case Status . INTENT_TO_ADD :
563- case Status . INTENT_TO_RENAME : {
572+ case Status . INTENT_TO_RENAME :
573+ case Status . TYPE_CHANGED : {
564574 const uriString = resource . resourceUri . toString ( ) ;
565575 const [ indexStatus ] = this . repository . indexGroup . resourceStates . filter ( r => r . resourceUri . toString ( ) === uriString ) ;
566576
@@ -609,6 +619,9 @@ class ResourceCommandResolver {
609619 case Status . INTENT_TO_RENAME :
610620 return l10n . t ( '{0} (Intent to add)' , basename ) ;
611621
622+ case Status . TYPE_CHANGED :
623+ return l10n . t ( '{0} (Type changed)' , basename ) ;
624+
612625 default :
613626 return '' ;
614627 }
@@ -2188,6 +2201,7 @@ export class Repository implements Disposable {
21882201 case 'D' : workingTreeGroup . push ( new Resource ( this . resourceCommandResolver , ResourceGroupType . WorkingTree , uri , Status . DELETED , useIcons , renameUri ) ) ; break ;
21892202 case 'A' : workingTreeGroup . push ( new Resource ( this . resourceCommandResolver , ResourceGroupType . WorkingTree , uri , Status . INTENT_TO_ADD , useIcons , renameUri ) ) ; break ;
21902203 case 'R' : workingTreeGroup . push ( new Resource ( this . resourceCommandResolver , ResourceGroupType . WorkingTree , uri , Status . INTENT_TO_RENAME , useIcons , renameUri ) ) ; break ;
2204+ case 'T' : workingTreeGroup . push ( new Resource ( this . resourceCommandResolver , ResourceGroupType . WorkingTree , uri , Status . TYPE_CHANGED , useIcons , renameUri ) ) ; break ;
21912205 }
21922206
21932207 return undefined ;
0 commit comments