B:BD[
2.20411] → [
3.985:1021]
Msg::Left | Msg::Right => {
Msg::Left => {
if let Some(_repo) = repo.as_ref() {
let (selection, task): (Option<Selection>, Task<repo::MsgIn>) =
match state.selection.take() {
Some(Selection::LogChange {
ix,
hash,
message,
diffs,
file: Some(_),
}) => (
Some(Selection::LogChange {
ix,
hash,
message,
diffs,
file: None,
}),
Task::none(),
),
selection @ (Some(Selection::UntrackedFile {
..
})
| Some(Selection::ChangedFile {
..
})
| Some(Selection::LogChange {
file: None,
..
})
| None) => (selection, Task::none()),
};
state.selection = selection;
task
} else {
Task::none()
}
}
Msg::Right => {