Skip to content

Commit 53df86a

Browse files
committed
Use URI for the SCM part of the protocol
1 parent 40e59c8 commit 53df86a

3 files changed

Lines changed: 17 additions & 17 deletions

File tree

src/vs/workbench/api/electron-browser/mainThreadSCM.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
'use strict';
77

88
import { TPromise } from 'vs/base/common/winjs.base';
9-
import URI from 'vs/base/common/uri';
9+
import URI, { UriComponents } from 'vs/base/common/uri';
1010
import Event, { Emitter } from 'vs/base/common/event';
1111
import { assign } from 'vs/base/common/objects';
1212
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
@@ -212,7 +212,7 @@ class MainThreadSCMProvider implements ISCMProvider {
212212
this.handle,
213213
groupHandle,
214214
handle,
215-
URI.parse(sourceUri),
215+
URI.revive(sourceUri),
216216
group,
217217
decorations
218218
);
@@ -241,8 +241,8 @@ class MainThreadSCMProvider implements ISCMProvider {
241241
return TPromise.as(null);
242242
}
243243

244-
return this.proxy.$provideOriginalResource(this.handle, uri.toString())
245-
.then(result => result && URI.parse(result));
244+
return this.proxy.$provideOriginalResource(this.handle, uri)
245+
.then(result => result && URI.revive(result));
246246
}
247247

248248
toJSON(): any {
@@ -284,8 +284,8 @@ export class MainThreadSCM implements MainThreadSCMShape {
284284
this._disposables = dispose(this._disposables);
285285
}
286286

287-
$registerSourceControl(handle: number, id: string, label: string, rootUri: string | undefined): void {
288-
const provider = new MainThreadSCMProvider(this._proxy, handle, id, label, rootUri && URI.parse(rootUri), this.scmService);
287+
$registerSourceControl(handle: number, id: string, label: string, rootUri: UriComponents | undefined): void {
288+
const provider = new MainThreadSCMProvider(this._proxy, handle, id, label, rootUri && URI.revive(rootUri), this.scmService);
289289
const repository = this.scmService.registerSCMProvider(provider);
290290
this._repositories[handle] = repository;
291291

src/vs/workbench/api/node/extHost.protocol.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ export interface SCMGroupFeatures {
395395

396396
export type SCMRawResource = [
397397
number /*handle*/,
398-
string /*resourceUri*/,
398+
UriComponents /*resourceUri*/,
399399
string[] /*icons: light, dark*/,
400400
string /*tooltip*/,
401401
boolean /*strike through*/,
@@ -418,7 +418,7 @@ export type SCMRawResourceSplices = [
418418
];
419419

420420
export interface MainThreadSCMShape extends IDisposable {
421-
$registerSourceControl(handle: number, id: string, label: string, rootUri: string | undefined): void;
421+
$registerSourceControl(handle: number, id: string, label: string, rootUri: UriComponents | undefined): void;
422422
$updateSourceControl(handle: number, features: SCMProviderFeatures): void;
423423
$unregisterSourceControl(handle: number): void;
424424

@@ -691,7 +691,7 @@ export interface ExtHostTerminalServiceShape {
691691
}
692692

693693
export interface ExtHostSCMShape {
694-
$provideOriginalResource(sourceControlHandle: number, uri: string): TPromise<string>;
694+
$provideOriginalResource(sourceControlHandle: number, uri: UriComponents): TPromise<UriComponents>;
695695
$onInputBoxValueChange(sourceControlHandle: number, value: string): TPromise<void>;
696696
$executeResourceCommand(sourceControlHandle: number, groupHandle: number, handle: number): TPromise<void>;
697697
$validateInput(sourceControlHandle: number, value: string, cursorPosition: number): TPromise<[string, number] | undefined>;

src/vs/workbench/api/node/extHostSCM.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55
'use strict';
66

7-
import URI from 'vs/base/common/uri';
7+
import URI, { UriComponents } from 'vs/base/common/uri';
88
import { TPromise } from 'vs/base/common/winjs.base';
99
import Event, { Emitter, once } from 'vs/base/common/event';
1010
import { debounce } from 'vs/base/common/decorators';
@@ -256,7 +256,7 @@ class ExtHostSourceControlResourceGroup implements vscode.SourceControlResourceG
256256
const handle = this._resourceHandlePool++;
257257
this._resourceStatesMap.set(handle, r);
258258

259-
const sourceUri = r.resourceUri.toString();
259+
const sourceUri = r.resourceUri;
260260
const iconPath = getIconPath(r.decorations);
261261
const lightIconPath = r.decorations && getIconPath(r.decorations.light) || iconPath;
262262
const darkIconPath = r.decorations && getIconPath(r.decorations.dark) || iconPath;
@@ -282,7 +282,7 @@ class ExtHostSourceControlResourceGroup implements vscode.SourceControlResourceG
282282
const letter = r.decorations && r.decorations.letter || undefined;
283283
const color = r.decorations && r.decorations.color || undefined;
284284

285-
const rawResource = [handle, sourceUri, icons, tooltip, strikeThrough, faded, source, letter, color] as SCMRawResource;
285+
const rawResource = [handle, <UriComponents>sourceUri, icons, tooltip, strikeThrough, faded, source, letter, color] as SCMRawResource;
286286

287287
return { rawResource, handle };
288288
});
@@ -406,7 +406,7 @@ class ExtHostSourceControl implements vscode.SourceControl {
406406
private _rootUri?: vscode.Uri
407407
) {
408408
this._inputBox = new ExtHostSCMInputBox(_extension, this._proxy, this.handle);
409-
this._proxy.$registerSourceControl(this.handle, _id, _label, _rootUri && _rootUri.toString());
409+
this._proxy.$registerSourceControl(this.handle, _id, _label, _rootUri);
410410
}
411411

412412
private updatedResourceGroups = new Set<ExtHostSourceControlResourceGroup>();
@@ -542,17 +542,17 @@ export class ExtHostSCM implements ExtHostSCMShape {
542542
return inputBox;
543543
}
544544

545-
$provideOriginalResource(sourceControlHandle: number, uriString: string): TPromise<string> {
546-
this.logService.trace('ExtHostSCM#$provideOriginalResource', sourceControlHandle, uriString);
545+
$provideOriginalResource(sourceControlHandle: number, uriComponents: UriComponents): TPromise<UriComponents> {
546+
const uri = URI.revive(uriComponents);
547+
this.logService.trace('ExtHostSCM#$provideOriginalResource', sourceControlHandle, uri.toString());
547548

548549
const sourceControl = this._sourceControls.get(sourceControlHandle);
549550

550551
if (!sourceControl || !sourceControl.quickDiffProvider) {
551552
return TPromise.as(null);
552553
}
553554

554-
return asWinJsPromise(token => sourceControl.quickDiffProvider.provideOriginalResource(URI.parse(uriString), token))
555-
.then(result => result && result.toString());
555+
return asWinJsPromise(token => sourceControl.quickDiffProvider.provideOriginalResource(uri, token));
556556
}
557557

558558
$onInputBoxValueChange(sourceControlHandle: number, value: string): TPromise<void> {

0 commit comments

Comments
 (0)