use std::path::PathBuf;
use std::time::Instant;
#[derive(Debug, Clone)]
pub struct ActiveFileState {
pub path: Option<PathBuf>,
pub workspace_name: Option<String>,
pub since: Instant,
}
impl ActiveFileState {
pub fn empty() -> Self {
Self {
path: None,
workspace_name: None,
since: Instant::now(),
}
}
pub fn update(&mut self, path: Option<PathBuf>, workspace_name: Option<String>) -> bool {
if self.path == path && self.workspace_name == workspace_name {
return false;
}
self.path = path;
self.workspace_name = workspace_name;
self.since = Instant::now();
true
}
}
impl Default for ActiveFileState {
fn default() -> Self {
Self::empty()
}
}