From c9f6377cdf60d5a74f6da58c0f1861310cca573c Mon Sep 17 00:00:00 2001 From: Tewan Date: Tue, 28 Sep 2021 20:12:16 +0200 Subject: [PATCH] Add stub for vpk provider --- package-lock.json | 4 ++-- src/vpk-provider.ts | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/vpk-provider.ts diff --git a/package-lock.json b/package-lock.json index b1158d9..f36e4a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "source-engine-support", - "version": "0.0.16", + "version": "0.0.26", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "source-engine-support", - "version": "0.0.16", + "version": "0.0.26", "license": "SEE LICENSE IN 'LICENSE'", "dependencies": { "@types/jest-expect-message": "^1.0.3", diff --git a/src/vpk-provider.ts b/src/vpk-provider.ts new file mode 100644 index 0000000..f4fcfe0 --- /dev/null +++ b/src/vpk-provider.ts @@ -0,0 +1,37 @@ +import { Disposable, Event, EventEmitter, ExtensionContext, FileChangeEvent, FileStat, FileSystemProvider, FileType, Uri, workspace } from "vscode"; + +export function init(context: ExtensionContext): void { + workspace.registerFileSystemProvider("vpk", new VpkFileSystemProvider()); +} + +export class VpkFileSystemProvider implements FileSystemProvider { + + private _emitter = new EventEmitter>(); + onDidChangeFile: Event = this._emitter.event; + + watch(uri: Uri, options: { recursive: boolean; excludes: string[]; }): Disposable { + throw new Error("Method not implemented."); + } + stat(uri: Uri): FileStat | Thenable { + throw new Error("Method not implemented."); + } + readDirectory(uri: Uri): [string, FileType][] | Thenable<[string, FileType][]> { + throw new Error("Method not implemented."); + } + createDirectory(uri: Uri): void | Thenable { + throw new Error("Method not implemented."); + } + readFile(uri: Uri): Uint8Array | Thenable { + throw new Error("Method not implemented."); + } + writeFile(uri: Uri, content: Uint8Array, options: { create: boolean; overwrite: boolean; }): void | Thenable { + throw new Error("Method not implemented."); + } + delete(uri: Uri, options: { recursive: boolean; }): void | Thenable { + throw new Error("Method not implemented."); + } + rename(oldUri: Uri, newUri: Uri, options: { overwrite: boolean; }): void | Thenable { + throw new Error("Method not implemented."); + } + +} \ No newline at end of file