#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum FocusPane {
Status,
Branches,
Log,
Stash,
Tags,
Reflog,
}
#[derive(Debug, Clone)]
pub struct BranchEntry {
pub name: String,
pub is_remote: bool,
pub ahead: Option<i32>,
pub behind: Option<i32>,
}
#[derive(Debug, Clone)]
pub struct CommitEntry {
pub hash: String,
pub short_hash: String,
pub message: String,
pub author: String,
}
#[derive(Debug, Clone)]
pub struct LastCommitInfo {
pub author_name: String,
pub author_email: String,
pub message: String,
pub date: String, #[allow(dead_code)]
pub hash: String,
pub short_hash: String,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AmendField {
Message,
AuthorName,
AuthorEmail,
}
#[derive(Debug, Clone)]
pub struct StashEntry {
pub name: String,
pub message: String,
}
#[derive(Debug, Clone)]
pub struct TagEntry {
pub name: String,
pub message: String,
}
#[derive(Debug, Clone)]
pub struct ReflogEntry {
pub short_hash: String,
pub selector: String,
pub action: String,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RewordField {
Message,
AuthorName,
AuthorEmail,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RebaseAction {
Pick,
Reword,
Edit,
Squash,
Fixup,
Drop,
}
#[derive(Debug, Clone)]
pub struct RebaseEntry {
pub hash: String,
pub short_hash: String,
pub message: String,
pub action: RebaseAction,
}
#[derive(Debug, Clone)]
#[allow(dead_code)]
pub struct RemoteEntry {
pub name: String,
pub url: String,
}
#[derive(Debug, Clone)]
pub struct AsyncTask {
pub id: u64,
pub status: AsyncTaskStatus,
pub started_at: std::time::Instant,
}
#[derive(Debug, Clone, PartialEq)]
pub enum AsyncTaskStatus {
#[allow(dead_code)]
Running,
Completed,
Failed(String),
}
#[derive(Debug, Clone)]
pub struct KeyHelp {
pub key: &'static str,
pub desc: &'static str,
}
#[allow(dead_code)]
#[derive(Debug, Clone)]
pub struct PrItem {
pub number: String,
pub title: String,
pub _remote: String,
pub _branch: String,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DiffMode {
Working,
Staged,
}