@gitkraken/core-gitlens 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/dist/git/cache.d.ts +28 -4
- package/dist/git/cache.d.ts.map +1 -1
- package/dist/git/cache.js +82 -18
- package/dist/git/cache.js.map +1 -1
- package/dist/git/models/commit.d.ts.map +1 -1
- package/dist/git/models/commit.js.map +1 -1
- package/dist/git/models/reference.d.ts +31 -0
- package/dist/git/models/reference.d.ts.map +1 -1
- package/dist/git/models/remote.d.ts.map +1 -1
- package/dist/git/models/remote.js.map +1 -1
- package/dist/git/models/repository.d.ts +9 -1
- package/dist/git/models/repository.d.ts.map +1 -1
- package/dist/git/models/repository.js +19 -3
- package/dist/git/models/repository.js.map +1 -1
- package/dist/git/models/search.d.ts +2 -2
- package/dist/git/models/search.d.ts.map +1 -1
- package/dist/git/models/worktree.d.ts +4 -1
- package/dist/git/models/worktree.d.ts.map +1 -1
- package/dist/git/models/worktree.js +2 -2
- package/dist/git/models/worktree.js.map +1 -1
- package/dist/git/parsers/diffParser.d.ts.map +1 -1
- package/dist/git/parsers/diffParser.js.map +1 -1
- package/dist/git/providers/branches.d.ts +15 -4
- package/dist/git/providers/branches.d.ts.map +1 -1
- package/dist/git/providers/config.d.ts +4 -1
- package/dist/git/providers/config.d.ts.map +1 -1
- package/dist/git/providers/operations.d.ts +33 -10
- package/dist/git/providers/operations.d.ts.map +1 -1
- package/dist/git/providers/pausedOperations.d.ts +3 -1
- package/dist/git/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git/providers/refs.d.ts +23 -2
- package/dist/git/providers/refs.d.ts.map +1 -1
- package/dist/git/providers/staging.d.ts +16 -0
- package/dist/git/providers/staging.d.ts.map +1 -1
- package/dist/git/providers/status.d.ts +4 -1
- package/dist/git/providers/status.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.d.ts.map +1 -1
- package/dist/git/remotes/azure-devops.js.map +1 -1
- package/dist/git/{exec.types.d.ts → run.types.d.ts} +22 -3
- package/dist/git/run.types.d.ts.map +1 -0
- package/dist/git/run.types.js +2 -0
- package/dist/git/run.types.js.map +1 -0
- package/dist/git/service.d.ts.map +1 -1
- package/dist/git/service.js.map +1 -1
- package/dist/git/utils/autolink.utils.d.ts.map +1 -1
- package/dist/git/utils/autolink.utils.js.map +1 -1
- package/dist/git/utils/blame.utils.d.ts.map +1 -1
- package/dist/git/utils/blame.utils.js.map +1 -1
- package/dist/git/utils/conflictResolution.utils.d.ts +6 -0
- package/dist/git/utils/conflictResolution.utils.d.ts.map +1 -0
- package/dist/git/utils/conflictResolution.utils.js +25 -0
- package/dist/git/utils/conflictResolution.utils.js.map +1 -0
- package/dist/git/utils/fileStatus.utils.d.ts +2 -1
- package/dist/git/utils/fileStatus.utils.d.ts.map +1 -1
- package/dist/git/utils/fileStatus.utils.js +4 -0
- package/dist/git/utils/fileStatus.utils.js.map +1 -1
- package/dist/git/utils/search.utils.d.ts.map +1 -1
- package/dist/git/utils/search.utils.js +3 -0
- package/dist/git/utils/search.utils.js.map +1 -1
- package/dist/git/utils/sorting.d.ts +8 -0
- package/dist/git/utils/sorting.d.ts.map +1 -1
- package/dist/git/utils/sorting.js +15 -0
- package/dist/git/utils/sorting.js.map +1 -1
- package/dist/git/utils/status.utils.d.ts.map +1 -1
- package/dist/git/utils/status.utils.js.map +1 -1
- package/dist/git/watching/classifyChange.d.ts.map +1 -1
- package/dist/git/watching/classifyChange.js +8 -0
- package/dist/git/watching/classifyChange.js.map +1 -1
- package/dist/git/watching/gitIgnoreFilter.js +1 -1
- package/dist/git/watching/gitIgnoreFilter.js.map +1 -1
- package/dist/git/watching/initWatcher.d.ts.map +1 -1
- package/dist/git/watching/initWatcher.js.map +1 -1
- package/dist/git/watching/watchGroup.d.ts.map +1 -1
- package/dist/git/watching/watchGroup.js.map +1 -1
- package/dist/git/watching/watchService.d.ts.map +1 -1
- package/dist/git/watching/watchService.js +24 -4
- package/dist/git/watching/watchService.js.map +1 -1
- package/dist/git/watching/watchSession.d.ts.map +1 -1
- package/dist/git/watching/watchSession.js.map +1 -1
- package/dist/git-cli/exec/exec.types.d.ts +1 -1
- package/dist/git-cli/exec/exec.types.d.ts.map +1 -1
- package/dist/git-cli/exec/git.d.ts +3 -3
- package/dist/git-cli/exec/git.d.ts.map +1 -1
- package/dist/git-cli/exec/git.js.map +1 -1
- package/dist/git-cli/exec/gitQueue.d.ts +10 -2
- package/dist/git-cli/exec/gitQueue.d.ts.map +1 -1
- package/dist/git-cli/exec/gitQueue.js +39 -12
- package/dist/git-cli/exec/gitQueue.js.map +1 -1
- package/dist/git-cli/parsers/blameParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/blameParser.js.map +1 -1
- package/dist/git-cli/parsers/logParser.js.map +1 -1
- package/dist/git-cli/parsers/refParser.d.ts +3 -30
- package/dist/git-cli/parsers/refParser.d.ts.map +1 -1
- package/dist/git-cli/parsers/refParser.js +30 -30
- package/dist/git-cli/parsers/refParser.js.map +1 -1
- package/dist/git-cli/providers/blame.d.ts.map +1 -1
- package/dist/git-cli/providers/blame.js.map +1 -1
- package/dist/git-cli/providers/branches.d.ts +15 -5
- package/dist/git-cli/providers/branches.d.ts.map +1 -1
- package/dist/git-cli/providers/branches.js +98 -68
- package/dist/git-cli/providers/branches.js.map +1 -1
- package/dist/git-cli/providers/commits.d.ts.map +1 -1
- package/dist/git-cli/providers/commits.js +74 -30
- package/dist/git-cli/providers/commits.js.map +1 -1
- package/dist/git-cli/providers/config.d.ts +11 -2
- package/dist/git-cli/providers/config.d.ts.map +1 -1
- package/dist/git-cli/providers/config.js +27 -2
- package/dist/git-cli/providers/config.js.map +1 -1
- package/dist/git-cli/providers/diff.d.ts.map +1 -1
- package/dist/git-cli/providers/diff.js +4 -2
- package/dist/git-cli/providers/diff.js.map +1 -1
- package/dist/git-cli/providers/graph.d.ts.map +1 -1
- package/dist/git-cli/providers/graph.js +7 -2
- package/dist/git-cli/providers/graph.js.map +1 -1
- package/dist/git-cli/providers/operations.d.ts +13 -11
- package/dist/git-cli/providers/operations.d.ts.map +1 -1
- package/dist/git-cli/providers/operations.js +108 -38
- package/dist/git-cli/providers/operations.js.map +1 -1
- package/dist/git-cli/providers/patch.d.ts.map +1 -1
- package/dist/git-cli/providers/patch.js.map +1 -1
- package/dist/git-cli/providers/pausedOperations.d.ts +3 -1
- package/dist/git-cli/providers/pausedOperations.d.ts.map +1 -1
- package/dist/git-cli/providers/pausedOperations.js +7 -1
- package/dist/git-cli/providers/pausedOperations.js.map +1 -1
- package/dist/git-cli/providers/refs.d.ts +19 -2
- package/dist/git-cli/providers/refs.d.ts.map +1 -1
- package/dist/git-cli/providers/refs.js +286 -2
- package/dist/git-cli/providers/refs.js.map +1 -1
- package/dist/git-cli/providers/revision.js.map +1 -1
- package/dist/git-cli/providers/staging.d.ts +6 -0
- package/dist/git-cli/providers/staging.d.ts.map +1 -1
- package/dist/git-cli/providers/staging.js +32 -0
- package/dist/git-cli/providers/staging.js.map +1 -1
- package/dist/git-cli/providers/status.d.ts +4 -1
- package/dist/git-cli/providers/status.d.ts.map +1 -1
- package/dist/git-cli/providers/status.js +4 -3
- package/dist/git-cli/providers/status.js.map +1 -1
- package/dist/git-cli/providers/tags.d.ts.map +1 -1
- package/dist/git-cli/providers/tags.js +10 -6
- package/dist/git-cli/providers/tags.js.map +1 -1
- package/dist/ipc/discovery.d.ts +27 -0
- package/dist/ipc/discovery.d.ts.map +1 -0
- package/dist/ipc/discovery.js +38 -0
- package/dist/ipc/discovery.js.map +1 -0
- package/dist/ipc/ipcServer.d.ts +20 -0
- package/dist/ipc/ipcServer.d.ts.map +1 -0
- package/dist/ipc/ipcServer.js +162 -0
- package/dist/ipc/ipcServer.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts +114 -0
- package/dist/plus/agents/providers/claudeCodeProvider.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js +1480 -0
- package/dist/plus/agents/providers/claudeCodeProvider.js.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts +36 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.d.ts.map +1 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js +171 -0
- package/dist/plus/agents/providers/claudeCodeTranscript.js.map +1 -0
- package/dist/plus/agents/sanitizePrompt.d.ts +15 -0
- package/dist/plus/agents/sanitizePrompt.d.ts.map +1 -0
- package/dist/plus/agents/sanitizePrompt.js +103 -0
- package/dist/plus/agents/sanitizePrompt.js.map +1 -0
- package/dist/plus/agents/stateMachine.d.ts +32 -0
- package/dist/plus/agents/stateMachine.d.ts.map +1 -0
- package/dist/plus/agents/stateMachine.js +180 -0
- package/dist/plus/agents/stateMachine.js.map +1 -0
- package/dist/plus/agents/types.d.ts +203 -0
- package/dist/plus/agents/types.d.ts.map +1 -0
- package/dist/plus/agents/types.js +49 -0
- package/dist/plus/agents/types.js.map +1 -0
- package/dist/plus/ai/errors.d.ts +4 -1
- package/dist/plus/ai/errors.d.ts.map +1 -1
- package/dist/plus/ai/errors.js +38 -0
- package/dist/plus/ai/errors.js.map +1 -1
- package/dist/plus/ai/models/promptTemplates.d.ts +11 -2
- package/dist/plus/ai/models/promptTemplates.d.ts.map +1 -1
- package/dist/plus/ai/prompts.d.ts +1 -0
- package/dist/plus/ai/prompts.d.ts.map +1 -1
- package/dist/plus/ai/prompts.js +48 -8
- package/dist/plus/ai/prompts.js.map +1 -1
- package/dist/plus/ai/utils/results.utils.d.ts.map +1 -1
- package/dist/plus/ai/utils/results.utils.js.map +1 -1
- package/dist/plus/git-github/api/github.d.ts +10 -1
- package/dist/plus/git-github/api/github.d.ts.map +1 -1
- package/dist/plus/git-github/api/github.js +156 -49
- package/dist/plus/git-github/api/github.js.map +1 -1
- package/dist/plus/git-github/api/types.d.ts +8 -0
- package/dist/plus/git-github/api/types.d.ts.map +1 -1
- package/dist/plus/git-github/models.d.ts +1 -1
- package/dist/plus/git-github/models.d.ts.map +1 -1
- package/dist/plus/git-github/models.js.map +1 -1
- package/dist/plus/git-github/providers/github/blame.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/blame.js.map +1 -1
- package/dist/plus/git-github/providers/github/branches.d.ts +5 -1
- package/dist/plus/git-github/providers/github/branches.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/branches.js +47 -24
- package/dist/plus/git-github/providers/github/branches.js.map +1 -1
- package/dist/plus/git-github/providers/github/commits.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/commits.js +144 -92
- package/dist/plus/git-github/providers/github/commits.js.map +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts +1 -1
- package/dist/plus/git-github/providers/github/diff.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/diff.js +23 -9
- package/dist/plus/git-github/providers/github/diff.js.map +1 -1
- package/dist/plus/git-github/providers/github/refs.d.ts +9 -1
- package/dist/plus/git-github/providers/github/refs.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/refs.js +38 -13
- package/dist/plus/git-github/providers/github/refs.js.map +1 -1
- package/dist/plus/git-github/providers/github/revision.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/revision.js +1 -2
- package/dist/plus/git-github/providers/github/revision.js.map +1 -1
- package/dist/plus/git-github/providers/github/status.d.ts +4 -1
- package/dist/plus/git-github/providers/github/status.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/status.js +1 -1
- package/dist/plus/git-github/providers/github/status.js.map +1 -1
- package/dist/plus/git-github/providers/github/tags.d.ts.map +1 -1
- package/dist/plus/git-github/providers/github/tags.js +35 -36
- package/dist/plus/git-github/providers/github/tags.js.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.d.ts.map +1 -1
- package/dist/plus/git-github/providers/githubGitProvider.js.map +1 -1
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js.map +1 -1
- package/dist/utils/decorators/serializable.d.ts.map +1 -1
- package/dist/utils/decorators/serializable.js.map +1 -1
- package/dist/utils/dedupedAsyncCache.d.ts +37 -0
- package/dist/utils/dedupedAsyncCache.d.ts.map +1 -0
- package/dist/utils/dedupedAsyncCache.js +68 -0
- package/dist/utils/dedupedAsyncCache.js.map +1 -0
- package/dist/utils/diff.d.ts +2 -0
- package/dist/utils/diff.d.ts.map +1 -0
- package/dist/utils/diff.js +53 -0
- package/dist/utils/diff.js.map +1 -0
- package/dist/utils/disposable.d.ts.map +1 -1
- package/dist/utils/disposable.js.map +1 -1
- package/dist/utils/env/node/exec.d.ts.map +1 -1
- package/dist/utils/env/node/exec.js.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/iterable.d.ts.map +1 -1
- package/dist/utils/iterable.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/lruMap.d.ts +9 -0
- package/dist/utils/lruMap.d.ts.map +1 -1
- package/dist/utils/lruMap.js +26 -4
- package/dist/utils/lruMap.js.map +1 -1
- package/dist/utils/markdown.d.ts.map +1 -1
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/mru.d.ts.map +1 -1
- package/dist/utils/mru.js.map +1 -1
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/promise.d.ts +1 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +17 -0
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/promiseCache.d.ts +10 -0
- package/dist/utils/promiseCache.d.ts.map +1 -1
- package/dist/utils/promiseCache.js +22 -0
- package/dist/utils/promiseCache.js.map +1 -1
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/uri.d.ts.map +1 -1
- package/dist/utils/uri.js.map +1 -1
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js.map +1 -1
- package/package.json +13 -1
- package/src/git/cache.ts +142 -28
- package/src/git/models/commit.ts +1 -0
- package/src/git/models/reference.ts +33 -0
- package/src/git/models/remote.ts +1 -0
- package/src/git/models/repository.ts +21 -3
- package/src/git/models/search.ts +2 -2
- package/src/git/models/worktree.ts +10 -2
- package/src/git/parsers/diffParser.ts +2 -0
- package/src/git/providers/branches.ts +22 -4
- package/src/git/providers/config.ts +2 -0
- package/src/git/providers/operations.ts +44 -0
- package/src/git/providers/pausedOperations.ts +1 -0
- package/src/git/providers/refs.ts +32 -3
- package/src/git/providers/staging.ts +12 -0
- package/src/git/providers/status.ts +6 -1
- package/src/git/remotes/azure-devops.ts +2 -0
- package/src/git/{exec.types.ts → run.types.ts} +22 -2
- package/src/git/service.ts +1 -0
- package/src/git/utils/autolink.utils.ts +1 -0
- package/src/git/utils/blame.utils.ts +2 -0
- package/src/git/utils/conflictResolution.utils.ts +31 -0
- package/src/git/utils/fileStatus.utils.ts +7 -1
- package/src/git/utils/search.utils.ts +2 -0
- package/src/git/utils/sorting.ts +17 -0
- package/src/git/utils/status.utils.ts +1 -0
- package/src/git/watching/classifyChange.ts +9 -0
- package/src/git/watching/gitIgnoreFilter.ts +2 -2
- package/src/git/watching/initWatcher.ts +2 -0
- package/src/git/watching/watchGroup.ts +3 -0
- package/src/git/watching/watchService.ts +38 -5
- package/src/git/watching/watchSession.ts +10 -0
- package/src/git-cli/exec/exec.types.ts +2 -2
- package/src/git-cli/exec/git.ts +6 -5
- package/src/git-cli/exec/gitQueue.ts +41 -12
- package/src/git-cli/parsers/blameParser.ts +1 -0
- package/src/git-cli/parsers/logParser.ts +1 -0
- package/src/git-cli/parsers/refParser.ts +33 -34
- package/src/git-cli/providers/blame.ts +1 -0
- package/src/git-cli/providers/branches.ts +164 -93
- package/src/git-cli/providers/commits.ts +83 -37
- package/src/git-cli/providers/config.ts +41 -2
- package/src/git-cli/providers/diff.ts +8 -2
- package/src/git-cli/providers/graph.ts +11 -2
- package/src/git-cli/providers/operations.ts +186 -49
- package/src/git-cli/providers/patch.ts +1 -0
- package/src/git-cli/providers/pausedOperations.ts +8 -0
- package/src/git-cli/providers/refs.ts +247 -3
- package/src/git-cli/providers/revision.ts +2 -2
- package/src/git-cli/providers/staging.ts +33 -0
- package/src/git-cli/providers/status.ts +15 -4
- package/src/git-cli/providers/tags.ts +15 -16
- package/src/ipc/discovery.ts +56 -0
- package/src/ipc/ipcServer.ts +171 -0
- package/src/plus/agents/providers/claudeCodeProvider.ts +1782 -0
- package/src/plus/agents/providers/claudeCodeTranscript.ts +214 -0
- package/src/plus/agents/sanitizePrompt.ts +109 -0
- package/src/plus/agents/stateMachine.ts +197 -0
- package/src/plus/agents/types.ts +277 -0
- package/src/plus/ai/errors.ts +40 -0
- package/src/plus/ai/models/promptTemplates.ts +13 -0
- package/src/plus/ai/prompts.ts +49 -8
- package/src/plus/ai/utils/results.utils.ts +2 -0
- package/src/plus/git-github/api/github.ts +199 -53
- package/src/plus/git-github/api/types.ts +15 -0
- package/src/plus/git-github/models.ts +1 -1
- package/src/plus/git-github/providers/github/blame.ts +2 -0
- package/src/plus/git-github/providers/github/branches.ts +61 -31
- package/src/plus/git-github/providers/github/commits.ts +231 -160
- package/src/plus/git-github/providers/github/diff.ts +27 -19
- package/src/plus/git-github/providers/github/refs.ts +57 -22
- package/src/plus/git-github/providers/github/revision.ts +1 -2
- package/src/plus/git-github/providers/github/status.ts +6 -1
- package/src/plus/git-github/providers/github/tags.ts +61 -62
- package/src/plus/git-github/providers/githubGitProvider.ts +1 -0
- package/src/utils/color.ts +2 -0
- package/src/utils/decorators/serializable.ts +1 -0
- package/src/utils/dedupedAsyncCache.ts +74 -0
- package/src/utils/diff.ts +61 -0
- package/src/utils/disposable.ts +2 -0
- package/src/utils/env/node/exec.ts +2 -0
- package/src/utils/error.ts +1 -0
- package/src/utils/iterable.ts +3 -0
- package/src/utils/logger.ts +1 -0
- package/src/utils/lruMap.ts +29 -4
- package/src/utils/markdown.ts +1 -0
- package/src/utils/mru.ts +2 -0
- package/src/utils/path.ts +1 -0
- package/src/utils/promise.ts +22 -0
- package/src/utils/promiseCache.ts +24 -0
- package/src/utils/string.ts +2 -0
- package/src/utils/uri.ts +1 -0
- package/src/utils/version.ts +1 -0
- package/dist/git/exec.types.d.ts.map +0 -1
- package/dist/git/exec.types.js +0 -2
- package/dist/git/exec.types.js.map +0 -1
|
@@ -33,72 +33,71 @@ export class TagsGitSubProvider implements GitTagsSubProvider {
|
|
|
33
33
|
): Promise<PagedResult<GitTag>> {
|
|
34
34
|
if (repoPath == null) return emptyPagedResult;
|
|
35
35
|
|
|
36
|
+
const path = repoPath;
|
|
37
|
+
|
|
36
38
|
const scope = getScopedLogger();
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (!result.paging?.more || !loadAll) return { ...result, values: tags };
|
|
85
|
-
|
|
86
|
-
cursor = result.paging.cursor;
|
|
87
|
-
}
|
|
88
|
-
} catch (ex) {
|
|
89
|
-
cancellable.invalidate();
|
|
90
|
-
scope?.error(ex);
|
|
91
|
-
debugger;
|
|
92
|
-
|
|
93
|
-
return emptyPagedResult;
|
|
40
|
+
// Compose cache key with cursor so re-loads of the same page hit the cache;
|
|
41
|
+
// `repoPath` (no suffix) is reserved for the full "all tags" entry.
|
|
42
|
+
// TODO: `cache.tags` is `PromiseMap<RepoPath, ...>` keyed exactly by repoPath, so
|
|
43
|
+
// `clearCaches('tags')` / `unregisterRepoPath` will not invalidate composite-key entries.
|
|
44
|
+
// Acceptable today because tags rarely move during a virtual-repo session, but the entries
|
|
45
|
+
// leak in memory until provider GC. Long-term: switch to RepoPromiseCacheMap or add prefix-invalidate.
|
|
46
|
+
const cacheKey = options?.paging?.cursor != null ? `${path}#${options.paging.cursor}` : path;
|
|
47
|
+
const tagsPromise = this.cache.tags.getOrCreate(
|
|
48
|
+
cacheKey,
|
|
49
|
+
async cancellable => {
|
|
50
|
+
try {
|
|
51
|
+
const { metadata, github, session } = await this.provider.ensureRepositoryContext(path);
|
|
52
|
+
|
|
53
|
+
const tags: GitTag[] = [];
|
|
54
|
+
|
|
55
|
+
let cursor = options?.paging?.cursor;
|
|
56
|
+
const loadAll = cursor == null;
|
|
57
|
+
|
|
58
|
+
let authoredDate;
|
|
59
|
+
let committedDate;
|
|
60
|
+
|
|
61
|
+
while (true) {
|
|
62
|
+
const result = await github.getTags(
|
|
63
|
+
toTokenInfo(this.provider.authenticationProviderId, session),
|
|
64
|
+
metadata.repo.owner,
|
|
65
|
+
metadata.repo.name,
|
|
66
|
+
{ cursor: cursor },
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
for (const tag of result.values) {
|
|
70
|
+
authoredDate =
|
|
71
|
+
tag.target.authoredDate ?? tag.target.target?.authoredDate ?? tag.target.tagger?.date;
|
|
72
|
+
committedDate =
|
|
73
|
+
tag.target.committedDate ?? tag.target.target?.committedDate ?? tag.target.tagger?.date;
|
|
74
|
+
|
|
75
|
+
tags.push(
|
|
76
|
+
new GitTag(
|
|
77
|
+
path,
|
|
78
|
+
tag.name,
|
|
79
|
+
tag.target.target?.oid ?? tag.target.oid,
|
|
80
|
+
tag.target.message ?? tag.target.target?.message ?? '',
|
|
81
|
+
authoredDate != null ? new Date(authoredDate) : undefined,
|
|
82
|
+
committedDate != null ? new Date(committedDate) : undefined,
|
|
83
|
+
),
|
|
84
|
+
);
|
|
94
85
|
}
|
|
95
|
-
},
|
|
96
|
-
cancellation,
|
|
97
|
-
);
|
|
98
86
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
87
|
+
if (!result.paging?.more || !loadAll) return { ...result, values: tags };
|
|
88
|
+
|
|
89
|
+
cursor = result.paging.cursor;
|
|
90
|
+
}
|
|
91
|
+
} catch (ex) {
|
|
92
|
+
cancellable.invalidate();
|
|
93
|
+
scope?.error(ex);
|
|
94
|
+
debugger;
|
|
95
|
+
|
|
96
|
+
return emptyPagedResult;
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
cancellation,
|
|
100
|
+
);
|
|
102
101
|
|
|
103
102
|
let result = await tagsPromise;
|
|
104
103
|
if (options?.filter != null) {
|
|
@@ -152,6 +152,7 @@ export class GitHubGitProvider implements GitHubGitProviderInternal, GitProvider
|
|
|
152
152
|
|
|
153
153
|
getPagingLimit(limit?: number): number {
|
|
154
154
|
if (limit === 0) return 0;
|
|
155
|
+
|
|
155
156
|
limit = Math.min(limit ?? this.context.config?.paging?.limit ?? 100, 100);
|
|
156
157
|
if (limit !== 0 && limit < 100) {
|
|
157
158
|
limit = Math.max(limit, 1);
|
package/src/utils/color.ts
CHANGED
|
@@ -568,6 +568,7 @@ export class Color {
|
|
|
568
568
|
if (of.isLighterThan(relative)) {
|
|
569
569
|
return of;
|
|
570
570
|
}
|
|
571
|
+
|
|
571
572
|
factor = factor ? factor : 0.5;
|
|
572
573
|
const lum1 = of.getRelativeLuminance();
|
|
573
574
|
const lum2 = relative.getRelativeLuminance();
|
|
@@ -579,6 +580,7 @@ export class Color {
|
|
|
579
580
|
if (of.isDarkerThan(relative)) {
|
|
580
581
|
return of;
|
|
581
582
|
}
|
|
583
|
+
|
|
582
584
|
factor = factor ? factor : 0.5;
|
|
583
585
|
const lum1 = of.getRelativeLuminance();
|
|
584
586
|
const lum2 = relative.getRelativeLuminance();
|
|
@@ -18,6 +18,7 @@ export function serializable(target: Function): void {
|
|
|
18
18
|
while (proto != null && proto !== Object.prototype) {
|
|
19
19
|
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
20
20
|
if (key === 'constructor') continue;
|
|
21
|
+
|
|
21
22
|
const desc = Object.getOwnPropertyDescriptor(proto, key);
|
|
22
23
|
if (desc?.get != null) {
|
|
23
24
|
getterKeys.add(key);
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-key cache for async resolution that dedupes concurrent first-time callers and caches the
|
|
3
|
+
* resolved value (including `undefined`) for subsequent reads.
|
|
4
|
+
*
|
|
5
|
+
* Two internal Maps drive the semantics:
|
|
6
|
+
* - `_resolved` holds settled values. `has(key)` distinguishes a cached `undefined` from "never
|
|
7
|
+
* resolved", so callers can intentionally cache "no result" without re-running the resolver.
|
|
8
|
+
* - `_resolving` holds in-flight Promises. While a key resolves, concurrent `getOrResolve` callers
|
|
9
|
+
* share the same Promise instead of each invoking the resolver.
|
|
10
|
+
*
|
|
11
|
+
* Failed resolutions do not poison the cache — the entry is removed when the in-flight Promise
|
|
12
|
+
* rejects, so the next call retries.
|
|
13
|
+
*/
|
|
14
|
+
export class DedupedAsyncCache<K, V> {
|
|
15
|
+
private readonly _resolved = new Map<K, V>();
|
|
16
|
+
private readonly _resolving = new Map<K, Promise<V>>();
|
|
17
|
+
|
|
18
|
+
/** True iff `key` has a settled value cached. Distinct from "currently resolving". */
|
|
19
|
+
has(key: K): boolean {
|
|
20
|
+
return this._resolved.has(key);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Settled value for `key`, or `undefined` when not yet cached. May also legitimately return
|
|
24
|
+
* `undefined` for a key whose cached value is `undefined`; use `has` to disambiguate. */
|
|
25
|
+
get(key: K): V | undefined {
|
|
26
|
+
return this._resolved.get(key);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Populates the cache directly, bypassing the resolver. Used by callers that already know the
|
|
30
|
+
* value (e.g. event payloads, post-write reconciles) and want subsequent reads to hit. */
|
|
31
|
+
set(key: K, value: V): void {
|
|
32
|
+
this._resolved.set(key, value);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Removes both the settled value and any in-flight Promise for `key`. */
|
|
36
|
+
delete(key: K): void {
|
|
37
|
+
this._resolved.delete(key);
|
|
38
|
+
this._resolving.delete(key);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Clears everything — both settled values and in-flight Promises. */
|
|
42
|
+
clear(): void {
|
|
43
|
+
this._resolved.clear();
|
|
44
|
+
this._resolving.clear();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Returns the cached value for `key`, invoking `resolver` only on a cache miss. Concurrent
|
|
49
|
+
* cache-miss callers for the same key share the same in-flight Promise — `resolver` is invoked
|
|
50
|
+
* exactly once per cache fill. If `resolver` rejects, the entry is removed so subsequent calls
|
|
51
|
+
* retry rather than receiving a permanently cached failure.
|
|
52
|
+
*/
|
|
53
|
+
getOrResolve(key: K, resolver: () => Promise<V>): Promise<V> {
|
|
54
|
+
if (this._resolved.has(key)) {
|
|
55
|
+
// Map.get returns `V | undefined`; `has` confirmed presence, so the value (even if it
|
|
56
|
+
// is `undefined` by intent) is the cached one. Cast pins the return type.
|
|
57
|
+
return Promise.resolve(this._resolved.get(key) as V);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const existing = this._resolving.get(key);
|
|
61
|
+
if (existing != null) return existing;
|
|
62
|
+
|
|
63
|
+
const pending = resolver()
|
|
64
|
+
.then(value => {
|
|
65
|
+
this._resolved.set(key, value);
|
|
66
|
+
return value;
|
|
67
|
+
})
|
|
68
|
+
.finally(() => {
|
|
69
|
+
this._resolving.delete(key);
|
|
70
|
+
});
|
|
71
|
+
this._resolving.set(key, pending);
|
|
72
|
+
return pending;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Annotates diff to make is easier for agentic reference to line number.
|
|
2
|
+
// Brackets sit AFTER the line-type marker so file-level diff parsers
|
|
3
|
+
// (e.g. `filterDiffFiles`) that key off `diff --git` / `+++` / `---` headers still work.
|
|
4
|
+
export function annotateDiffWithNewLineNumbers(diff: string): string {
|
|
5
|
+
if (!diff) return diff;
|
|
6
|
+
|
|
7
|
+
const lines = diff.split('\n');
|
|
8
|
+
const out: string[] = new Array(lines.length);
|
|
9
|
+
let newLine = 0;
|
|
10
|
+
let inHunk = false;
|
|
11
|
+
|
|
12
|
+
for (let i = 0; i < lines.length; i++) {
|
|
13
|
+
const line = lines[i];
|
|
14
|
+
|
|
15
|
+
if (line.startsWith('@@')) {
|
|
16
|
+
const match = /\+(\d+)(?:,\d+)?\s/.exec(line);
|
|
17
|
+
newLine = match != null ? parseInt(match[1], 10) : 0;
|
|
18
|
+
inHunk = true;
|
|
19
|
+
out[i] = line;
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (
|
|
24
|
+
line.startsWith('diff --git') ||
|
|
25
|
+
line.startsWith('index ') ||
|
|
26
|
+
line.startsWith('--- ') ||
|
|
27
|
+
line.startsWith('+++ ') ||
|
|
28
|
+
line.startsWith('new file') ||
|
|
29
|
+
line.startsWith('deleted file') ||
|
|
30
|
+
line.startsWith('rename ') ||
|
|
31
|
+
line.startsWith('copy ') ||
|
|
32
|
+
line.startsWith('similarity ') ||
|
|
33
|
+
line.startsWith('dissimilarity ') ||
|
|
34
|
+
line.startsWith('Binary files')
|
|
35
|
+
) {
|
|
36
|
+
inHunk = false;
|
|
37
|
+
out[i] = line;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (!inHunk || line.startsWith('\\')) {
|
|
42
|
+
out[i] = line;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const marker = line[0];
|
|
47
|
+
if (marker === '-') {
|
|
48
|
+
out[i] = `-[ ]${line.slice(1)}`;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (marker === '+' || marker === ' ') {
|
|
52
|
+
out[i] = `${marker}[${String(newLine).padStart(5, ' ')}]${line.slice(1)}`;
|
|
53
|
+
newLine++;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
out[i] = line;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return out.join('\n');
|
|
61
|
+
}
|
package/src/utils/disposable.ts
CHANGED
|
@@ -13,6 +13,7 @@ export function createDisposable(
|
|
|
13
13
|
options?: { once?: boolean },
|
|
14
14
|
): UnifiedDisposable | undefined {
|
|
15
15
|
if (dispose == null) return undefined;
|
|
16
|
+
|
|
16
17
|
if (options?.once) {
|
|
17
18
|
dispose = once(dispose);
|
|
18
19
|
}
|
|
@@ -61,6 +62,7 @@ export function fromDisposables(
|
|
|
61
62
|
let disposed = false;
|
|
62
63
|
const dispose = () => {
|
|
63
64
|
if (disposed) return;
|
|
65
|
+
|
|
64
66
|
disposed = true;
|
|
65
67
|
|
|
66
68
|
for (const d of disposables) {
|
|
@@ -287,6 +287,7 @@ export function run<T extends number | string>(
|
|
|
287
287
|
`Non-UTF-8 encoding '${encoding}' requested but no decode function configured`,
|
|
288
288
|
);
|
|
289
289
|
}
|
|
290
|
+
|
|
290
291
|
stdoutDecoded = await decode(
|
|
291
292
|
Buffer.from(stdout, 'binary'),
|
|
292
293
|
encoding ? { encoding: encoding } : undefined,
|
|
@@ -311,6 +312,7 @@ export function run<T extends number | string>(
|
|
|
311
312
|
if (decode == null) {
|
|
312
313
|
throw new Error(`Non-UTF-8 encoding '${encoding}' requested but no decode function configured`);
|
|
313
314
|
}
|
|
315
|
+
|
|
314
316
|
resolve(
|
|
315
317
|
(await decode(
|
|
316
318
|
Buffer.from(stdout, 'binary'),
|
package/src/utils/error.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
export function isErrorLike(v: unknown): v is { name: string; message: string; stack?: string } {
|
|
8
8
|
if (v == null || typeof v !== 'object') return false;
|
|
9
9
|
if (v instanceof Error) return true;
|
|
10
|
+
|
|
10
11
|
const o = v as { name?: unknown; message?: unknown };
|
|
11
12
|
return typeof o.name === 'string' && typeof o.message === 'string';
|
|
12
13
|
}
|
package/src/utils/iterable.ts
CHANGED
|
@@ -269,6 +269,7 @@ export function findIndex<T>(source: Iterable<T> | IterableIterator<T>, predicat
|
|
|
269
269
|
let i = 0;
|
|
270
270
|
for (const item of source) {
|
|
271
271
|
if (predicate(item)) return i;
|
|
272
|
+
|
|
272
273
|
i++;
|
|
273
274
|
}
|
|
274
275
|
return -1;
|
|
@@ -329,6 +330,7 @@ class FlatMapIterator<T, TMapped> implements IterableIterator<TMapped> {
|
|
|
329
330
|
if (!mappedResult.done) {
|
|
330
331
|
return { done: false, value: mappedResult.value };
|
|
331
332
|
}
|
|
333
|
+
|
|
332
334
|
// Current mapped iterator is exhausted, move to next source item
|
|
333
335
|
this.currentMappedIterator = undefined;
|
|
334
336
|
}
|
|
@@ -576,6 +578,7 @@ class SkipIterator<T> implements IterableIterator<T> {
|
|
|
576
578
|
this.done = true;
|
|
577
579
|
return { done: true, value: undefined };
|
|
578
580
|
}
|
|
581
|
+
|
|
579
582
|
this.skipped++;
|
|
580
583
|
}
|
|
581
584
|
|
package/src/utils/logger.ts
CHANGED
package/src/utils/lruMap.ts
CHANGED
|
@@ -14,9 +14,24 @@
|
|
|
14
14
|
*/
|
|
15
15
|
export class LruMap<K, V> {
|
|
16
16
|
private readonly _map = new Map<K, V>();
|
|
17
|
+
private readonly _pinned = new Set<K>();
|
|
17
18
|
|
|
18
19
|
constructor(private readonly limit: number) {}
|
|
19
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Pin a key so it's never evicted by capacity pressure (it can still be explicitly
|
|
23
|
+
* `delete`d / `clear`ed). Use for entries that must stay available regardless of how many
|
|
24
|
+
* other keys churn — e.g. the selected repo's WIP, which the header badge derives from.
|
|
25
|
+
* Pinning a key not yet present is fine; it takes effect once the key is `set`.
|
|
26
|
+
*/
|
|
27
|
+
pin(key: K): void {
|
|
28
|
+
this._pinned.add(key);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
unpin(key: K): void {
|
|
32
|
+
this._pinned.delete(key);
|
|
33
|
+
}
|
|
34
|
+
|
|
20
35
|
get size(): number {
|
|
21
36
|
return this._map.size;
|
|
22
37
|
}
|
|
@@ -55,6 +70,7 @@ export class LruMap<K, V> {
|
|
|
55
70
|
*/
|
|
56
71
|
touch(key: K): boolean {
|
|
57
72
|
if (!this._map.has(key)) return false;
|
|
73
|
+
|
|
58
74
|
const value = this._map.get(key) as V;
|
|
59
75
|
this._map.delete(key);
|
|
60
76
|
this._map.set(key, value);
|
|
@@ -67,6 +83,9 @@ export class LruMap<K, V> {
|
|
|
67
83
|
|
|
68
84
|
clear(): void {
|
|
69
85
|
this._map.clear();
|
|
86
|
+
// Drop pins too — a cleared map has no entries to protect, and leaving stale pins would
|
|
87
|
+
// wrongly shield the NEXT value set under a previously-pinned key from eviction.
|
|
88
|
+
this._pinned.clear();
|
|
70
89
|
}
|
|
71
90
|
|
|
72
91
|
keys(): IterableIterator<K> {
|
|
@@ -78,10 +97,16 @@ export class LruMap<K, V> {
|
|
|
78
97
|
}
|
|
79
98
|
|
|
80
99
|
private evict(): void {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
100
|
+
if (this._map.size <= this.limit) return;
|
|
101
|
+
|
|
102
|
+
// Iterate oldest-first, deleting the first non-pinned keys until back at capacity.
|
|
103
|
+
// Pinned keys are skipped — if everything is pinned the map can exceed `limit`, which
|
|
104
|
+
// is the intended trade-off (pins are deliberate and few).
|
|
105
|
+
for (const key of this._map.keys()) {
|
|
106
|
+
if (this._map.size <= this.limit) break;
|
|
107
|
+
if (this._pinned.has(key)) continue;
|
|
108
|
+
|
|
109
|
+
this._map.delete(key);
|
|
85
110
|
}
|
|
86
111
|
}
|
|
87
112
|
}
|
package/src/utils/markdown.ts
CHANGED
package/src/utils/mru.ts
CHANGED
package/src/utils/path.ts
CHANGED
|
@@ -25,6 +25,7 @@ export function commonBase(s: string[], delimiter: string, ignoreCase?: boolean)
|
|
|
25
25
|
for (let i = 1; i < s.length; i++) {
|
|
26
26
|
const index = commonBaseIndex(common, s[i], delimiter, ignoreCase);
|
|
27
27
|
if (index === 0) return undefined;
|
|
28
|
+
|
|
28
29
|
common = common.substring(0, index + 1);
|
|
29
30
|
}
|
|
30
31
|
|
package/src/utils/promise.ts
CHANGED
|
@@ -143,6 +143,7 @@ export function cancellable<T>(
|
|
|
143
143
|
resolver('cancelled');
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
|
+
|
|
146
147
|
const handler = () => resolver('cancelled');
|
|
147
148
|
cancellation.addEventListener('abort', handler);
|
|
148
149
|
disposeCancellation = { dispose: () => cancellation.removeEventListener('abort', handler) };
|
|
@@ -156,6 +157,7 @@ export function cancellable<T>(
|
|
|
156
157
|
resolver('timedout');
|
|
157
158
|
return;
|
|
158
159
|
}
|
|
160
|
+
|
|
159
161
|
const handler = () => resolver('timedout');
|
|
160
162
|
timeout.addEventListener('abort', handler);
|
|
161
163
|
disposeTimeout = { dispose: () => timeout.removeEventListener('abort', handler) };
|
|
@@ -588,3 +590,23 @@ export function wait(ms: number): Promise<void> {
|
|
|
588
590
|
export function waitUntilNextTick(): Promise<void> {
|
|
589
591
|
return new Promise<void>(resolve => queueMicrotask(resolve));
|
|
590
592
|
}
|
|
593
|
+
|
|
594
|
+
const _schedulerYield = (
|
|
595
|
+
globalThis as unknown as { scheduler?: { yield?: () => Promise<void> } }
|
|
596
|
+
).scheduler?.yield?.bind((globalThis as any).scheduler);
|
|
597
|
+
const _raf =
|
|
598
|
+
typeof (globalThis as any).requestAnimationFrame === 'function'
|
|
599
|
+
? (globalThis as unknown as { requestAnimationFrame?: (callback: (time: number) => void) => number })
|
|
600
|
+
.requestAnimationFrame
|
|
601
|
+
: undefined;
|
|
602
|
+
|
|
603
|
+
export async function yieldToScheduler(): Promise<void> {
|
|
604
|
+
if (_schedulerYield != null) {
|
|
605
|
+
await _schedulerYield();
|
|
606
|
+
} else if (_raf != null) {
|
|
607
|
+
await new Promise(r => _raf(r));
|
|
608
|
+
} else {
|
|
609
|
+
// Node fallback
|
|
610
|
+
await new Promise(r => setTimeout(r, 0));
|
|
611
|
+
}
|
|
612
|
+
}
|
|
@@ -97,6 +97,7 @@ export class PromiseCache<K, V> {
|
|
|
97
97
|
if (entry == null || this.expired(entry, now)) {
|
|
98
98
|
return undefined;
|
|
99
99
|
}
|
|
100
|
+
|
|
100
101
|
// Update accessed time
|
|
101
102
|
entry.accessed = now;
|
|
102
103
|
return entry.promise;
|
|
@@ -686,6 +687,29 @@ export class RepoPromiseCacheMap<K, V> {
|
|
|
686
687
|
return deleted;
|
|
687
688
|
}
|
|
688
689
|
|
|
690
|
+
/**
|
|
691
|
+
* Invalidates all keys matching a prefix from a repository's cache. See `PromiseCache.invalidate`
|
|
692
|
+
* for semantics — in-flight entries are marked invalidated and shared with new callers; settled
|
|
693
|
+
* entries are hard-deleted. Prefer over `deleteByKeyPrefix` when the eviction is a "data has
|
|
694
|
+
* changed" event and in-flight factories' results would still be valid for current waiters.
|
|
695
|
+
* @param repoPath - The repository path
|
|
696
|
+
* @param prefix - Key prefix to match
|
|
697
|
+
* @returns true if something was invalidated
|
|
698
|
+
*/
|
|
699
|
+
invalidateByKeyPrefix(this: RepoPromiseCacheMap<string, V>, repoPath: string, prefix: string): boolean {
|
|
700
|
+
const repoCache = this.cache.get(repoPath);
|
|
701
|
+
if (repoCache == null) return false;
|
|
702
|
+
|
|
703
|
+
let invalidated = false;
|
|
704
|
+
for (const key of repoCache.keys()) {
|
|
705
|
+
if (key.startsWith(prefix)) {
|
|
706
|
+
repoCache.invalidate(key);
|
|
707
|
+
invalidated = true;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
return invalidated;
|
|
711
|
+
}
|
|
712
|
+
|
|
689
713
|
/**
|
|
690
714
|
* Clears all caches for all repositories.
|
|
691
715
|
*/
|
package/src/utils/string.ts
CHANGED
|
@@ -518,6 +518,7 @@ class IterableDelimiterIterator implements IterableIterator<string> {
|
|
|
518
518
|
this.done = true;
|
|
519
519
|
return { done: false, value: value };
|
|
520
520
|
}
|
|
521
|
+
|
|
521
522
|
this.done = true;
|
|
522
523
|
return { done: true, value: undefined };
|
|
523
524
|
}
|
|
@@ -631,6 +632,7 @@ class AsyncIterableDelimiterIterator implements AsyncIterableIterator<string> {
|
|
|
631
632
|
this.done = true;
|
|
632
633
|
return { done: false, value: value };
|
|
633
634
|
}
|
|
635
|
+
|
|
634
636
|
this.done = true;
|
|
635
637
|
return { done: true, value: undefined };
|
|
636
638
|
}
|
package/src/utils/uri.ts
CHANGED
|
@@ -105,6 +105,7 @@ export function reviveUri(data: UriComponents): Uri {
|
|
|
105
105
|
export function getRepositoryKey(pathOrUri: string | Uri): string {
|
|
106
106
|
if (typeof pathOrUri === 'string') {
|
|
107
107
|
if (!hasScheme(pathOrUri)) return normalizePath(pathOrUri);
|
|
108
|
+
|
|
108
109
|
// Parse URI strings so file: URIs get normalized to fsPath
|
|
109
110
|
pathOrUri = URI.parse(pathOrUri);
|
|
110
111
|
}
|
package/src/utils/version.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.types.d.ts","sourceRoot":"","sources":["../../src/git/exec.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,IAAI;IACrE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEpB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,WAAW,CACV,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACpE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC9B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mGAAmG;IACnG,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,0GAA0G;IAC1G,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE;QACT,KAAK,EAAE,cAAc,CAAC;QACtB,gGAAgG;QAChG,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,CAAC;IAGF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAG5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
package/dist/git/exec.types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.types.js","sourceRoot":"","sources":["../../src/git/exec.types.ts"],"names":[],"mappings":""}
|