Merge branch 'newAutoRepositoryDetection' of https://github.com/BattleBas/vscode into BattleBas-newAutoRepositoryDetection

This commit is contained in:
Joao Moreno
2017-12-11 17:42:25 +01:00
3 changed files with 20 additions and 1 deletions
+5
View File
@@ -828,6 +828,11 @@
"default": null,
"isExecutable": true
},
"git.autoRepositoryDetection": {
"type": "boolean",
"description": "%config.autoRepositoryDetection%",
"default": true
},
"git.autorefresh": {
"type": "boolean",
"description": "%config.autorefresh%",
+1
View File
@@ -49,6 +49,7 @@
"command.stashPopLatest": "Pop Latest Stash",
"config.enabled": "Whether git is enabled",
"config.path": "Path to the git executable",
"config.autoRepositoryDetection": "Whether a repository should be automatically detected for a single file",
"config.autorefresh": "Whether auto refreshing is enabled",
"config.autofetch": "Whether auto fetching is enabled",
"config.enableLongCommitWarning": "Whether long commit messages should be warned about",
+14 -1
View File
@@ -904,9 +904,18 @@ export class Repository implements Disposable {
const index: Resource[] = [];
const workingTree: Resource[] = [];
const merge: Resource[] = [];
const repoDetection = config.get<boolean>('autoRepositoryDetection') === true;
status.forEach(raw => {
const uri = Uri.file(path.join(this.repository.root, raw.path));
const fullFilePath = path.join(this.repository.root, raw.path);
if (!repoDetection && workspace.workspaceFolders === undefined) {
if (!this.detectActiveFile(fullFilePath)) {
return;
}
}
const uri = Uri.file(fullFilePath);
const renameUri = raw.rename ? Uri.file(path.join(this.repository.root, raw.rename)) : undefined;
switch (raw.x + raw.y) {
@@ -964,6 +973,10 @@ export class Repository implements Disposable {
this._onDidChangeStatus.fire();
}
private detectActiveFile(fullFilePath: string): boolean | undefined {
return window.activeTextEditor && window.activeTextEditor.document.fileName === fullFilePath;
}
private onFSChange(uri: Uri): void {
const config = workspace.getConfiguration('git');
const autorefresh = config.get<boolean>('autorefresh');