Browse Source

Reworks imports for commands and constants

Avoids circular imports
main
Eric Amodio 3 years ago
parent
commit
0a6c6cc966
121 changed files with 996 additions and 943 deletions
  1. +2
    -1
      src/annotations/annotationProvider.ts
  2. +2
    -2
      src/annotations/fileAnnotationController.ts
  3. +2
    -2
      src/api/actionRunners.ts
  4. +2
    -1
      src/codelens/codeLensController.ts
  5. +15
    -17
      src/codelens/codeLensProvider.ts
  6. +0
    -7
      src/commands.ts
  7. +4
    -3
      src/commands/addAuthors.ts
  8. +2
    -223
      src/commands/base.ts
  9. +3
    -2
      src/commands/browseRepoAtRevision.ts
  10. +3
    -2
      src/commands/closeUnchangedFiles.ts
  11. +3
    -2
      src/commands/closeView.ts
  12. +2
    -1
      src/commands/compareWith.ts
  13. +2
    -1
      src/commands/copyCurrentBranch.ts
  14. +2
    -2
      src/commands/copyMessageToClipboard.ts
  15. +2
    -2
      src/commands/copyShaToClipboard.ts
  16. +3
    -1
      src/commands/createPullRequestOnRemote.ts
  17. +3
    -1
      src/commands/diffLineWithPrevious.ts
  18. +3
    -1
      src/commands/diffLineWithWorking.ts
  19. +3
    -2
      src/commands/diffWith.ts
  20. +3
    -1
      src/commands/diffWithNext.ts
  21. +3
    -1
      src/commands/diffWithPrevious.ts
  22. +3
    -2
      src/commands/diffWithRevision.ts
  23. +3
    -2
      src/commands/diffWithRevisionFrom.ts
  24. +3
    -1
      src/commands/diffWithWorking.ts
  25. +2
    -2
      src/commands/externalDiff.ts
  26. +1
    -1
      src/commands/git/coauthors.ts
  27. +2
    -1
      src/commands/git/stash.ts
  28. +3
    -4
      src/commands/gitCommands.actions.ts
  29. +2
    -3
      src/commands/gitCommands.ts
  30. +2
    -1
      src/commands/inviteToLiveShare.ts
  31. +2
    -1
      src/commands/logging.ts
  32. +3
    -1
      src/commands/openAssociatedPullRequestOnRemote.ts
  33. +3
    -9
      src/commands/openBranchOnRemote.ts
  34. +3
    -9
      src/commands/openBranchesOnRemote.ts
  35. +2
    -1
      src/commands/openChangedFiles.ts
  36. +3
    -3
      src/commands/openCommitOnRemote.ts
  37. +3
    -1
      src/commands/openComparisonOnRemote.ts
  38. +3
    -9
      src/commands/openDirectoryCompare.ts
  39. +3
    -3
      src/commands/openFileAtRevision.ts
  40. +3
    -3
      src/commands/openFileAtRevisionFrom.ts
  41. +2
    -1
      src/commands/openFileFromRemote.ts
  42. +3
    -4
      src/commands/openFileOnRemote.ts
  43. +2
    -1
      src/commands/openIssueOnRemote.ts
  44. +2
    -2
      src/commands/openOnRemote.ts
  45. +2
    -1
      src/commands/openPullRequestOnRemote.ts
  46. +3
    -9
      src/commands/openRepoOnRemote.ts
  47. +3
    -2
      src/commands/openRevisionFile.ts
  48. +2
    -1
      src/commands/openWorkingFile.ts
  49. +1
    -2
      src/commands/quickCommand.steps.ts
  50. +2
    -1
      src/commands/rebaseEditor.ts
  51. +3
    -2
      src/commands/refreshHover.ts
  52. +2
    -1
      src/commands/remoteProviders.ts
  53. +3
    -2
      src/commands/repositories.ts
  54. +2
    -1
      src/commands/resetAvatarCache.ts
  55. +2
    -1
      src/commands/resetSuppressedWarnings.ts
  56. +3
    -2
      src/commands/searchCommits.ts
  57. +3
    -2
      src/commands/setViewsLayout.ts
  58. +3
    -2
      src/commands/showCommitsInView.ts
  59. +2
    -1
      src/commands/showLastQuickPick.ts
  60. +3
    -2
      src/commands/showQuickBranchHistory.ts
  61. +3
    -3
      src/commands/showQuickCommit.ts
  62. +3
    -3
      src/commands/showQuickCommitFile.ts
  63. +3
    -2
      src/commands/showQuickFileHistory.ts
  64. +3
    -2
      src/commands/showQuickRepoStatus.ts
  65. +3
    -2
      src/commands/showQuickStashList.ts
  66. +4
    -2
      src/commands/showView.ts
  67. +3
    -3
      src/commands/stashApply.ts
  68. +3
    -3
      src/commands/stashSave.ts
  69. +2
    -1
      src/commands/switchMode.ts
  70. +2
    -1
      src/commands/toggleCodeLens.ts
  71. +2
    -1
      src/commands/toggleFileAnnotations.ts
  72. +2
    -1
      src/commands/toggleLineBlame.ts
  73. +191
    -0
      src/constants.ts
  74. +3
    -1
      src/container.ts
  75. +1
    -27
      src/context.ts
  76. +5
    -3
      src/extension.ts
  77. +2
    -3
      src/git/formatters/commitFormatter.ts
  78. +2
    -2
      src/git/gitProviderService.ts
  79. +1
    -1
      src/git/models/repository.ts
  80. +2
    -1
      src/keyboard.ts
  81. +3
    -2
      src/partners.ts
  82. +3
    -2
      src/quickpicks/commitQuickPickItems.ts
  83. +2
    -2
      src/quickpicks/gitQuickPickItems.ts
  84. +1
    -1
      src/quickpicks/quickPicksItems.ts
  85. +1
    -1
      src/quickpicks/referencePicker.ts
  86. +2
    -2
      src/quickpicks/remoteProviderPicker.ts
  87. +5
    -4
      src/statusbar/statusBarController.ts
  88. +64
    -0
      src/system/command.ts
  89. +1
    -1
      src/system/utils.ts
  90. +2
    -2
      src/terminal/linkProvider.ts
  91. +2
    -1
      src/trackers/documentTracker.ts
  92. +2
    -1
      src/trackers/trackedDocument.ts
  93. +2
    -1
      src/views/branchesView.ts
  94. +3
    -3
      src/views/commitsView.ts
  95. +2
    -1
      src/views/contributorsView.ts
  96. +3
    -2
      src/views/fileHistoryView.ts
  97. +3
    -2
      src/views/lineHistoryView.ts
  98. +2
    -1
      src/views/nodes/commitFileNode.ts
  99. +2
    -2
      src/views/nodes/commitNode.ts
  100. +2
    -2
      src/views/nodes/fileHistoryTrackerNode.ts

+ 2
- 1
src/annotations/annotationProvider.ts View File

@ -10,7 +10,8 @@ import {
window,
} from 'vscode';
import { FileAnnotationType } from '../configuration';
import { ContextKeys, setContext } from '../context';
import { ContextKeys } from '../constants';
import { setContext } from '../context';
import { Logger } from '../logger';
import { GitDocumentState, TrackedDocument } from '../trackers/gitDocumentTracker';

+ 2
- 2
src/annotations/fileAnnotationController.ts View File

