Skip to content

Commit ad39568

Browse files
authored
Git - add support for type changed (microsoft#187714)
* Initial implementation * Add icons
1 parent ba8caef commit ad39568

File tree

6 files changed

+31
-2
lines changed

6 files changed

+31
-2
lines changed
Lines changed: 6 additions & 0 deletions
Loading
Lines changed: 6 additions & 0 deletions
Loading

extensions/git/src/api/api1.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ function getStatus(status: Status): string {
363363
case Status.IGNORED: return 'IGNORED';
364364
case Status.INTENT_TO_ADD: return 'INTENT_TO_ADD';
365365
case Status.INTENT_TO_RENAME: return 'INTENT_TO_RENAME';
366+
case Status.TYPE_CHANGED: return 'TYPE_CHANGED';
366367
case Status.ADDED_BY_US: return 'ADDED_BY_US';
367368
case Status.ADDED_BY_THEM: return 'ADDED_BY_THEM';
368369
case Status.DELETED_BY_US: return 'DELETED_BY_US';

extensions/git/src/api/git.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export const enum Status {
7979
IGNORED,
8080
INTENT_TO_ADD,
8181
INTENT_TO_RENAME,
82+
TYPE_CHANGED,
8283

8384
ADDED_BY_US,
8485
ADDED_BY_THEM,

extensions/git/src/repository.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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;

extensions/github/src/typings/git.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export const enum Status {
7979
IGNORED,
8080
INTENT_TO_ADD,
8181
INTENT_TO_RENAME,
82+
TYPE_CHANGED,
8283

8384
ADDED_BY_US,
8485
ADDED_BY_THEM,

0 commit comments

Comments
 (0)