dart_scheme
dart_scheme copied to clipboard
Add a filesystem
In preparation for the editor (#21), I'd like to add some sort of unified file system.
Ideally, it should support files from the following sources, accessible through a unified API and mountable at any level:
- Locally saved files created by the user
- Libraries, demos, and themes in the
web/scm
directory - Application-defined constants
- User-configurable "mounts" of outside sites (similar to the
web/scm
directory, but hosted elsewhere) - A user's Ok backups (#22)
- The user's REPL history (concept would be that that history items would all be stored in a directory, with each item represented as a file)
Of these, only the first three would be especially important to start, but I want to make sure the system is set up to allow for the others. Mounts of outside sites could also be useful for things like lecture code.
I think I'll likely create a separate package for this, and then depend on it here.
I'm going to scale the scope of this issue back significantly to include only local, user-created files and built-in libraries, demos, and themes.