소스 검색

Adds QuickPickItemPlus

main
Eric Amodio 5 년 전
부모
커밋
8dd8c884b5
6개의 변경된 파일27개의 추가작업 그리고 29개의 파일을 삭제
  1. +2
    -3
      src/commands/git/fetch.ts
  2. +2
    -2
      src/commands/git/merge.ts
  3. +2
    -3
      src/commands/git/pull.ts
  4. +2
    -2
      src/commands/git/rebase.ts
  5. +10
    -8
      src/commands/git/stash.ts
  6. +9
    -11
      src/quickpicks/gitQuickPicks.ts

+ 2
- 3
src/commands/git/fetch.ts 파일 보기

@ -1,9 +1,8 @@
'use strict';
import { QuickPickItem } from 'vscode';
import { Container } from '../../container';
import { Repository } from '../../git/gitService';
import { QuickCommandBase, QuickInputStep, QuickPickStep, StepState } from '../quickCommand';
import { RepositoryQuickPickItem } from '../../quickpicks';
import { QuickPickItemPlus, RepositoryQuickPickItem } from '../../quickpicks';
import { Strings } from '../../system';
import { GlyphChars } from '../../constants';
import { Logger } from '../../logger';
@ -99,7 +98,7 @@ export class FetchGitCommand extends QuickCommandBase {
state.flags = [];
}
else {
const step = this.createConfirmStep<QuickPickItem & { item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]>>(
`Confirm ${this.title}${Strings.pad(GlyphChars.Dot, 2, 2)}${
state.repos.length === 1
? state.repos[0].formattedName

+ 2
- 2
src/commands/git/merge.ts 파일 보기

@ -1,5 +1,4 @@
'use strict';
import { QuickPickItem } from 'vscode';
import { Container } from '../../container';
import { GitBranch, GitTag, Repository } from '../../git/gitService';
import { GlyphChars } from '../../constants';
@ -8,6 +7,7 @@ import {
BranchQuickPickItem,
Directive,
DirectiveQuickPickItem,
QuickPickItemPlus,
RepositoryQuickPickItem,
TagQuickPickItem
} from '../../quickpicks';
@ -119,7 +119,7 @@ export class MergeGitCommand extends QuickCommandBase {
break;
}
const step = this.createConfirmStep<QuickPickItem & { item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]>>(
`Confirm ${this.title}${Strings.pad(GlyphChars.Dot, 2, 2)}${state.repo.formattedName}`,
[
{

+ 2
- 3
src/commands/git/pull.ts 파일 보기

@ -1,9 +1,8 @@
'use strict';
import { QuickPickItem } from 'vscode';
import { Container } from '../../container';
import { Repository } from '../../git/gitService';
import { QuickCommandBase, QuickInputStep, QuickPickStep, StepState } from '../quickCommand';
import { RepositoryQuickPickItem } from '../../quickpicks';
import { QuickPickItemPlus, RepositoryQuickPickItem } from '../../quickpicks';
import { Strings } from '../../system';
import { GlyphChars } from '../../constants';
import { Logger } from '../../logger';
@ -92,7 +91,7 @@ export class PullGitCommand extends QuickCommandBase {
}
}
const step = this.createConfirmStep<QuickPickItem & { item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]>>(
`Confirm ${this.title}${Strings.pad(GlyphChars.Dot, 2, 2)}${
state.repos.length === 1 ? state.repos[0].formattedName : `${state.repos.length} repositories`
}`,

+ 2
- 2
src/commands/git/rebase.ts 파일 보기

@ -1,5 +1,4 @@
'use strict';
import { QuickPickItem } from 'vscode';
import { Container } from '../../container';
import { GitBranch, GitTag, Repository } from '../../git/gitService';
import { GlyphChars } from '../../constants';
@ -8,6 +7,7 @@ import {
BranchQuickPickItem,
Directive,
DirectiveQuickPickItem,
QuickPickItemPlus,
RepositoryQuickPickItem,
TagQuickPickItem
} from '../../quickpicks';
@ -119,7 +119,7 @@ export class RebaseGitCommand extends QuickCommandBase {
break;
}
const step = this.createConfirmStep<QuickPickItem & { item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]>>(
`Confirm ${this.title}${Strings.pad(GlyphChars.Dot, 2, 2)}${state.repo.formattedName}`,
[
{

+ 10
- 8
src/commands/git/stash.ts 파일 보기

@ -3,7 +3,13 @@ import { QuickPickItem, Uri, window } from 'vscode';
import { Container } from '../../container';
import { GitStashCommit, GitUri, Repository } from '../../git/gitService';
import { BreakQuickCommand, QuickCommandBase, QuickInputStep, QuickPickStep, StepState } from '../quickCommand';
import { CommitQuickPickItem, Directive, DirectiveQuickPickItem, RepositoryQuickPickItem } from '../../quickpicks';
import {
CommitQuickPickItem,
Directive,
DirectiveQuickPickItem,
QuickPickItemPlus,
RepositoryQuickPickItem
} from '../../quickpicks';
import { Iterables, Strings } from '../../system';
import { GlyphChars } from '../../constants';
import { Logger } from '../../logger';
@ -41,10 +47,6 @@ interface PushState {
type State = ApplyState | DropState | PopState | PushState;
type StashStepState<T> = Partial<T> & { counter: number; repo: Repository; skipConfirmation?: boolean };
interface StashSubcommandQuickPickItem extends QuickPickItem {
item: State['subcommand'];
}
export interface CommandArgs {
readonly command: 'stash';
state?: Partial<State>;
@ -105,7 +107,7 @@ export class StashGitCommand extends QuickCommandBase {
while (true) {
try {
if (state.subcommand === undefined || state.counter < 1) {
const step = this.createPickStep<StashSubcommandQuickPickItem>({
const step = this.createPickStep<QuickPickItemPlus<State['subcommand']>>({
title: this.title,
placeholder: `Choose a ${this.label} command`,
items: [
@ -296,7 +298,7 @@ export class StashGitCommand extends QuickCommandBase {
? `${state.stash.message.substring(0, 80)}${GlyphChars.Ellipsis}`
: state.stash.message;
const step = this.createConfirmStep<QuickPickItem & { command: 'apply' | 'pop'; item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]> & { command: 'apply' | 'pop' }>(
`Confirm ${this.title} ${state.subcommand}${Strings.pad(GlyphChars.Dot, 2, 2)}${
state.repo.formattedName
}`,
@ -450,7 +452,7 @@ export class StashGitCommand extends QuickCommandBase {
state.flags = [];
}
else {
const step = this.createConfirmStep<QuickPickItem & { item: string[] }>(
const step = this.createConfirmStep<QuickPickItemPlus<string[]>>(
`Confirm ${this.title} ${state.subcommand}${Strings.pad(GlyphChars.Dot, 2, 2)}${
state.repo.formattedName
}`,

+ 9
- 11
src/quickpicks/gitQuickPicks.ts 파일 보기

@ -14,6 +14,10 @@ import {
} from '../git/gitService';
import { emojify } from '../emojis';
export interface QuickPickItemPlus<T> extends QuickPickItem {
readonly item: T;
}
export enum Directive {
Back = 'Back',
Cancel = 'Cancel'
@ -45,8 +49,7 @@ export namespace DirectiveQuickPickItem {
}
}
export interface BranchQuickPickItem extends QuickPickItem {
readonly item: GitBranch;
export interface BranchQuickPickItem extends QuickPickItemPlus<GitBranch> {
readonly current: boolean;
readonly ref: string;
readonly remote: boolean;
@ -143,9 +146,7 @@ export namespace BranchQuickPickItem {
}
}
export interface CommitQuickPickItem<T extends GitLogCommit = GitLogCommit> extends QuickPickItem {
readonly item: T;
}
export interface CommitQuickPickItem<T extends GitLogCommit = GitLogCommit> extends QuickPickItemPlus<T> {}
export namespace CommitQuickPickItem {
export function create<T extends GitLogCommit = GitLogCommit>(
@ -200,8 +201,7 @@ export namespace CommitQuickPickItem {
}
}
export interface RefQuickPickItem extends QuickPickItem {
readonly item: GitReference;
export interface RefQuickPickItem extends QuickPickItemPlus<GitReference> {
readonly current: boolean;
readonly ref: string;
readonly remote: boolean;
@ -223,8 +223,7 @@ export namespace RefQuickPickItem {
}
}
export interface RepositoryQuickPickItem extends QuickPickItem {
readonly item: Repository;
export interface RepositoryQuickPickItem extends QuickPickItemPlus<Repository> {
readonly repoPath: string;
}
@ -285,8 +284,7 @@ export namespace RepositoryQuickPickItem {
}
}
export interface TagQuickPickItem extends QuickPickItem {
readonly item: GitTag;
export interface TagQuickPickItem extends QuickPickItemPlus<GitTag> {
readonly current: boolean;
readonly ref: string;
readonly remote: boolean;

||||||
x
 
000:0
불러오는 중...
취소
저장