this was all i managed to make before i lost motivation lol
It’s based on MemFS, which is an example memory-based filesystem that VSCode provides in their docs - perfect for our usecase.
The filesystem is defined by a file that has functions for each operation the user might perform. Here’s my empty GlitchFS:
const vscode = require("vscode");
const path = require("path");
/**
* @param {vscode.ExtensionContext} context
*/
module.exports = class GlitchFileSystemProvider {
stat(uri) {}
readDirectory(uri) {}
createDirectory(uri) {}
readFile(uri) {}
writeFile(uri, content) {}
copy(source, destination) {}
delete(uri) {}
rename(oldUri, newUri) {}
watch(uri) {
return new vscode.Disposable(() => {});
}
onDidChangeFile = new vscode.EventEmitter().event;
};