vscode/extensions/git/src/watch.ts
Benjamin Pasero 044092db55
git - adopt new out of workspace watching support (#140691) (#140695)
* git - adopt new out of workspace watching support (#140691)

* dispose emitter too

* 💄

Co-authored-by: Joao Moreno <joao.moreno@microsoft.com>
2022-01-14 16:29:15 +01:00

23 lines
869 B
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Event, RelativePattern, Uri, workspace } from 'vscode';
import { IDisposable, anyEvent } from './util';
export interface IFileWatcher extends IDisposable {
readonly event: Event<Uri>;
}
export function watch(location: string): IFileWatcher {
const watcher = workspace.createFileSystemWatcher(new RelativePattern(location, '*'));
return new class implements IFileWatcher {
event = anyEvent(watcher.onDidCreate, watcher.onDidChange, watcher.onDidDelete);
dispose() {
watcher.dispose();
}
};
}