pub struct SessionState {
pub session_id: Uuid,
pub repo_path: PathBuf,
pub branch: String,
pub started_at: DateTime<Utc>,
pub last_activity: DateTime<Utc>,
pub files_touched: HashMap<PathBuf, FileActivity>,
pub commits_made: Vec<String>,
}Expand description
Session state for the current Studio session
Fields§
§session_id: UuidUnique session identifier
repo_path: PathBufRepository path
branch: StringCurrent branch name
started_at: DateTime<Utc>When the session started
last_activity: DateTime<Utc>Last activity timestamp
files_touched: HashMap<PathBuf, FileActivity>Files touched during this session
commits_made: Vec<String>Commits made during this session (hashes)
Implementations§
Source§impl SessionState
impl SessionState
Sourcepub fn touch_file(&mut self, path: PathBuf)
pub fn touch_file(&mut self, path: PathBuf)
Record a file touch
Sourcepub fn record_commit(&mut self, hash: String)
pub fn record_commit(&mut self, hash: String)
Record a commit
Sourcepub fn files_count(&self) -> usize
pub fn files_count(&self) -> usize
Get number of files touched
Sourcepub fn recent_files(&self) -> Vec<&FileActivity>
pub fn recent_files(&self) -> Vec<&FileActivity>
Get files ordered by most recently touched
Sourcepub fn time_since_last_commit(&self) -> Option<Duration>
pub fn time_since_last_commit(&self) -> Option<Duration>
Get time since last commit (if any)
Sourcepub fn set_branch(&mut self, branch: String)
pub fn set_branch(&mut self, branch: String)
Update branch (for branch switches)
Trait Implementations§
Source§impl Clone for SessionState
impl Clone for SessionState
Source§fn clone(&self) -> SessionState
fn clone(&self) -> SessionState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionState
impl Debug for SessionState
Source§impl<'de> Deserialize<'de> for SessionState
impl<'de> Deserialize<'de> for SessionState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SessionState
impl RefUnwindSafe for SessionState
impl Send for SessionState
impl Sync for SessionState
impl Unpin for SessionState
impl UnwindSafe for SessionState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more