Update resource groups to use custom interface
[?]
Dec 28, 2020, 5:11 AM
BIEL6Z5JDBIC7ODKOW2FW65S2EW5U4ARAPWSD6FQLM2GKTEB6IBQCDependencies
- [2]
WHQQV5QQAdd watcher to refresh on file system changes - [3]
H6KYVQ2QAdd a class to represent resources - [4]
YPHDYP3LFix infinite loop on state refresh - [5]
MU6ZNUYZIntegrate recordAll command with input box - [6]
LUFSQKUVEnable support for experimental decorators - [7]
ZGMIJNFVCreate pijul.ts for executing commands using the Pijul CLI - [8]
B4SKYP3YAdd repository model and add steps to initialize it - [9]
H3GAPFUCAdd pijul.recordAll command - [10]
YUVLBWV3Populate resource groups for unrecorded and untracked changes
Change contents
- replacement in src/repository.ts at line 1
import { Disposable, Event, OutputChannel, RelativePattern, scm, SourceControl, SourceControlResourceGroup, Uri, window, workspace } from 'vscode';import { Disposable, Event, EventEmitter, OutputChannel, RelativePattern, scm, SourceControl, Uri, window, workspace } from 'vscode'; - edit in src/repository.ts at line 3
import { PijulResourceGroup } from './resource'; - replacement in src/repository.ts at line 11
private readonly changedGroup: SourceControlResourceGroup;private readonly untrackedGroup: SourceControlResourceGroup;public readonly changedGroup: PijulResourceGroup;public readonly untrackedGroup: PijulResourceGroup;private readonly onDidRefreshStatusEmitter = new EventEmitter<void>();readonly onDidRefreshStatus: Event<void> = this.onDidRefreshStatusEmitter.event; - replacement in src/repository.ts at line 47[4.30]→[4.97:194](∅→∅),[4.1104]→[4.97:194](∅→∅),[4.194]→[4.1221:1321](∅→∅),[4.1221]→[4.1221:1321](∅→∅)
this.changedGroup = this.sourceControl.createResourceGroup('changed', 'Unrecorded Changes');this.untrackedGroup = this.sourceControl.createResourceGroup('untracked', 'Untracked Changes');this.changedGroup = this.sourceControl.createResourceGroup('changed', 'Unrecorded Changes') as PijulResourceGroup;this.untrackedGroup = this.sourceControl.createResourceGroup('untracked', 'Untracked Changes') as PijulResourceGroup; - replacement in src/repository.ts at line 104
this.untrackedGroup.resourceStates = (await this.repository.getUntrackedFiles()).map(u => ({ resourceUri: u, decorations: { faded: true } }));this.untrackedGroup.resourceStates = await this.repository.getUntrackedFiles(); - edit in src/repository.ts at line 107
this.onDidRefreshStatusEmitter.fire(); - replacement in src/resource.ts at line 1
import { FileDecoration, SourceControlResourceDecorations, SourceControlResourceState, ThemeColor, Uri } from 'vscode';import { FileDecoration, SourceControlResourceDecorations, SourceControlResourceGroup, SourceControlResourceState, ThemeColor, Uri } from 'vscode'; - edit in src/resource.ts at line 164
}/*** Interface which represents a groups of resources that is tracked by* the Pijul source control manager.*/export interface PijulResourceGroup extends SourceControlResourceGroup {resourceStates: Resource[] - replacement in src/pijul.ts at line 196
async getUntrackedFiles (): Promise<Uri[]> {async getUntrackedFiles (): Promise<Resource[]> { - replacement in src/pijul.ts at line 201
return allFiles.filter(f => !trackedFiles.some(t => t.path === f.path));return allFiles.filter(f => !trackedFiles.some(t => t.path === f.path)).map(f => new Resource(f, ResourceStatus.Untracked));