🐛 split git open file/changes into two sets of commands

fixes #23729
This commit is contained in:
Joao Moreno
2017-03-31 11:08:46 +02:00
parent 8ef40c6b23
commit 8d01db6d53
2 changed files with 56 additions and 8 deletions

View File

@@ -261,10 +261,32 @@ export class CommandCenter {
return await this._openResource(resource);
}
@command('git.openFileFromUri')
async openFileFromUri(uri?: Uri): Promise<void> {
const resource = this.getSCMResource(uri);
if (!resource) {
return;
}
return await commands.executeCommand<void>('vscode.open', resource.resourceUri);
}
@command('git.openChangeFromUri')
async openChangeFromUri(uri?: Uri): Promise<void> {
const resource = this.getSCMResource(uri);
if (!resource) {
return;
}
return await this._openResource(resource);
}
@command('git.stage')
async stage(...resourceStates: SourceControlResourceState[]): Promise<void> {
if (resourceStates.length === 0) {
const resource = this.getActiveEditorSCMResource();
const resource = this.getSCMResource();
if (!resource) {
return;
@@ -370,7 +392,7 @@ export class CommandCenter {
@command('git.unstage')
async unstage(...resourceStates: SourceControlResourceState[]): Promise<void> {
if (resourceStates.length === 0) {
const resource = this.getActiveEditorSCMResource();
const resource = this.getSCMResource();
if (!resource) {
return;
@@ -438,7 +460,7 @@ export class CommandCenter {
@command('git.clean')
async clean(...resourceStates: SourceControlResourceState[]): Promise<void> {
if (resourceStates.length === 0) {
const resource = this.getActiveEditorSCMResource();
const resource = this.getSCMResource();
if (!resource) {
return;
@@ -791,8 +813,8 @@ export class CommandCenter {
return result;
}
private getActiveEditorSCMResource(): Resource | undefined {
let uri = window.activeTextEditor && window.activeTextEditor.document.uri;
private getSCMResource(uri?: Uri): Resource | undefined {
uri = uri ? uri : window.activeTextEditor && window.activeTextEditor.document.uri;
if (!uri) {
return undefined;