deskc_file/lib.rs
1use std::path::PathBuf;
2
3#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
4pub struct FileId(pub usize);
5
6#[derive(Clone, Debug)]
7pub struct InFile<T> {
8 pub id: FileId,
9 pub expr: T,
10}
11
12pub enum File {
13 Real(RealFile),
14 Virtual(VirtualFile),
15 Remote(RemoteFile),
16}
17
18pub struct RealFile {
19 pub path: PathBuf,
20}
21
22pub struct VirtualFile {
23 pub content: String,
24}
25
26pub struct RemoteFile {
27 pub uri: String,
28 pub cached_path: Option<PathBuf>,
29}