deskc-file 0.0.0

The application platform for your cyberpunk desk
Documentation
use std::path::PathBuf;

#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct FileId(pub usize);

#[derive(Clone, Debug)]
pub struct InFile<T> {
    pub id: FileId,
    pub expr: T,
}

pub enum File {
    Real(RealFile),
    Virtual(VirtualFile),
    Remote(RemoteFile),
}

pub struct RealFile {
    pub path: PathBuf,
}

pub struct VirtualFile {
    pub content: String,
}

pub struct RemoteFile {
    pub uri: String,
    pub cached_path: Option<PathBuf>,
}