Unifies file status model

This commit is contained in:
Eric Amodio
2017-03-28 10:01:34 -04:00
parent d0b4c2fd5c
commit 296e562d9f
6 changed files with 26 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
'use strict';
import { QuickPickItem, Uri } from 'vscode';
import { getGitStatusIcon, Git, GitCommit, GitStatusFileStatus, GitService, GitUri, IGitLogFileStatusEntry } from '../gitService';
import { getGitStatusIcon, Git, GitCommit, GitStatusFileStatus, GitService, GitUri, IGitStatusFile } from '../gitService';
import { OpenFileCommandQuickPickItem } from './quickPicks';
import * as moment from 'moment';
import * as path from 'path';
@@ -26,7 +26,7 @@ export class CommitWithFileStatusQuickPickItem extends OpenFileCommandQuickPickI
shortSha: string;
status: GitStatusFileStatus;
constructor(commit: GitCommit, status: IGitLogFileStatusEntry) {
constructor(commit: GitCommit, status: IGitStatusFile) {
const icon = getGitStatusIcon(status.status);
let directory = Git.normalizePath(path.dirname(status.fileName));

View File

@@ -9,7 +9,6 @@ import * as path from 'path';
export class OpenStatusFileCommandQuickPickItem extends OpenFileCommandQuickPickItem {
constructor(status: GitStatusFile, item?: QuickPickItem) {
const uri = Uri.file(path.resolve(status.repoPath, status.fileName));
const icon = status.getIcon();
let directory = Git.normalizePath(path.dirname(status.fileName));
@@ -21,7 +20,7 @@ export class OpenStatusFileCommandQuickPickItem extends OpenFileCommandQuickPick
? `${directory || ''} \u00a0\u2190\u00a0 ${status.originalFileName}`
: directory;
super(uri, item || {
super(status.Uri, item || {
label: `${status.staged ? '$(check)' : '\u00a0\u00a0\u00a0'}\u00a0\u00a0${icon}\u00a0\u00a0\u00a0${path.basename(status.fileName)}`,
description: description
});
@@ -31,8 +30,7 @@ export class OpenStatusFileCommandQuickPickItem extends OpenFileCommandQuickPick
export class OpenStatusFilesCommandQuickPickItem extends CommandQuickPickItem {
constructor(statuses: GitStatusFile[], item?: QuickPickItem) {
const repoPath = statuses.length && statuses[0].repoPath;
const uris = statuses.map(_ => Uri.file(path.resolve(repoPath, _.fileName)));
const uris = statuses.map(_ => _.Uri);
super(item || {
label: `$(file-symlink-file) Open Changed Files`,