@ -23,9 +23,9 @@ import {
configuration,
FileAnnotationType,
} from '../configuration';
import { Colors } from '../constants';
import { Colors, ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { KeyboardScope } from '../keyboard';
import { Logger } from '../logger';
import { once } from '../system/event';

+ 2
- 2
src/api/actionRunners.ts View File

@ -1,8 +1,8 @@
import { commands, Disposable, Event, EventEmitter, QuickPickItem, window } from 'vscode';
import { Commands } from '../commands/common';
import { Config, configuration } from '../configuration';
import { Commands, ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { getQuickPickIgnoreFocusOut } from '../quickpicks';
import { Strings } from '../system';
import type { Action, ActionContext, ActionRunner } from './gitlens';

+ 2
- 1
src/codelens/codeLensController.ts View File

@ -1,7 +1,8 @@
import { ConfigurationChangeEvent, Disposable, languages } from 'vscode';
import { configuration } from '../configuration';
import { ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { Logger } from '../logger';
import { once } from '../system/event';
import {

+ 15
- 17
src/codelens/codeLensProvider.ts View File

@ -15,11 +15,8 @@ import {
TextDocument,
Uri,
} from 'vscode';
import {
command,
Commands,
import type {
DiffWithPreviousCommandArgs,
executeCoreCommand,
OpenOnRemoteCommandArgs,
ShowCommitsInViewCommandArgs,
ShowQuickCommitCommandArgs,
@ -35,12 +32,13 @@ import {
configuration,
FileAnnotationType,
} from '../configuration';
import { CoreCommands, Schemes } from '../constants';
import { Commands, CoreCommands, Schemes } from '../constants';
import { Container } from '../container';
import type { GitUri } from '../git/gitUri';
import { GitBlame, GitBlameLines, GitCommit } from '../git/models';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { asCommand, executeCoreCommand } from '../system/command';
import { is, once } from '../system/function';
import { filterMap, find, first, join, map } from '../system/iterable';
@ -633,7 +631,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
lens: T,
commit: GitCommit | undefined,
): T {
lens.command = command<[undefined, DiffWithPreviousCommandArgs]>({
lens.command = asCommand<[undefined, DiffWithPreviousCommandArgs]>({
title: title,
command: Commands.DiffWithPrevious,
arguments: [
@ -653,7 +651,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
commit: GitCommit,
clipboard: boolean = false,
): T {
lens.command = command<[OpenOnRemoteCommandArgs]>({
lens.command = asCommand<[OpenOnRemoteCommandArgs]>({
title: title,
command: Commands.OpenOnRemote,
arguments: [
@ -676,7 +674,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
commit: GitCommit,
clipboard: boolean = false,
): T {
lens.command = command<[OpenOnRemoteCommandArgs]>({
lens.command = asCommand<[OpenOnRemoteCommandArgs]>({
title: title,
command: Commands.OpenOnRemote,
arguments: [
@ -699,7 +697,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
lens: T,
commit: GitCommit | undefined,
): T {
lens.command = command<[Uri, ShowQuickCommitCommandArgs]>({
lens.command = asCommand<[Uri, ShowQuickCommitCommandArgs]>({
title: title,
command: commit?.isUncommitted ? '' : CodeLensCommand.RevealCommitInView,
arguments: [
@ -726,7 +724,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
refs = [commit.ref];
}
lens.command = command<[ShowCommitsInViewCommandArgs]>({
lens.command = asCommand<[ShowCommitsInViewCommandArgs]>({
title: title,
command: refs.length === 0 ? '' : Commands.ShowCommitsInView,
arguments: [
@ -744,7 +742,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
lens: T,
commit: GitCommit | undefined,
): T {
lens.command = command<[Uri, ShowQuickCommitCommandArgs]>({
lens.command = asCommand<[Uri, ShowQuickCommitCommandArgs]>({
title: title,
command: commit?.isUncommitted ? '' : CodeLensCommand.ShowQuickCommitDetails,
arguments: [
@ -763,7 +761,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
lens: T,
commit: GitCommit | undefined,
): T {
lens.command = command<[Uri, ShowQuickCommitFileCommandArgs]>({
lens.command = asCommand<[Uri, ShowQuickCommitFileCommandArgs]>({
title: title,
command: commit?.isUncommitted ? '' : CodeLensCommand.ShowQuickCommitFileDetails,
arguments: [
@ -781,7 +779,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
title: string,
lens: T,
): T {
lens.command = command<[Uri]>({
lens.command = asCommand<[Uri]>({
title: title,
command: CodeLensCommand.ShowQuickCurrentBranchHistory,
arguments: [lens.uri!.toFileUri()],
@ -793,7 +791,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
title: string,
lens: T,
): T {
lens.command = command<[Uri, ShowQuickFileHistoryCommandArgs]>({
lens.command = asCommand<[Uri, ShowQuickFileHistoryCommandArgs]>({
title: title,
command: CodeLensCommand.ShowQuickFileHistory,
arguments: [
@ -810,7 +808,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
title: string,
lens: T,
): T {
lens.command = command<[Uri]>({
lens.command = asCommand<[Uri]>({
title: title,
command: Commands.ToggleFileBlame,
arguments: [lens.uri!.toFileUri()],
@ -824,7 +822,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
commit: GitCommit,
only?: boolean,
): T {
lens.command = command<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
lens.command = asCommand<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
title: title,
command: Commands.ToggleFileChanges,
arguments: [
@ -842,7 +840,7 @@ export class GitCodeLensProvider implements CodeLensProvider {
title: string,
lens: T,
): T {
lens.command = command<[Uri]>({
lens.command = asCommand<[Uri]>({
title: title,
command: Commands.ToggleFileHeatmap,
arguments: [lens.uri!.toFileUri()],

+ 0
- 7
src/commands.ts View File

@ -1,14 +1,7 @@
import { Command } from 'vscode';
export function command<T extends unknown[]>(command: Omit<Command, 'arguments'> & { arguments: [...T] }): Command {
return command;
}
export * from './commands/addAuthors';
export * from './commands/browseRepoAtRevision';
export * from './commands/closeUnchangedFiles';
export * from './commands/closeView';
export * from './commands/common';
export * from './commands/compareWith';
export * from './commands/copyCurrentBranch';
export * from './commands/copyMessageToClipboard';

+ 4
- 3
src/commands/addAuthors.ts View File

@ -1,7 +1,8 @@
import { SourceControl } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { executeGitCommand } from './gitCommands';
import { command, Command } from './base';
import { executeGitCommand } from './gitCommands.actions';
@command()
export class AddAuthorsCommand extends Command {
@ -9,7 +10,7 @@ export class AddAuthorsCommand extends Command {
super(Commands.AddAuthors);
}
async execute(sourceControl: SourceControl) {
execute(sourceControl: SourceControl) {
let repo;
if (sourceControl?.rootUri != null) {
repo = this.container.git.getRepository(sourceControl.rootUri);

src/commands/common.ts → src/commands/base.ts View File

@ -10,8 +10,8 @@ import {
Uri,
window,
} from 'vscode';
import type { Action, ActionContext } from '../api/gitlens';
import { CoreCommands, CoreGitCommands } from '../constants';
import type { ActionContext } from '../api/gitlens';
import { Commands } from '../constants';
import { Container } from '../container';
import {
GitBranch,
@ -26,227 +26,6 @@ import {
} from '../git/models';
import { ViewNode, ViewRefNode } from '../views/nodes';
export const enum Commands {
ActionPrefix = 'gitlens.action.',
AddAuthors = 'gitlens.addAuthors',
BrowseRepoAtRevision = 'gitlens.browseRepoAtRevision',
BrowseRepoAtRevisionInNewWindow = 'gitlens.browseRepoAtRevisionInNewWindow',
BrowseRepoBeforeRevision = 'gitlens.browseRepoBeforeRevision',
BrowseRepoBeforeRevisionInNewWindow = 'gitlens.browseRepoBeforeRevisionInNewWindow',
ClearFileAnnotations = 'gitlens.clearFileAnnotations',
CloseUnchangedFiles = 'gitlens.closeUnchangedFiles',
CloseWelcomeView = 'gitlens.closeWelcomeView',
CompareWith = 'gitlens.compareWith',
CompareHeadWith = 'gitlens.compareHeadWith',
CompareWorkingWith = 'gitlens.compareWorkingWith',
ComputingFileAnnotations = 'gitlens.computingFileAnnotations',
ConnectRemoteProvider = 'gitlens.connectRemoteProvider',
CopyCurrentBranch = 'gitlens.copyCurrentBranch',
CopyMessageToClipboard = 'gitlens.copyMessageToClipboard',
CopyRemoteBranchesUrl = 'gitlens.copyRemoteBranchesUrl',
CopyRemoteBranchUrl = 'gitlens.copyRemoteBranchUrl',
CopyRemoteCommitUrl = 'gitlens.copyRemoteCommitUrl',
CopyRemoteComparisonUrl = 'gitlens.copyRemoteComparisonUrl',
CopyRemoteFileUrl = 'gitlens.copyRemoteFileUrlToClipboard',
CopyRemoteFileUrlWithoutRange = 'gitlens.copyRemoteFileUrlWithoutRange',
CopyRemoteFileUrlFrom = 'gitlens.copyRemoteFileUrlFrom',
CopyRemoteIssueUrl = 'gitlens.copyRemoteIssueUrl',
CopyRemotePullRequestUrl = 'gitlens.copyRemotePullRequestUrl',
CopyRemoteRepositoryUrl = 'gitlens.copyRemoteRepositoryUrl',
CopyShaToClipboard = 'gitlens.copyShaToClipboard',
CreatePullRequestOnRemote = 'gitlens.createPullRequestOnRemote',
DiffDirectory = 'gitlens.diffDirectory',
DiffDirectoryWithHead = 'gitlens.diffDirectoryWithHead',
DiffWith = 'gitlens.diffWith',
DiffWithNext = 'gitlens.diffWithNext',
DiffWithNextInDiffLeft = 'gitlens.diffWithNextInDiffLeft',
DiffWithNextInDiffRight = 'gitlens.diffWithNextInDiffRight',
DiffWithPrevious = 'gitlens.diffWithPrevious',
DiffWithPreviousInDiffLeft = 'gitlens.diffWithPreviousInDiffLeft',
DiffWithPreviousInDiffRight = 'gitlens.diffWithPreviousInDiffRight',
DiffLineWithPrevious = 'gitlens.diffLineWithPrevious',
DiffWithRevision = 'gitlens.diffWithRevision',
DiffWithRevisionFrom = 'gitlens.diffWithRevisionFrom',
DiffWithWorking = 'gitlens.diffWithWorking',
DiffWithWorkingInDiffLeft = 'gitlens.diffWithWorkingInDiffLeft',
DiffWithWorkingInDiffRight = 'gitlens.diffWithWorkingInDiffRight',
DiffLineWithWorking = 'gitlens.diffLineWithWorking',
DisconnectRemoteProvider = 'gitlens.disconnectRemoteProvider',
DisableDebugLogging = 'gitlens.disableDebugLogging',
EnableDebugLogging = 'gitlens.enableDebugLogging',
DisableRebaseEditor = 'gitlens.disableRebaseEditor',
EnableRebaseEditor = 'gitlens.enableRebaseEditor',
ExternalDiff = 'gitlens.externalDiff',
ExternalDiffAll = 'gitlens.externalDiffAll',
FetchRepositories = 'gitlens.fetchRepositories',
InviteToLiveShare = 'gitlens.inviteToLiveShare',
OpenBlamePriorToChange = 'gitlens.openBlamePriorToChange',
OpenBranchesOnRemote = 'gitlens.openBranchesOnRemote',
OpenBranchOnRemote = 'gitlens.openBranchOnRemote',
OpenChangedFiles = 'gitlens.openChangedFiles',
OpenCommitOnRemote = 'gitlens.openCommitOnRemote',
OpenComparisonOnRemote = 'gitlens.openComparisonOnRemote',
OpenFileHistory = 'gitlens.openFileHistory',
OpenFileFromRemote = 'gitlens.openFileFromRemote',
OpenFileOnRemote = 'gitlens.openFileOnRemote',
OpenFileOnRemoteFrom = 'gitlens.openFileOnRemoteFrom',
OpenFileAtRevision = 'gitlens.openFileRevision',
OpenFileAtRevisionFrom = 'gitlens.openFileRevisionFrom',
OpenFolderHistory = 'gitlens.openFolderHistory',
OpenOnRemote = 'gitlens.openOnRemote',
OpenIssueOnRemote = 'gitlens.openIssueOnRemote',
OpenPullRequestOnRemote = 'gitlens.openPullRequestOnRemote',
OpenAssociatedPullRequestOnRemote = 'gitlens.openAssociatedPullRequestOnRemote',
OpenRepoOnRemote = 'gitlens.openRepoOnRemote',
OpenRevisionFile = 'gitlens.openRevisionFile',
OpenRevisionFileInDiffLeft = 'gitlens.openRevisionFileInDiffLeft',
OpenRevisionFileInDiffRight = 'gitlens.openRevisionFileInDiffRight',
OpenWorkingFile = 'gitlens.openWorkingFile',
OpenWorkingFileInDiffLeft = 'gitlens.openWorkingFileInDiffLeft',
OpenWorkingFileInDiffRight = 'gitlens.openWorkingFileInDiffRight',
PullRepositories = 'gitlens.pullRepositories',
PushRepositories = 'gitlens.pushRepositories',
GitCommands = 'gitlens.gitCommands',
GitCommandsBranch = 'gitlens.gitCommands.branch',
GitCommandsCherryPick = 'gitlens.gitCommands.cherryPick',
GitCommandsMerge = 'gitlens.gitCommands.merge',
GitCommandsRebase = 'gitlens.gitCommands.rebase',
GitCommandsReset = 'gitlens.gitCommands.reset',
GitCommandsRevert = 'gitlens.gitCommands.revert',
GitCommandsSwitch = 'gitlens.gitCommands.switch',
GitCommandsTag = 'gitlens.gitCommands.tag',
QuickOpenFileHistory = 'gitlens.quickOpenFileHistory',
RefreshHover = 'gitlens.refreshHover',
ResetAvatarCache = 'gitlens.resetAvatarCache',
ResetSuppressedWarnings = 'gitlens.resetSuppressedWarnings',
RevealCommitInView = 'gitlens.revealCommitInView',
SearchCommits = 'gitlens.showCommitSearch',
SearchCommitsInView = 'gitlens.views.searchAndCompare.searchCommits',
SetViewsLayout = 'gitlens.setViewsLayout',
ShowBranchesView = 'gitlens.showBranchesView',
ShowCommitInView = 'gitlens.showCommitInView',
ShowCommitsInView = 'gitlens.showCommitsInView',
ShowCommitsView = 'gitlens.showCommitsView',
ShowContributorsView = 'gitlens.showContributorsView',
ShowFileHistoryView = 'gitlens.showFileHistoryView',
ShowLastQuickPick = 'gitlens.showLastQuickPick',
ShowLineHistoryView = 'gitlens.showLineHistoryView',
ShowQuickBranchHistory = 'gitlens.showQuickBranchHistory',
ShowQuickCommit = 'gitlens.showQuickCommitDetails',
ShowQuickCommitFile = 'gitlens.showQuickCommitFileDetails',
ShowQuickCurrentBranchHistory = 'gitlens.showQuickRepoHistory',
ShowQuickFileHistory = 'gitlens.showQuickFileHistory',
ShowQuickRepoStatus = 'gitlens.showQuickRepoStatus',
ShowQuickCommitRevision = 'gitlens.showQuickRevisionDetails',
ShowQuickCommitRevisionInDiffLeft = 'gitlens.showQuickRevisionDetailsInDiffLeft',
ShowQuickCommitRevisionInDiffRight = 'gitlens.showQuickRevisionDetailsInDiffRight',
ShowQuickStashList = 'gitlens.showQuickStashList',
ShowRemotesView = 'gitlens.showRemotesView',
ShowRepositoriesView = 'gitlens.showRepositoriesView',
ShowSearchAndCompareView = 'gitlens.showSearchAndCompareView',
ShowSettingsPage = 'gitlens.showSettingsPage',
ShowSettingsPageAndJumpToBranchesView = 'gitlens.showSettingsPage#branches-view',
ShowSettingsPageAndJumpToCommitsView = 'gitlens.showSettingsPage#commits-view',
ShowSettingsPageAndJumpToContributorsView = 'gitlens.showSettingsPage#contributors-view',
ShowSettingsPageAndJumpToFileHistoryView = 'gitlens.showSettingsPage#file-history-view',
ShowSettingsPageAndJumpToLineHistoryView = 'gitlens.showSettingsPage#line-history-view',
ShowSettingsPageAndJumpToRemotesView = 'gitlens.showSettingsPage#remotes-view',
ShowSettingsPageAndJumpToRepositoriesView = 'gitlens.showSettingsPage#repositories-view',
ShowSettingsPageAndJumpToSearchAndCompareView = 'gitlens.showSettingsPage#search-compare-view',
ShowSettingsPageAndJumpToStashesView = 'gitlens.showSettingsPage#stashes-view',
ShowSettingsPageAndJumpToTagsView = 'gitlens.showSettingsPage#tags-view',
ShowSettingsPageAndJumpToViews = 'gitlens.showSettingsPage#views',
ShowStashesView = 'gitlens.showStashesView',
ShowTagsView = 'gitlens.showTagsView',
ShowWelcomePage = 'gitlens.showWelcomePage',
ShowWelcomeView = 'gitlens.showWelcomeView',
StashApply = 'gitlens.stashApply',
StashSave = 'gitlens.stashSave',
StashSaveFiles = 'gitlens.stashSaveFiles',
SwitchMode = 'gitlens.switchMode',
ToggleCodeLens = 'gitlens.toggleCodeLens',
ToggleFileBlame = 'gitlens.toggleFileBlame',
ToggleFileBlameInDiffLeft = 'gitlens.toggleFileBlameInDiffLeft',
ToggleFileBlameInDiffRight = 'gitlens.toggleFileBlameInDiffRight',
ToggleFileChanges = 'gitlens.toggleFileChanges',
ToggleFileChangesOnly = 'gitlens.toggleFileChangesOnly',
ToggleFileHeatmap = 'gitlens.toggleFileHeatmap',
ToggleFileHeatmapInDiffLeft = 'gitlens.toggleFileHeatmapInDiffLeft',
ToggleFileHeatmapInDiffRight = 'gitlens.toggleFileHeatmapInDiffRight',
ToggleLineBlame = 'gitlens.toggleLineBlame',
ToggleReviewMode = 'gitlens.toggleReviewMode',
ToggleZenMode = 'gitlens.toggleZenMode',
ViewsCopy = 'gitlens.views.copy',
ViewsOpenDirectoryDiff = 'gitlens.views.openDirectoryDiff',
ViewsOpenDirectoryDiffWithWorking = 'gitlens.views.openDirectoryDiffWithWorking',
Deprecated_DiffHeadWith = 'gitlens.diffHeadWith',
Deprecated_DiffWorkingWith = 'gitlens.diffWorkingWith',
Deprecated_OpenBranchesInRemote = 'gitlens.openBranchesInRemote',
Deprecated_OpenBranchInRemote = 'gitlens.openBranchInRemote',
Deprecated_OpenCommitInRemote = 'gitlens.openCommitInRemote',
Deprecated_OpenFileInRemote = 'gitlens.openFileInRemote',
Deprecated_OpenInRemote = 'gitlens.openInRemote',
Deprecated_OpenRepoInRemote = 'gitlens.openRepoInRemote',
Deprecated_ShowFileHistoryInView = 'gitlens.showFileHistoryInView',
}
export function executeActionCommand<T extends ActionContext>(action: Action<T>, args: Omit<T, 'type'>) {
return commands.executeCommand(`${Commands.ActionPrefix}${action}`, { ...args, type: action });
}
export function getMarkdownActionCommand<T extends ActionContext>(action: Action<T>, args: Omit<T, 'type'>): string {
return Command.getMarkdownCommandArgsCore(`${Commands.ActionPrefix}${action}`, {
...args,
type: action,
});
}
type SupportedCommands = Commands | `gitlens.views.${string}.focus` | `gitlens.views.${string}.resetViewLocation`;
export function executeCommand<U = any>(command: SupportedCommands): Thenable<U>;
export function executeCommand<T = unknown, U = any>(command: SupportedCommands, arg: T): Thenable<U>;
export function executeCommand<T extends [...unknown[]] = [], U = any>(
command: SupportedCommands,
...args: T
): Thenable<U>;
export function executeCommand<T extends [...unknown[]] = [], U = any>(
command: SupportedCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, args);
}
export function executeCoreCommand<U = any>(command: CoreCommands): Thenable<U>;
export function executeCoreCommand<T = unknown, U = any>(command: CoreCommands, arg: T): Thenable<U>;
export function executeCoreCommand<T extends [...unknown[]] = [], U = any>(
command: CoreCommands,
...args: T
): Thenable<U>;
export function executeCoreCommand<T extends [...unknown[]] = [], U = any>(
command: CoreCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, ...args);
}
export function executeCoreGitCommand<U = any>(command: CoreGitCommands): Thenable<U>;
export function executeCoreGitCommand<T = unknown, U = any>(command: CoreGitCommands, arg: T): Thenable<U>;
export function executeCoreGitCommand<T extends [...unknown[]] = [], U = any>(
command: CoreGitCommands,
...args: T
): Thenable<U>;
export function executeCoreGitCommand<T extends [...unknown[]] = [], U = any>(
command: CoreGitCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, ...args);
}
export function executeEditorCommand<T>(command: Commands, uri: Uri | undefined, args: T) {
return commands.executeCommand(command, uri, args);
}
interface CommandConstructor {
new (container: Container): Command;
}

+ 3
- 2
src/commands/browseRepoAtRevision.ts View File

@ -1,12 +1,13 @@
import { TextEditor, Uri } from 'vscode';
import { CoreCommands } from '../constants';
import { Commands, CoreCommands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { executeCoreCommand } from '../system/command';
import { basename } from '../system/path';
import { openWorkspace, OpenWorkspaceLocation } from '../system/utils';
import { ActiveEditorCommand, command, CommandContext, Commands, executeCoreCommand, getCommandUri } from './common';
import { ActiveEditorCommand, command, CommandContext, getCommandUri } from './base';
export interface BrowseRepoAtRevisionCommandArgs {
uri?: Uri;

+ 3
- 2
src/commands/closeUnchangedFiles.ts View File

@ -1,12 +1,13 @@
import { TextEditor, Uri, window } from 'vscode';
import { TextEditorComparer, UriComparer } from '../comparers';
import { CoreCommands } from '../constants';
import { Commands, CoreCommands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { RepositoryPicker } from '../quickpicks';
import { executeCoreCommand } from '../system/command';
import { debounce } from '../system/function';
import { Command, command, Commands, executeCoreCommand } from './common';
import { Command, command } from './base';
export interface CloseUnchangedFilesCommandArgs {
uris?: Uri[];

+ 3
- 2
src/commands/closeView.ts View File

@ -1,7 +1,8 @@
import { Commands, ContextKeys } from '../constants';
import type { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { SyncedState } from '../storage';
import { command, Command, CommandContext, Commands } from './common';
import { command, Command, CommandContext } from './base';
@command()
export class CloseViewCommand extends Command {

+ 2
- 1
src/commands/compareWith.ts View File

@ -1,9 +1,10 @@
import { TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { RepositoryPicker } from '../quickpicks';
import { ActiveEditorCommand, command, CommandContext, Commands, getCommandUri } from './common';
import { ActiveEditorCommand, command, CommandContext, getCommandUri } from './base';
export interface CompareWithCommandArgs {
ref1?: string;

+ 2
- 1
src/commands/copyCurrentBranch.ts View File

@ -1,9 +1,10 @@
import { env, TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
import { RepositoryPicker } from '../quickpicks';
import { ActiveEditorCommand, command, Commands, getCommandUri } from './common';
import { ActiveEditorCommand, command, getCommandUri } from './base';
@command()
export class CopyCurrentBranchCommand extends ActiveEditorCommand {

+ 2
- 2
src/commands/copyMessageToClipboard.ts View File

@ -1,4 +1,5 @@
import { env, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
@ -8,12 +9,11 @@ import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
getCommandUri,
isCommandContextViewNodeHasBranch,
isCommandContextViewNodeHasCommit,
isCommandContextViewNodeHasTag,
} from './common';
} from './base';
import { GitActions } from './gitCommands.actions';
export interface CopyMessageToClipboardCommandArgs {

+ 2
- 2
src/commands/copyShaToClipboard.ts View File

@ -1,4 +1,5 @@
import { env, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
@ -8,12 +9,11 @@ import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
getCommandUri,
isCommandContextViewNodeHasBranch,
isCommandContextViewNodeHasCommit,
isCommandContextViewNodeHasTag,
} from './common';
} from './base';
export interface CopyShaToClipboardCommandArgs {
sha?: string;

+ 3
- 1
src/commands/createPullRequestOnRemote.ts View File

@ -1,7 +1,9 @@
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitRemote } from '../git/models';
import { RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider';
import { Command, command, Commands, executeCommand } from './common';
import { executeCommand } from '../system/command';
import { Command, command } from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface CreatePullRequestOnRemoteCommandArgs {

+ 3
- 1
src/commands/diffLineWithPrevious.ts View File

@ -1,10 +1,12 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffLineWithPreviousCommandArgs {

+ 3
- 1
src/commands/diffLineWithWorking.ts View File

@ -1,10 +1,12 @@
import { TextDocumentShowOptions, TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit, GitRevision } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffLineWithWorkingCommandArgs {

+ 3
- 2
src/commands/diffWith.ts View File

@ -1,11 +1,12 @@
import { Range, TextDocumentShowOptions, Uri, ViewColumn } from 'vscode';
import { CoreCommands, GlyphChars } from '../constants';
import { Commands, CoreCommands, GlyphChars } from '../constants';
import type { Container } from '../container';
import { GitCommit, GitRevision } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { executeCoreCommand } from '../system/command';
import { basename } from '../system/path';
import { command, Command, Commands, executeCoreCommand } from './common';
import { command, Command } from './base';
export interface DiffWithCommandArgsRevision {
sha: string;

+ 3
- 1
src/commands/diffWithNext.ts View File

@ -1,10 +1,12 @@
import { Range, TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ActiveEditorCommand, command, CommandContext, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, CommandContext, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffWithNextCommandArgs {

+ 3
- 1
src/commands/diffWithPrevious.ts View File

@ -1,11 +1,13 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit, GitRevision } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { executeCommand } from '../system/command';
import { findOrOpenEditor } from '../system/utils';
import { ActiveEditorCommand, command, CommandContext, Commands, executeCommand, getCommandUri } from './common';
import { ActiveEditorCommand, command, CommandContext, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffWithPreviousCommandArgs {

+ 3
- 2
src/commands/diffWithRevision.ts View File

@ -1,5 +1,5 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Commands, GlyphChars, quickPickTitleMaxChars } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
@ -7,7 +7,8 @@ import { Logger } from '../logger';
import { Messages } from '../messages';
import { CommandQuickPickItem, CommitPicker } from '../quickpicks';
import { Strings } from '../system';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
import { DiffWithRevisionFromCommandArgs } from './diffWithRevisionFrom';

+ 3
- 2
src/commands/diffWithRevisionFrom.ts View File

@ -1,13 +1,14 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Commands, GlyphChars, quickPickTitleMaxChars } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitReference, GitRevision } from '../git/models';
import { Messages } from '../messages';
import { ReferencePicker, StashPicker } from '../quickpicks';
import { Strings } from '../system';
import { executeCommand } from '../system/command';
import { basename } from '../system/path';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffWithRevisionFromCommandArgs {

+ 3
- 1
src/commands/diffWithWorking.ts View File

@ -1,10 +1,12 @@
import { TextDocumentShowOptions, TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { DiffWithCommandArgs } from './diffWith';
export interface DiffWithWorkingCommandArgs {

+ 2
- 2
src/commands/externalDiff.ts View File

@ -1,6 +1,7 @@
import { env, SourceControlResourceState, Uri, window } from 'vscode';
import { ScmResource } from '../@types/vscode.git.resources';
import { ScmResourceGroupType, ScmStatus } from '../@types/vscode.git.resources.enums';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
@ -12,10 +13,9 @@ import {
command,
Command,
CommandContext,
Commands,
isCommandContextViewNodeHasFileCommit,
isCommandContextViewNodeHasFileRefs,
} from './common';
} from './base';
interface ExternalDiffFile {
uri: Uri;

+ 1
- 1
src/commands/git/coauthors.ts View File

@ -1,9 +1,9 @@
import { CoreCommands } from '../../constants';
import { Container } from '../../container';
import { GitContributor, Repository } from '../../git/models';
import { executeCoreCommand } from '../../system/command';
import { normalizePath } from '../../system/path';
import { ViewsWithRepositoryFolders } from '../../views/viewBase';
import { executeCoreCommand } from '../common';
import {
PartialStepState,
pickContributorsStep,

+ 2
- 1
src/commands/git/stash.ts View File

@ -9,7 +9,8 @@ import { FlagsQuickPickItem, QuickPickItemOfT } from '../../quickpicks';
import { Strings } from '../../system';
import { formatPath } from '../../system/formatPath';
import { ViewsWithRepositoryFolders } from '../../views/viewBase';
import { GitActions, GitCommandsCommand } from '../gitCommands';
import { GitCommandsCommand } from '../gitCommands';
import { GitActions } from '../gitCommands.actions';
import {
appendReposToTitle,
AsyncStepResultGenerator,

+ 3
- 4
src/commands/gitCommands.actions.ts View File

@ -1,15 +1,13 @@
import { env, Range, TextDocumentShowOptions, Uri, window } from 'vscode';
import {
import type {
BrowseRepoAtRevisionCommandArgs,
Commands,
DiffWithCommandArgs,
DiffWithWorkingCommandArgs,
executeCommand,
executeEditorCommand,
GitCommandsCommandArgs,
OpenWorkingFileCommandArgs,
} from '../commands';
import { FileAnnotationType } from '../configuration';
import { Commands } from '../constants';
import { Container } from '../container';
import { GitUri } from '../git/gitUri';
import {
@ -26,6 +24,7 @@ import {
Repository,
} from '../git/models';
import { RepositoryPicker } from '../quickpicks';
import { executeCommand, executeEditorCommand } from '../system/command';
import { findOrOpenEditor, findOrOpenEditors } from '../system/utils';
import { ViewsWithRepositoryFolders } from '../views/viewBase';
import { ResetGitCommandArgs } from './git/reset';

+ 2
- 3
src/commands/gitCommands.ts View File

@ -1,12 +1,13 @@
import { Disposable, InputBox, QuickInputButton, QuickInputButtons, QuickPick, QuickPickItem, window } from 'vscode';
import { configuration, GitCommandSorting } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { KeyMapping } from '../keyboard';
import { Directive, DirectiveQuickPickItem } from '../quickpicks';
import { Usage, WorkspaceState } from '../storage';
import { log } from '../system/decorators/log';
import { isPromise } from '../system/promise';
import { command, Command, CommandContext, Commands } from './common';
import { command, Command, CommandContext } from './base';
import { BranchGitCommand, BranchGitCommandArgs } from './git/branch';
import { CherryPickGitCommand, CherryPickGitCommandArgs } from './git/cherry-pick';
import { CoAuthorsGitCommand, CoAuthorsGitCommandArgs } from './git/coauthors';
@ -35,8 +36,6 @@ import {
} from './quickCommand';
import { QuickCommandButtons, ToggleQuickInputButton } from './quickCommand.buttons';
export * from './gitCommands.actions';
const sanitizeLabel = /$.+?|\s/g;
const showLoadingSymbol = Symbol('ShowLoading');

+ 2
- 1
src/commands/inviteToLiveShare.ts View File

@ -1,5 +1,6 @@
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, CommandContext, Commands, isCommandContextViewNodeHasContributor } from './common';
import { command, Command, CommandContext, isCommandContextViewNodeHasContributor } from './base';
export interface InviteToLiveShareCommandArgs {
email?: string;

+ 2
- 1
src/commands/logging.ts View File

@ -1,6 +1,7 @@
import { configuration, OutputLevel } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class EnableDebugLoggingCommand extends Command {

+ 3
- 1
src/commands/openAssociatedPullRequestOnRemote.ts View File

@ -1,8 +1,10 @@
import { TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
import { ActiveEditorCommand, command, Commands, executeCommand, getCommandUri } from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { OpenPullRequestOnRemoteCommandArgs } from './openPullRequestOnRemote';
@command()

+ 3
- 9
src/commands/openBranchOnRemote.ts View File

@ -1,18 +1,12 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { CommandQuickPickItem, ReferencePicker, ReferencesQuickPickIncludes, RepositoryPicker } from '../quickpicks';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
executeCommand,
getCommandUri,
isCommandContextViewNodeHasBranch,
} from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, CommandContext, getCommandUri, isCommandContextViewNodeHasBranch } from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenBranchOnRemoteCommandArgs {

+ 3
- 9
src/commands/openBranchesOnRemote.ts View File

@ -1,18 +1,12 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { RepositoryPicker } from '../quickpicks';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
executeCommand,
getCommandUri,
isCommandContextViewNodeHasRemote,
} from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, CommandContext, getCommandUri, isCommandContextViewNodeHasRemote } from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenBranchesOnRemoteCommandArgs {

+ 2
- 1
src/commands/openChangedFiles.ts View File

@ -1,11 +1,12 @@
import { Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { RepositoryPicker } from '../quickpicks';
import { Arrays } from '../system';
import { findOrOpenEditors } from '../system/utils';
import { Command, command, Commands } from './common';
import { Command, command } from './base';
export interface OpenChangedFilesCommandArgs {
uris?: Uri[];

+ 3
- 3
src/commands/openCommitOnRemote.ts View File

@ -1,20 +1,20 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { executeCommand } from '../system/command';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
executeCommand,
getCommandUri,
isCommandContextGitTimelineItem,
isCommandContextViewNodeHasCommit,
} from './common';
} from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenCommitOnRemoteCommandArgs {

+ 3
- 1
src/commands/openComparisonOnRemote.ts View File

@ -1,9 +1,11 @@
import { window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { executeCommand } from '../system/command';
import { ResultsCommitsNode } from '../views/nodes';
import { Command, command, CommandContext, Commands, executeCommand } from './common';
import { Command, command, CommandContext } from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenComparisonOnRemoteCommandArgs {

+ 3
- 9
src/commands/openDirectoryCompare.ts View File

@ -1,18 +1,12 @@
import { TextEditor, Uri } from 'vscode';
import { GitActions } from '../commands';
import { GitActions } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ReferencePicker, RepositoryPicker } from '../quickpicks';
import { CompareResultsNode } from '../views/nodes';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
getCommandUri,
isCommandContextViewNodeHasRef,
} from './common';
import { ActiveEditorCommand, command, CommandContext, getCommandUri, isCommandContextViewNodeHasRef } from './base';
export interface OpenDirectoryCompareCommandArgs {
ref1?: string;

+ 3
- 3
src/commands/openFileAtRevision.ts View File

@ -1,6 +1,6 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { FileAnnotationType } from '../configuration';
import { GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Commands, GlyphChars, quickPickTitleMaxChars } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
@ -8,8 +8,8 @@ import { Logger } from '../logger';
import { Messages } from '../messages';
import { CommandQuickPickItem, CommitPicker } from '../quickpicks';
import { Strings } from '../system';
import { ActiveEditorCommand, command, CommandContext, Commands, getCommandUri } from './common';
import { GitActions } from './gitCommands';
import { ActiveEditorCommand, command, CommandContext, getCommandUri } from './base';
import { GitActions } from './gitCommands.actions';
import { OpenFileAtRevisionFromCommandArgs } from './openFileAtRevisionFrom';
export interface OpenFileAtRevisionCommandArgs {

+ 3
- 3
src/commands/openFileAtRevisionFrom.ts View File

@ -1,14 +1,14 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { FileAnnotationType } from '../configuration';
import { GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Commands, GlyphChars, quickPickTitleMaxChars } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitReference } from '../git/models';
import { Messages } from '../messages';
import { ReferencePicker, StashPicker } from '../quickpicks';
import { Strings } from '../system';
import { ActiveEditorCommand, command, Commands, getCommandUri } from './common';
import { GitActions } from './gitCommands';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { GitActions } from './gitCommands.actions';
export interface OpenFileAtRevisionFromCommandArgs {
reference?: GitReference;

+ 2
- 1
src/commands/openFileFromRemote.ts View File

@ -1,7 +1,8 @@
import { env, Range, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { openEditor } from '../system/utils';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class OpenFileFromRemoteCommand extends Command {

+ 3
- 4
src/commands/openFileOnRemote.ts View File

@ -1,7 +1,7 @@
import { Range, TextEditor, Uri, window } from 'vscode';
import { UriComparer } from '../comparers';
import { BranchSorting, TagSorting } from '../configuration';
import { GlyphChars } from '../constants';
import { Commands, GlyphChars } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitBranch, GitRevision } from '../git/models';
@ -9,17 +9,16 @@ import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { ReferencePicker } from '../quickpicks';
import { Strings } from '../system';
import { executeCommand } from '../system/command';
import { StatusFileNode } from '../views/nodes';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
executeCommand,
getCommandUri,
isCommandContextViewNodeHasBranch,
isCommandContextViewNodeHasCommit,
} from './common';
} from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenFileOnRemoteCommandArgs {

+ 2
- 1
src/commands/openIssueOnRemote.ts View File

@ -1,7 +1,8 @@
import { env, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { AutolinkedItemNode } from '../views/nodes/autolinkedItemNode';
import { Command, command, CommandContext, Commands } from './common';
import { Command, command, CommandContext } from './base';
export interface OpenIssueOnRemoteCommandArgs {
clipboard?: boolean;

+ 2
- 2
src/commands/openOnRemote.ts View File

@ -1,4 +1,4 @@
import { GlyphChars } from '../constants';
import { Commands, GlyphChars } from '../constants';
import type { Container } from '../container';
import { GitRemote, GitRevision } from '../git/models';
import { RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider';
@ -6,7 +6,7 @@ import { Logger } from '../logger';
import { Messages } from '../messages';
import { RemoteProviderPicker } from '../quickpicks';
import { Strings } from '../system';
import { Command, command, Commands } from './common';
import { Command, command } from './base';
export type OpenOnRemoteCommandArgs =
| {

+ 2
- 1
src/commands/openPullRequestOnRemote.ts View File

@ -1,7 +1,8 @@
import { env, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { PullRequestNode } from '../views/nodes';
import { Command, command, CommandContext, Commands } from './common';
import { Command, command, CommandContext } from './base';
export interface OpenPullRequestOnRemoteCommandArgs {
clipboard?: boolean;

+ 3
- 9
src/commands/openRepoOnRemote.ts View File

@ -1,18 +1,12 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { RemoteResourceType } from '../git/remotes/provider';
import { Logger } from '../logger';
import { RepositoryPicker } from '../quickpicks';
import {
ActiveEditorCommand,
command,
CommandContext,
Commands,
executeCommand,
getCommandUri,
isCommandContextViewNodeHasRemote,
} from './common';
import { executeCommand } from '../system/command';
import { ActiveEditorCommand, command, CommandContext, getCommandUri, isCommandContextViewNodeHasRemote } from './base';
import { OpenOnRemoteCommandArgs } from './openOnRemote';
export interface OpenRepoOnRemoteCommandArgs {

+ 3
- 2
src/commands/openRevisionFile.ts View File

@ -1,12 +1,13 @@
import { TextDocumentShowOptions, TextEditor, Uri } from 'vscode';
import { FileAnnotationType } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { ActiveEditorCommand, command, Commands, getCommandUri } from './common';
import { GitActions } from './gitCommands';
import { ActiveEditorCommand, command, getCommandUri } from './base';
import { GitActions } from './gitCommands.actions';
export interface OpenRevisionFileCommandArgs {
revisionUri?: Uri;

+ 2
- 1
src/commands/openWorkingFile.ts View File

@ -1,11 +1,12 @@
import { Range, TextDocumentShowOptions, TextEditor, Uri, window } from 'vscode';
import { FileAnnotationType } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { findOrOpenEditor } from '../system/utils';
import { ActiveEditorCommand, command, Commands, getCommandUri } from './common';
import { ActiveEditorCommand, command, getCommandUri } from './base';
export interface OpenWorkingFileCommandArgs {
uri?: Uri;

+ 1
- 2
src/commands/quickCommand.steps.ts View File

@ -1,6 +1,6 @@
import { QuickInputButton, QuickPick } from 'vscode';
import { BranchSorting, configuration, TagSorting } from '../configuration';
import { GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Commands, GlyphChars, quickPickTitleMaxChars } from '../constants';
import { Container } from '../container';
import { PagedResult } from '../git/gitProvider';
import {
@ -67,7 +67,6 @@ import { formatPath } from '../system/formatPath';
import { map } from '../system/iterable';
import { pad, pluralize, truncate } from '../system/string';
import { ViewsWithRepositoryFolders } from '../views/viewBase';
import { Commands } from './common';
import { GitActions } from './gitCommands.actions';
import {
AsyncStepResultGenerator,

+ 2
- 1
src/commands/rebaseEditor.ts View File

@ -1,5 +1,6 @@
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class DisableRebaseEditorCommand extends Command {

+ 3
- 2
src/commands/refreshHover.ts View File

@ -1,6 +1,7 @@
import { CoreCommands } from '../constants';
import { Commands, CoreCommands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands, executeCoreCommand } from './common';
import { executeCoreCommand } from '../system/command';
import { command, Command } from './base';
@command()
export class RefreshHoverCommand extends Command {

+ 2
- 1
src/commands/remoteProviders.ts View File

@ -1,9 +1,10 @@
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitCommit, GitRemote, Repository } from '../git/models';
import { RichRemoteProvider } from '../git/remotes/provider';
import { RepositoryPicker } from '../quickpicks/repositoryPicker';
import { Iterables } from '../system';
import { command, Command, CommandContext, Commands, isCommandContextViewNodeHasRemote } from './common';
import { command, Command, CommandContext, isCommandContextViewNodeHasRemote } from './base';
export interface ConnectRemoteProviderCommandArgs {
remote: string;

+ 3
- 2
src/commands/repositories.ts View File

@ -1,6 +1,7 @@
import { executeGitCommand } from '../commands';
import { executeGitCommand } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class FetchRepositoriesCommand extends Command {

+ 2
- 1
src/commands/resetAvatarCache.ts View File

@ -1,6 +1,7 @@
import { resetAvatarCache } from '../avatars';
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class ResetAvatarCacheCommand extends Command {

+ 2
- 1
src/commands/resetSuppressedWarnings.ts View File

@ -1,7 +1,8 @@
import { ConfigurationTarget } from 'vscode';
import { configuration } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class ResetSuppressedWarningsCommand extends Command {

+ 3
- 2
src/commands/searchCommits.ts View File

@ -1,8 +1,9 @@
import { executeGitCommand } from '../commands';
import { executeGitCommand } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { SearchPattern } from '../git/search';
import { SearchResultsNode } from '../views/nodes';
import { Command, command, CommandContext, Commands, isCommandContextViewNodeHasRepository } from './common';
import { Command, command, CommandContext, isCommandContextViewNodeHasRepository } from './base';
export interface SearchCommitsCommandArgs {
search?: Partial<SearchPattern>;

+ 3
- 2
src/commands/setViewsLayout.ts View File

@ -1,8 +1,9 @@
import { window } from 'vscode';
import { viewsConfigKeys } from '../configuration';
import { CoreCommands } from '../constants';
import { Commands, CoreCommands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands, executeCommand, executeCoreCommand } from './common';
import { executeCommand, executeCoreCommand } from '../system/command';
import { command, Command } from './base';
enum ViewsLayout {
GitLens = 'gitlens',

+ 3
- 2
src/commands/showCommitsInView.ts View File

@ -1,12 +1,13 @@
import { TextEditor, Uri } from 'vscode';
import { executeGitCommand } from '../commands';
import { executeGitCommand } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { SearchPattern } from '../git/search';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { Iterables } from '../system';
import { ActiveEditorCommand, command, Commands, getCommandUri } from './common';
import { ActiveEditorCommand, command, getCommandUri } from './base';
export interface ShowCommitsInViewCommandArgs {
refs?: string[];

+ 2
- 1
src/commands/showLastQuickPick.ts View File

@ -1,8 +1,9 @@
import { commands } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { command, Command, Commands, getLastCommand } from './common';
import { command, Command, getLastCommand } from './base';
@command()
export class ShowLastQuickPickCommand extends Command {

+ 3
- 2
src/commands/showQuickBranchHistory.ts View File

@ -1,9 +1,10 @@
import { TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitReference } from '../git/models';
import { ActiveEditorCachedCommand, command, CommandContext, Commands, getCommandUri } from './common';
import { executeGitCommand } from './gitCommands';
import { ActiveEditorCachedCommand, command, CommandContext, getCommandUri } from './base';
import { executeGitCommand } from './gitCommands.actions';
export interface ShowQuickBranchHistoryCommandArgs {
repoPath?: string;

+ 3
- 3
src/commands/showQuickCommit.ts View File

@ -1,4 +1,5 @@
import { TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit, GitLog, GitStashCommit } from '../git/models';
@ -8,11 +9,10 @@ import {
ActiveEditorCachedCommand,
command,
CommandContext,
Commands,
getCommandUri,
isCommandContextViewNodeHasCommit,
} from './common';
import { executeGitCommand, GitActions } from './gitCommands';
} from './base';
import { executeGitCommand, GitActions } from './gitCommands.actions';
export interface ShowQuickCommitCommandArgs {
repoPath?: string;

+ 3
- 3
src/commands/showQuickCommitFile.ts View File

@ -1,4 +1,5 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitCommit, GitLog, GitStashCommit } from '../git/models';
@ -8,11 +9,10 @@ import {
ActiveEditorCachedCommand,
command,
CommandContext,
Commands,
getCommandUri,
isCommandContextViewNodeHasCommit,
} from './common';
import { executeGitCommand } from './gitCommands';
} from './base';
import { executeGitCommand } from './gitCommands.actions';
export interface ShowQuickCommitFileCommandArgs {
sha?: string;

+ 3
- 2
src/commands/showQuickFileHistory.ts View File

@ -1,10 +1,11 @@
import { Range, TextEditor, Uri } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitBranch, GitLog, GitReference, GitTag } from '../git/models';
import { CommandQuickPickItem } from '../quickpicks';
import { ActiveEditorCachedCommand, command, CommandContext, Commands, getCommandUri } from './common';
import { executeGitCommand } from './gitCommands';
import { ActiveEditorCachedCommand, command, CommandContext, getCommandUri } from './base';
import { executeGitCommand } from './gitCommands.actions';
export interface ShowQuickFileHistoryCommandArgs {
reference?: GitBranch | GitTag | GitReference;

+ 3
- 2
src/commands/showQuickRepoStatus.ts View File

@ -1,6 +1,7 @@
import { executeGitCommand } from '../commands';
import { executeGitCommand } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Command, command, Commands } from './common';
import { Command, command } from './base';
export interface ShowQuickRepoStatusCommandArgs {
repoPath?: string;

+ 3
- 2
src/commands/showQuickStashList.ts View File

@ -1,6 +1,7 @@
import { executeGitCommand } from '../commands';
import { executeGitCommand } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Command, command, Commands } from './common';
import { Command, command } from './base';
export interface ShowQuickStashListCommandArgs {
repoPath?: string;

+ 4
- 2
src/commands/showView.ts View File

@ -1,7 +1,9 @@
import { Commands, ContextKeys } from '../constants';
import type { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { SyncedState } from '../storage';
import { command, Command, CommandContext, Commands, executeCommand } from './common';
import { executeCommand } from '../system/command';
import { command, Command, CommandContext } from './base';
@command()
export class ShowViewCommand extends Command {

+ 3
- 3
src/commands/stashApply.ts View File

@ -1,4 +1,5 @@
import { GitActions } from '../commands';
import { GitActions } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitStashCommit, GitStashReference } from '../git/models';
import { CommandQuickPickItem } from '../quickpicks';
@ -6,10 +7,9 @@ import {
command,
Command,
CommandContext,
Commands,
isCommandContextViewNodeHasCommit,
isCommandContextViewNodeHasRepository,
} from './common';
} from './base';
export interface StashApplyCommandArgs {
deleteAfter?: boolean;

+ 3
- 3
src/commands/stashSave.ts View File

@ -1,18 +1,18 @@
import { Uri } from 'vscode';
import type { ScmResource } from '../@types/vscode.git.resources';
import { ScmResourceGroupType } from '../@types/vscode.git.resources.enums';
import { GitActions } from '../commands';
import { GitActions } from '../commands/gitCommands.actions';
import { Commands } from '../constants';
import type { Container } from '../container';
import { GitUri } from '../git/gitUri';
import {
Command,
command,
CommandContext,
Commands,
isCommandContextViewNodeHasFile,
isCommandContextViewNodeHasRepoPath,
isCommandContextViewNodeHasRepository,
} from './common';
} from './base';
export interface StashSaveCommandArgs {
message?: string;

+ 2
- 1
src/commands/switchMode.ts View File

@ -1,10 +1,11 @@
import { ConfigurationTarget } from 'vscode';
import { configuration } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { ModePicker } from '../quickpicks';
import { log } from '../system';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class SwitchModeCommand extends Command {

+ 2
- 1
src/commands/toggleCodeLens.ts View File

@ -1,5 +1,6 @@
import { Commands } from '../constants';
import type { Container } from '../container';
import { command, Command, Commands } from './common';
import { command, Command } from './base';
@command()
export class ToggleCodeLensCommand extends Command {

+ 2
- 1
src/commands/toggleFileAnnotations.ts View File

@ -3,11 +3,12 @@ import { AnnotationContext } from '../annotations/annotationProvider';
import { ChangesAnnotationContext } from '../annotations/gutterChangesAnnotationProvider';
import { UriComparer } from '../comparers';
import { FileAnnotationType } from '../configuration';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { Messages } from '../messages';
import { isTextEditor } from '../system/utils';
import { ActiveEditorCommand, command, Commands, EditorCommand } from './common';
import { ActiveEditorCommand, command, EditorCommand } from './base';
@command()
export class ClearFileAnnotationsCommand extends EditorCommand {

+ 2
- 1
src/commands/toggleLineBlame.ts View File

@ -1,7 +1,8 @@
import { TextEditor, Uri, window } from 'vscode';
import { Commands } from '../constants';
import type { Container } from '../container';
import { Logger } from '../logger';
import { ActiveEditorCommand, command, Commands } from './common';
import { ActiveEditorCommand, command } from './base';
@command()
export class ToggleLineBlameCommand extends ActiveEditorCommand {

+ 191
- 0
src/constants.ts View File

@ -44,6 +44,197 @@ export const enum Colors {
UnpulledChangesIconColor = 'gitlens.unpulledChangesIconColor',
}
export const enum Commands {
ActionPrefix = 'gitlens.action.',
AddAuthors = 'gitlens.addAuthors',
BrowseRepoAtRevision = 'gitlens.browseRepoAtRevision',
BrowseRepoAtRevisionInNewWindow = 'gitlens.browseRepoAtRevisionInNewWindow',
BrowseRepoBeforeRevision = 'gitlens.browseRepoBeforeRevision',
BrowseRepoBeforeRevisionInNewWindow = 'gitlens.browseRepoBeforeRevisionInNewWindow',
ClearFileAnnotations = 'gitlens.clearFileAnnotations',
CloseUnchangedFiles = 'gitlens.closeUnchangedFiles',
CloseWelcomeView = 'gitlens.closeWelcomeView',
CompareWith = 'gitlens.compareWith',
CompareHeadWith = 'gitlens.compareHeadWith',
CompareWorkingWith = 'gitlens.compareWorkingWith',
ComputingFileAnnotations = 'gitlens.computingFileAnnotations',
ConnectRemoteProvider = 'gitlens.connectRemoteProvider',
CopyCurrentBranch = 'gitlens.copyCurrentBranch',
CopyMessageToClipboard = 'gitlens.copyMessageToClipboard',
CopyRemoteBranchesUrl = 'gitlens.copyRemoteBranchesUrl',
CopyRemoteBranchUrl = 'gitlens.copyRemoteBranchUrl',
CopyRemoteCommitUrl = 'gitlens.copyRemoteCommitUrl',
CopyRemoteComparisonUrl = 'gitlens.copyRemoteComparisonUrl',
CopyRemoteFileUrl = 'gitlens.copyRemoteFileUrlToClipboard',
CopyRemoteFileUrlWithoutRange = 'gitlens.copyRemoteFileUrlWithoutRange',
CopyRemoteFileUrlFrom = 'gitlens.copyRemoteFileUrlFrom',
CopyRemoteIssueUrl = 'gitlens.copyRemoteIssueUrl',
CopyRemotePullRequestUrl = 'gitlens.copyRemotePullRequestUrl',
CopyRemoteRepositoryUrl = 'gitlens.copyRemoteRepositoryUrl',
CopyShaToClipboard = 'gitlens.copyShaToClipboard',
CreatePullRequestOnRemote = 'gitlens.createPullRequestOnRemote',
DiffDirectory = 'gitlens.diffDirectory',
DiffDirectoryWithHead = 'gitlens.diffDirectoryWithHead',
DiffWith = 'gitlens.diffWith',
DiffWithNext = 'gitlens.diffWithNext',
DiffWithNextInDiffLeft = 'gitlens.diffWithNextInDiffLeft',
DiffWithNextInDiffRight = 'gitlens.diffWithNextInDiffRight',
DiffWithPrevious = 'gitlens.diffWithPrevious',
DiffWithPreviousInDiffLeft = 'gitlens.diffWithPreviousInDiffLeft',
DiffWithPreviousInDiffRight = 'gitlens.diffWithPreviousInDiffRight',
DiffLineWithPrevious = 'gitlens.diffLineWithPrevious',
DiffWithRevision = 'gitlens.diffWithRevision',
DiffWithRevisionFrom = 'gitlens.diffWithRevisionFrom',
DiffWithWorking = 'gitlens.diffWithWorking',
DiffWithWorkingInDiffLeft = 'gitlens.diffWithWorkingInDiffLeft',
DiffWithWorkingInDiffRight = 'gitlens.diffWithWorkingInDiffRight',
DiffLineWithWorking = 'gitlens.diffLineWithWorking',
DisconnectRemoteProvider = 'gitlens.disconnectRemoteProvider',
DisableDebugLogging = 'gitlens.disableDebugLogging',
EnableDebugLogging = 'gitlens.enableDebugLogging',
DisableRebaseEditor = 'gitlens.disableRebaseEditor',
EnableRebaseEditor = 'gitlens.enableRebaseEditor',
ExternalDiff = 'gitlens.externalDiff',
ExternalDiffAll = 'gitlens.externalDiffAll',
FetchRepositories = 'gitlens.fetchRepositories',
InviteToLiveShare = 'gitlens.inviteToLiveShare',
OpenBlamePriorToChange = 'gitlens.openBlamePriorToChange',
OpenBranchesOnRemote = 'gitlens.openBranchesOnRemote',
OpenBranchOnRemote = 'gitlens.openBranchOnRemote',
OpenChangedFiles = 'gitlens.openChangedFiles',
OpenCommitOnRemote = 'gitlens.openCommitOnRemote',
OpenComparisonOnRemote = 'gitlens.openComparisonOnRemote',
OpenFileHistory = 'gitlens.openFileHistory',
OpenFileFromRemote = 'gitlens.openFileFromRemote',
OpenFileOnRemote = 'gitlens.openFileOnRemote',
OpenFileOnRemoteFrom = 'gitlens.openFileOnRemoteFrom',
OpenFileAtRevision = 'gitlens.openFileRevision',
OpenFileAtRevisionFrom = 'gitlens.openFileRevisionFrom',
OpenFolderHistory = 'gitlens.openFolderHistory',
OpenOnRemote = 'gitlens.openOnRemote',
OpenIssueOnRemote = 'gitlens.openIssueOnRemote',
OpenPullRequestOnRemote = 'gitlens.openPullRequestOnRemote',
OpenAssociatedPullRequestOnRemote = 'gitlens.openAssociatedPullRequestOnRemote',
OpenRepoOnRemote = 'gitlens.openRepoOnRemote',
OpenRevisionFile = 'gitlens.openRevisionFile',
OpenRevisionFileInDiffLeft = 'gitlens.openRevisionFileInDiffLeft',
OpenRevisionFileInDiffRight = 'gitlens.openRevisionFileInDiffRight',
OpenWorkingFile = 'gitlens.openWorkingFile',
OpenWorkingFileInDiffLeft = 'gitlens.openWorkingFileInDiffLeft',
OpenWorkingFileInDiffRight = 'gitlens.openWorkingFileInDiffRight',
PullRepositories = 'gitlens.pullRepositories',
PushRepositories = 'gitlens.pushRepositories',
GitCommands = 'gitlens.gitCommands',
GitCommandsBranch = 'gitlens.gitCommands.branch',
GitCommandsCherryPick = 'gitlens.gitCommands.cherryPick',
GitCommandsMerge = 'gitlens.gitCommands.merge',
GitCommandsRebase = 'gitlens.gitCommands.rebase',
GitCommandsReset = 'gitlens.gitCommands.reset',
GitCommandsRevert = 'gitlens.gitCommands.revert',
GitCommandsSwitch = 'gitlens.gitCommands.switch',
GitCommandsTag = 'gitlens.gitCommands.tag',
QuickOpenFileHistory = 'gitlens.quickOpenFileHistory',
RefreshHover = 'gitlens.refreshHover',
ResetAvatarCache = 'gitlens.resetAvatarCache',
ResetSuppressedWarnings = 'gitlens.resetSuppressedWarnings',
RevealCommitInView = 'gitlens.revealCommitInView',
SearchCommits = 'gitlens.showCommitSearch',
SearchCommitsInView = 'gitlens.views.searchAndCompare.searchCommits',
SetViewsLayout = 'gitlens.setViewsLayout',
ShowBranchesView = 'gitlens.showBranchesView',
ShowCommitInView = 'gitlens.showCommitInView',
ShowCommitsInView = 'gitlens.showCommitsInView',
ShowCommitsView = 'gitlens.showCommitsView',
ShowContributorsView = 'gitlens.showContributorsView',
ShowFileHistoryView = 'gitlens.showFileHistoryView',
ShowLastQuickPick = 'gitlens.showLastQuickPick',
ShowLineHistoryView = 'gitlens.showLineHistoryView',
ShowQuickBranchHistory = 'gitlens.showQuickBranchHistory',
ShowQuickCommit = 'gitlens.showQuickCommitDetails',
ShowQuickCommitFile = 'gitlens.showQuickCommitFileDetails',
ShowQuickCurrentBranchHistory = 'gitlens.showQuickRepoHistory',
ShowQuickFileHistory = 'gitlens.showQuickFileHistory',
ShowQuickRepoStatus = 'gitlens.showQuickRepoStatus',
ShowQuickCommitRevision = 'gitlens.showQuickRevisionDetails',
ShowQuickCommitRevisionInDiffLeft = 'gitlens.showQuickRevisionDetailsInDiffLeft',
ShowQuickCommitRevisionInDiffRight = 'gitlens.showQuickRevisionDetailsInDiffRight',
ShowQuickStashList = 'gitlens.showQuickStashList',
ShowRemotesView = 'gitlens.showRemotesView',
ShowRepositoriesView = 'gitlens.showRepositoriesView',
ShowSearchAndCompareView = 'gitlens.showSearchAndCompareView',
ShowSettingsPage = 'gitlens.showSettingsPage',
ShowSettingsPageAndJumpToBranchesView = 'gitlens.showSettingsPage#branches-view',
ShowSettingsPageAndJumpToCommitsView = 'gitlens.showSettingsPage#commits-view',
ShowSettingsPageAndJumpToContributorsView = 'gitlens.showSettingsPage#contributors-view',
ShowSettingsPageAndJumpToFileHistoryView = 'gitlens.showSettingsPage#file-history-view',
ShowSettingsPageAndJumpToLineHistoryView = 'gitlens.showSettingsPage#line-history-view',
ShowSettingsPageAndJumpToRemotesView = 'gitlens.showSettingsPage#remotes-view',
ShowSettingsPageAndJumpToRepositoriesView = 'gitlens.showSettingsPage#repositories-view',
ShowSettingsPageAndJumpToSearchAndCompareView = 'gitlens.showSettingsPage#search-compare-view',
ShowSettingsPageAndJumpToStashesView = 'gitlens.showSettingsPage#stashes-view',
ShowSettingsPageAndJumpToTagsView = 'gitlens.showSettingsPage#tags-view',
ShowSettingsPageAndJumpToViews = 'gitlens.showSettingsPage#views',
ShowStashesView = 'gitlens.showStashesView',
ShowTagsView = 'gitlens.showTagsView',
ShowWelcomePage = 'gitlens.showWelcomePage',
ShowWelcomeView = 'gitlens.showWelcomeView',
StashApply = 'gitlens.stashApply',
StashSave = 'gitlens.stashSave',
StashSaveFiles = 'gitlens.stashSaveFiles',
SwitchMode = 'gitlens.switchMode',
ToggleCodeLens = 'gitlens.toggleCodeLens',
ToggleFileBlame = 'gitlens.toggleFileBlame',
ToggleFileBlameInDiffLeft = 'gitlens.toggleFileBlameInDiffLeft',
ToggleFileBlameInDiffRight = 'gitlens.toggleFileBlameInDiffRight',
ToggleFileChanges = 'gitlens.toggleFileChanges',
ToggleFileChangesOnly = 'gitlens.toggleFileChangesOnly',
ToggleFileHeatmap = 'gitlens.toggleFileHeatmap',
ToggleFileHeatmapInDiffLeft = 'gitlens.toggleFileHeatmapInDiffLeft',
ToggleFileHeatmapInDiffRight = 'gitlens.toggleFileHeatmapInDiffRight',
ToggleLineBlame = 'gitlens.toggleLineBlame',
ToggleReviewMode = 'gitlens.toggleReviewMode',
ToggleZenMode = 'gitlens.toggleZenMode',
ViewsCopy = 'gitlens.views.copy',
ViewsOpenDirectoryDiff = 'gitlens.views.openDirectoryDiff',
ViewsOpenDirectoryDiffWithWorking = 'gitlens.views.openDirectoryDiffWithWorking',
Deprecated_DiffHeadWith = 'gitlens.diffHeadWith',
Deprecated_DiffWorkingWith = 'gitlens.diffWorkingWith',
Deprecated_OpenBranchesInRemote = 'gitlens.openBranchesInRemote',
Deprecated_OpenBranchInRemote = 'gitlens.openBranchInRemote',
Deprecated_OpenCommitInRemote = 'gitlens.openCommitInRemote',
Deprecated_OpenFileInRemote = 'gitlens.openFileInRemote',
Deprecated_OpenInRemote = 'gitlens.openInRemote',
Deprecated_OpenRepoInRemote = 'gitlens.openRepoInRemote',
Deprecated_ShowFileHistoryInView = 'gitlens.showFileHistoryInView',
}
export const enum ContextKeys {
ActionPrefix = 'gitlens:action:',
KeyPrefix = 'gitlens:key:',
ActiveFileStatus = 'gitlens:activeFileStatus',
AnnotationStatus = 'gitlens:annotationStatus',
DisabledToggleCodeLens = 'gitlens:disabledToggleCodeLens',
Disabled = 'gitlens:disabled',
Enabled = 'gitlens:enabled',
HasConnectedRemotes = 'gitlens:hasConnectedRemotes',
HasRemotes = 'gitlens:hasRemotes',
HasRichRemotes = 'gitlens:hasRichRemotes',
Readonly = 'gitlens:readonly',
ViewsCanCompare = 'gitlens:views:canCompare',
ViewsCanCompareFile = 'gitlens:views:canCompare:file',
ViewsCommitsMyCommitsOnly = 'gitlens:views:commits:myCommitsOnly',
ViewsFileHistoryCanPin = 'gitlens:views:fileHistory:canPin',
ViewsFileHistoryCursorFollowing = 'gitlens:views:fileHistory:cursorFollowing',
ViewsFileHistoryEditorFollowing = 'gitlens:views:fileHistory:editorFollowing',
ViewsLineHistoryEditorFollowing = 'gitlens:views:lineHistory:editorFollowing',
ViewsRepositoriesAutoRefresh = 'gitlens:views:repositories:autoRefresh',
ViewsSearchAndCompareKeepResults = 'gitlens:views:searchAndCompare:keepResults',
ViewsWelcomeVisible = 'gitlens:views:welcome:visible',
Vsls = 'gitlens:vsls',
}
export const enum CoreCommands {
CloseActiveEditor = 'workbench.action.closeActiveEditor',
CloseAllEditors = 'workbench.action.closeAllEditors',

+ 3
- 1
src/container.ts View File

@ -6,7 +6,7 @@ import { LineAnnotationController } from './annotations/lineAnnotationController
import { ActionRunners } from './api/actionRunners';
import { resetAvatarCache } from './avatars';
import { GitCodeLensController } from './codelens/codeLensController';
import { Commands, executeCommand, ToggleFileAnnotationCommandArgs } from './commands';
import type { ToggleFileAnnotationCommandArgs } from './commands';
import {
AnnotationsToggleMode,
Config,
@ -16,6 +16,7 @@ import {
DateStyle,
FileAnnotationType,
} from './configuration';
import { Commands } from './constants';
import { GitFileSystemProvider } from './git/fsProvider';
import { GitProviderService } from './git/gitProviderService';
import { LineHoverController } from './hovers/lineHoverController';
@ -23,6 +24,7 @@ import { Keyboard } from './keyboard';
import { Logger } from './logger';
import { StatusBarController } from './statusbar/statusBarController';
import { Storage } from './storage';
import { executeCommand } from './system/command';
import { log } from './system/decorators/log';
import { memoize } from './system/decorators/memoize';
import { GitTerminalLinkProvider } from './terminal/linkProvider';

+ 1
- 27
src/context.ts View File

@ -1,31 +1,5 @@
import { commands } from 'vscode';
import { CoreCommands } from './constants';
export const enum ContextKeys {
ActionPrefix = 'gitlens:action:',
KeyPrefix = 'gitlens:key:',
ActiveFileStatus = 'gitlens:activeFileStatus',
AnnotationStatus = 'gitlens:annotationStatus',
DisabledToggleCodeLens = 'gitlens:disabledToggleCodeLens',
Disabled = 'gitlens:disabled',
Enabled = 'gitlens:enabled',
HasConnectedRemotes = 'gitlens:hasConnectedRemotes',
HasRemotes = 'gitlens:hasRemotes',
HasRichRemotes = 'gitlens:hasRichRemotes',
Readonly = 'gitlens:readonly',
ViewsCanCompare = 'gitlens:views:canCompare',
ViewsCanCompareFile = 'gitlens:views:canCompare:file',
ViewsCommitsMyCommitsOnly = 'gitlens:views:commits:myCommitsOnly',
ViewsFileHistoryCanPin = 'gitlens:views:fileHistory:canPin',
ViewsFileHistoryCursorFollowing = 'gitlens:views:fileHistory:cursorFollowing',
ViewsFileHistoryEditorFollowing = 'gitlens:views:fileHistory:editorFollowing',
ViewsLineHistoryEditorFollowing = 'gitlens:views:lineHistory:editorFollowing',
ViewsRepositoriesAutoRefresh = 'gitlens:views:repositories:autoRefresh',
ViewsSearchAndCompareKeepResults = 'gitlens:views:searchAndCompare:keepResults',
ViewsWelcomeVisible = 'gitlens:views:welcome:visible',
Vsls = 'gitlens:vsls',
}
import { ContextKeys, CoreCommands } from './constants';
// const contextStorage = new Map<string, unknown>();

+ 5
- 3
src/extension.ts View File

@ -2,17 +2,19 @@ import { version as codeVersion, env, ExtensionContext, extensions, window, work
import { isWeb } from '@env/platform';
import { Api } from './api/api';
import type { CreatePullRequestActionContext, GitLensApi, OpenPullRequestActionContext } from './api/gitlens';
import { Commands, executeCommand, OpenPullRequestOnRemoteCommandArgs, registerCommands } from './commands';
import { CreatePullRequestOnRemoteCommandArgs } from './commands/createPullRequestOnRemote';
import type { CreatePullRequestOnRemoteCommandArgs, OpenPullRequestOnRemoteCommandArgs } from './commands';
import { registerCommands } from './commands/base';
import { configuration, Configuration, OutputLevel } from './configuration';
import { Commands, ContextKeys } from './constants';
import { Container } from './container';
import { ContextKeys, setContext } from './context';
import { setContext } from './context';
import { GitUri } from './git/gitUri';
import { GitBranch, GitCommit } from './git/models';
import { Logger, LogLevel } from './logger';
import { Messages } from './messages';
import { registerPartnerActionRunners } from './partners';
import { GlobalState, SyncedState } from './storage';
import { executeCommand } from './system/command';
import { once } from './system/event';
import { Stopwatch } from './system/stopwatch';
import { compare } from './system/version';

+ 2
- 3
src/git/formatters/commitFormatter.ts View File

@ -2,19 +2,18 @@ import { Uri } from 'vscode';
import type { HoverCommandsActionContext, OpenPullRequestActionContext } from '../../api/gitlens';
import { getPresenceDataUri } from '../../avatars';
import {
Commands,
ConnectRemoteProviderCommand,
DiffWithCommand,
getMarkdownActionCommand,
OpenCommitOnRemoteCommand,
OpenFileAtRevisionCommand,
ShowQuickCommitCommand,
ShowQuickCommitFileCommand,
} from '../../commands';
import { DateStyle, FileAnnotationType } from '../../configuration';
import { GlyphChars } from '../../constants';
import { Commands, GlyphChars } from '../../constants';
import { Container } from '../../container';
import { emojify } from '../../emojis';
import { getMarkdownActionCommand } from '../../system/command';
import { join, map } from '../../system/iterable';
import { PromiseCancelledError } from '../../system/promise';
import { escapeMarkdown, getSuperscript, TokenOptions } from '../../system/string';

+ 2
- 2
src/git/gitProviderService.ts View File

@ -17,9 +17,9 @@ import {
} from 'vscode';
import { resetAvatarCache } from '../avatars';
import { configuration } from '../configuration';
import { CoreGitConfiguration, GlyphChars, Schemes } from '../constants';
import { ContextKeys, CoreGitConfiguration, GlyphChars, Schemes } from '../constants';
import type { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { ProviderNotFoundError } from '../errors';
import { Logger } from '../logger';
import { asRepoComparisonKey, RepoComparisionKey, Repositories } from '../repositories';

+ 1
- 1
src/git/models/repository.ts View File

@ -11,7 +11,6 @@ import {
WorkspaceFolder,
} from 'vscode';
import type { CreatePullRequestActionContext } from '../../api/gitlens';
import { executeActionCommand, executeCoreGitCommand } from '../../commands';
import { configuration } from '../../configuration';
import { CoreGitCommands, CoreGitConfiguration, Schemes } from '../../constants';
import { Container } from '../../container';
@ -20,6 +19,7 @@ import { Messages } from '../../messages';
import { asRepoComparisonKey } from '../../repositories';
import { Starred, WorkspaceState } from '../../storage';
import { filterMap, groupByMap } from '../../system/array';
import { executeActionCommand, executeCoreGitCommand } from '../../system/command';
import { formatDate, fromNow } from '../../system/date';
import { gate } from '../../system/decorators/gate';
import { debug, log, logName } from '../../system/decorators/log';

+ 2
- 1
src/keyboard.ts View File

@ -1,5 +1,6 @@
import { commands, Disposable } from 'vscode';
import { ContextKeys, setContext } from './context';
import { ContextKeys } from './constants';
import { setContext } from './context';
import { Logger } from './logger';
import { log } from './system/decorators/log';

+ 3
- 2
src/partners.ts View File

@ -1,8 +1,9 @@
import { CancellationTokenSource, Extension, ExtensionContext, extensions, Uri } from 'vscode';
import type { ActionContext, HoverCommandsActionContext } from './api/gitlens';
import { Commands, executeCommand, executeCoreCommand, InviteToLiveShareCommandArgs } from './commands';
import { CoreCommands } from './constants';
import type { InviteToLiveShareCommandArgs } from './commands';
import { Commands, CoreCommands } from './constants';
import { Container } from './container';
import { executeCommand, executeCoreCommand } from './system/command';
export async function installExtension<T>(
extensionId: string,

+ 3
- 2
src/quickpicks/commitQuickPickItems.ts View File

@ -1,7 +1,8 @@
import { QuickPickItem, window } from 'vscode';
import { Commands, GitActions, OpenChangedFilesCommandArgs } from '../commands';
import { GitActions } from '../commands/gitCommands.actions';
import { OpenChangedFilesCommandArgs } from '../commands/openChangedFiles';
import { QuickCommandButtons } from '../commands/quickCommand.buttons';
import { GlyphChars } from '../constants';
import { Commands, GlyphChars } from '../constants';
import { Container } from '../container';
import { CommitFormatter } from '../git/formatters';
import { GitCommit, GitFile, GitFileChange, GitStatusFile } from '../git/models';

+ 2
- 2
src/quickpicks/gitQuickPickItems.ts View File

@ -1,6 +1,6 @@
import { QuickInputButton, QuickPickItem } from 'vscode';
import { Commands, GitCommandsCommand, GitCommandsCommandArgs } from '../commands';
import { GlyphChars } from '../constants';
import { GitCommandsCommand, GitCommandsCommandArgs } from '../commands/gitCommands';
import { Commands, GlyphChars } from '../constants';
import { Container } from '../container';
import { emojify } from '../emojis';
import {

+ 1
- 1
src/quickpicks/quickPicksItems.ts View File

@ -1,5 +1,5 @@
import { commands, QuickPickItem, QuickPickItemKind } from 'vscode';
import { Commands } from '../commands';
import { Commands } from '../constants';
import { Keys } from '../keyboard';
declare module 'vscode' {

+ 1
- 1
src/quickpicks/referencePicker.ts View File

@ -1,5 +1,5 @@
import { CancellationTokenSource, Disposable, QuickPick, window } from 'vscode';
import { GitActions } from '../commands';
import { GitActions } from '../commands/gitCommands.actions';
import { getBranchesAndOrTags, getValidateGitReferenceFn, QuickCommandButtons } from '../commands/quickCommand';
import { GlyphChars } from '../constants';
import { Container } from '../container';

+ 2
- 2
src/quickpicks/remoteProviderPicker.ts View File

@ -1,6 +1,6 @@
import { Disposable, env, QuickInputButton, ThemeIcon, Uri, window } from 'vscode';
import { Commands, OpenOnRemoteCommandArgs } from '../commands';
import { GlyphChars } from '../constants';
import type { OpenOnRemoteCommandArgs } from '../commands';
import { Commands, GlyphChars } from '../constants';
import { Container } from '../container';
import { GitBranch, GitRemote } from '../git/models';
import { getNameFromRemoteResource, RemoteProvider, RemoteResource, RemoteResourceType } from '../git/remotes/provider';

+ 5
- 4
src/statusbar/statusBarController.ts View File

@ -10,14 +10,15 @@ import {
Uri,
window,
} from 'vscode';
import { command, Commands, ToggleFileChangesAnnotationCommandArgs } from '../commands';
import type { ToggleFileChangesAnnotationCommandArgs } from '../commands/toggleFileAnnotations';
import { configuration, FileAnnotationType, StatusBarCommand } from '../configuration';
import { GlyphChars } from '../constants';
import { Commands, GlyphChars } from '../constants';
import { Container } from '../container';
import { CommitFormatter } from '../git/formatters';
import { GitCommit, PullRequest } from '../git/models';
import { Hovers } from '../hovers/hovers';
import { LogCorrelationContext, Logger } from '../logger';
import { asCommand } from '../system/command';
import { debug } from '../system/decorators/log';
import { once } from '../system/event';
import { PromiseCancelledError } from '../system/promise';
@ -272,7 +273,7 @@ export class StatusBarController implements Disposable {
break;
case StatusBarCommand.ToggleFileChanges: {
if (commit.file != null) {
this._statusBarBlame.command = command<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
this._statusBarBlame.command = asCommand<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
title: 'Toggle File Changes',
command: Commands.ToggleFileChanges,
arguments: [
@ -289,7 +290,7 @@ export class StatusBarController implements Disposable {
}
case StatusBarCommand.ToggleFileChangesOnly: {
if (commit.file != null) {
this._statusBarBlame.command = command<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
this._statusBarBlame.command = asCommand<[Uri, ToggleFileChangesAnnotationCommandArgs]>({
title: 'Toggle File Changes',
command: Commands.ToggleFileChanges,
arguments: [

+ 64
- 0
src/system/command.ts View File

@ -0,0 +1,64 @@
import { commands, Command as CoreCommand, Uri } from 'vscode';
import { Action, ActionContext } from '../api/gitlens';
import { Command } from '../commands/base';
import { Commands, CoreCommands, CoreGitCommands } from '../constants';
export function asCommand<T extends unknown[]>(
command: Omit<CoreCommand, 'arguments'> & { arguments: [...T] },
): CoreCommand {
return command;
}
export function executeActionCommand<T extends ActionContext>(action: Action<T>, args: Omit<T, 'type'>) {
return commands.executeCommand(`${Commands.ActionPrefix}${action}`, { ...args, type: action });
}
export function getMarkdownActionCommand<T extends ActionContext>(action: Action<T>, args: Omit<T, 'type'>): string {
return Command.getMarkdownCommandArgsCore(`${Commands.ActionPrefix}${action}`, {
...args,
type: action,
});
}
type SupportedCommands = Commands | `gitlens.views.${string}.focus` | `gitlens.views.${string}.resetViewLocation`;
export function executeCommand<U = any>(command: SupportedCommands): Thenable<U>;
export function executeCommand<T = unknown, U = any>(command: SupportedCommands, arg: T): Thenable<U>;
export function executeCommand<T extends [...unknown[]] = [], U = any>(
command: SupportedCommands,
...args: T
): Thenable<U>;
export function executeCommand<T extends [...unknown[]] = [], U = any>(
command: SupportedCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, args);
}
export function executeCoreCommand<T = unknown, U = any>(command: CoreCommands, arg: T): Thenable<U>;
export function executeCoreCommand<T extends [...unknown[]] = [], U = any>(
command: CoreCommands,
...args: T
): Thenable<U>;
export function executeCoreCommand<T extends [...unknown[]] = [], U = any>(
command: CoreCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, ...args);
}
export function executeCoreGitCommand<U = any>(command: CoreGitCommands): Thenable<U>;
export function executeCoreGitCommand<T = unknown, U = any>(command: CoreGitCommands, arg: T): Thenable<U>;
export function executeCoreGitCommand<T extends [...unknown[]] = [], U = any>(
command: CoreGitCommands,
...args: T
): Thenable<U>;
export function executeCoreGitCommand<T extends [...unknown[]] = [], U = any>(
command: CoreGitCommands,
...args: T
): Thenable<U> {
return commands.executeCommand<U>(command, ...args);
}
export function executeEditorCommand<T>(command: Commands, uri: Uri | undefined, args: T) {
return commands.executeCommand(command, uri, args);
}

+ 1
- 1
src/system/utils.ts View File

@ -1,8 +1,8 @@
import { TextDocument, TextDocumentShowOptions, TextEditor, Uri, ViewColumn, window, workspace } from 'vscode';
import { executeCoreCommand } from '../commands';
import { CoreCommands, ImageMimetypes, Schemes } from '../constants';
import { GitUri } from '../git/gitUri';
import { Logger } from '../logger';
import { executeCoreCommand } from './command';
import { extname } from './path';
export function findEditor(uri: Uri): TextEditor | undefined {

+ 2
- 2
src/terminal/linkProvider.ts View File

@ -1,10 +1,10 @@
import { commands, Disposable, TerminalLink, TerminalLinkContext, TerminalLinkProvider, window } from 'vscode';
import {
Commands,
import type {
GitCommandsCommandArgs,
ShowQuickBranchHistoryCommandArgs,
ShowQuickCommitCommandArgs,
} from '../commands';
import { Commands } from '../constants';
import { Container } from '../container';
import { PagedResult } from '../git/gitProvider';
import { GitBranch, GitReference, GitTag } from '../git/models';

+ 2
- 1
src/trackers/documentTracker.ts View File

@ -16,8 +16,9 @@ import {
workspace,
} from 'vscode';
import { configuration } from '../configuration';
import { ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { RepositoriesChangeEvent } from '../git/gitProviderService';
import { GitUri } from '../git/gitUri';
import { RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/models';

+ 2
- 1
src/trackers/trackedDocument.ts View File

@ -1,6 +1,7 @@
import { Disposable, Event, EventEmitter, TextDocument, TextEditor } from 'vscode';
import { ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { GitUri } from '../git/gitUri';
import { GitRevision } from '../git/models';
import { Logger } from '../logger';

+ 2
- 1
src/views/branchesView.ts View File

@ -8,7 +8,6 @@ import {
TreeItemCollapsibleState,
window,
} from 'vscode';
import { Commands, executeCommand } from '../commands';
import {
BranchesViewConfig,
configuration,
@ -16,6 +15,7 @@ import {
ViewFilesLayout,
ViewShowBranchComparison,
} from '../configuration';
import { Commands } from '../constants';
import { Container } from '../container';
import { GitUri } from '../git/gitUri';
import {
@ -27,6 +27,7 @@ import {
RepositoryChangeComparisonMode,
RepositoryChangeEvent,
} from '../git/models';
import { executeCommand } from '../system/command';
import { gate } from '../system/decorators/gate';
import {
BranchesNode,

+ 3
- 3
src/views/commitsView.ts View File

@ -8,11 +8,10 @@ import {
TreeItemCollapsibleState,
window,
} from 'vscode';
import { Commands, executeCommand } from '../commands';
import { CommitsViewConfig, configuration, ViewFilesLayout, ViewShowBranchComparison } from '../configuration';
import { GlyphChars } from '../constants';
import { Commands, ContextKeys, GlyphChars } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { GitUri } from '../git/gitUri';
import {
GitCommit,
@ -23,6 +22,7 @@ import {
RepositoryChangeComparisonMode,
RepositoryChangeEvent,
} from '../git/models';
import { executeCommand } from '../system/command';
import { gate } from '../system/decorators/gate';
import { debug } from '../system/decorators/log';
import { disposableInterval } from '../system/function';

+ 2
- 1
src/views/contributorsView.ts View File

@ -9,11 +9,12 @@ import {
window,
} from 'vscode';
import { Avatars } from '../avatars';
import { Commands, executeCommand } from '../commands';
import { configuration, ContributorsViewConfig, ViewFilesLayout } from '../configuration';
import { Commands } from '../constants';
import { Container } from '../container';
import { GitUri } from '../git/gitUri';
import { GitContributor, RepositoryChange, RepositoryChangeComparisonMode, RepositoryChangeEvent } from '../git/models';
import { executeCommand } from '../system/command';
import { gate } from '../system/decorators/gate';
import { debug } from '../system/decorators/log';
import {

+ 3
- 2
src/views/fileHistoryView.ts View File

@ -1,9 +1,10 @@
import { commands, ConfigurationChangeEvent, Disposable } from 'vscode';
import { Commands, executeCommand } from '../commands';
import { configuration, FileHistoryViewConfig } from '../configuration';
import { Commands, ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { GitUri } from '../git/gitUri';
import { executeCommand } from '../system/command';
import { FileHistoryTrackerNode, LineHistoryTrackerNode } from './nodes';
import { ViewBase } from './viewBase';

+ 3
- 2
src/views/lineHistoryView.ts View File

@ -1,8 +1,9 @@
import { commands, ConfigurationChangeEvent, Disposable } from 'vscode';
import { Commands, executeCommand } from '../commands';
import { configuration, LineHistoryViewConfig } from '../configuration';
import { Commands, ContextKeys } from '../constants';
import { Container } from '../container';
import { ContextKeys, setContext } from '../context';
import { setContext } from '../context';
import { executeCommand } from '../system/command';
import { LineHistoryTrackerNode } from './nodes';
import { ViewBase } from './viewBase';

+ 2
- 1
src/views/nodes/commitFileNode.ts View File

@ -1,5 +1,6 @@
import { Command, MarkdownString, Selection, TreeItem, TreeItemCollapsibleState, Uri } from 'vscode';
import { Commands, DiffWithPreviousCommandArgs } from '../../commands';
import type { DiffWithPreviousCommandArgs } from '../../commands';
import { Commands } from '../../constants';
import { StatusFileFormatter } from '../../git/formatters';
import { GitUri } from '../../git/gitUri';
import { GitBranch, GitCommit, GitFile, GitRevisionReference } from '../../git/models';

+ 2
- 2
src/views/nodes/commitNode.ts View File

@ -1,7 +1,7 @@
import { Command, MarkdownString, ThemeColor, ThemeIcon, TreeItem, TreeItemCollapsibleState } from 'vscode';
import { Commands, DiffWithPreviousCommandArgs } from '../../commands';
import type { DiffWithPreviousCommandArgs } from '../../commands';
import { ViewFilesLayout } from '../../configuration';
import { Colors } from '../../constants';
import { Colors, Commands } from '../../constants';
import { CommitFormatter } from '../../git/formatters';
import { GitBranch, GitCommit, GitRevisionReference } from '../../git/models';
import { Arrays, Strings } from '../../system';

+ 2
- 2
src/views/nodes/fileHistoryTrackerNode.ts View File

@ -1,7 +1,7 @@
import { Disposable, FileType, TextEditor, TreeItem, TreeItemCollapsibleState, window, workspace } from 'vscode';
import { UriComparer } from '../../comparers';
import { Schemes } from '../../constants';
import { ContextKeys, setContext } from '../../context';
import { ContextKeys, Schemes } from '../../constants';
import { setContext } from '../../context';
import { GitCommitish, GitUri } from '../../git/gitUri';
import { GitReference, GitRevision } from '../../git/models';
import { Logger } from '../../logger';

Some files were not shown because too many files changed in this diff

||||||
x
 
000:0
Loading…
Cancel
Save