B:BD[
5.4299] → [
8.3119:3227]
B:BD[
8.3227] → [
9.53:437]
∅:D[
9.437] → [
8.3629:4772]
B:BD[
8.3629] → [
8.3629:4772]
fn changed_file_diff_from_repo(
value: &repo::ChangedFileDiff,
) -> ChangedFileDiff {
match value {
repo::ChangedFileDiff::Move => {
ChangedFileDiff::WithContents(ChangedFileDiffWithContents::Move)
}
repo::ChangedFileDiff::Del => {
ChangedFileDiff::WithContents(ChangedFileDiffWithContents::Del)
}
repo::ChangedFileDiff::Undel => {
ChangedFileDiff::WithContents(ChangedFileDiffWithContents::Undel)
}
repo::ChangedFileDiff::Add => {
ChangedFileDiff::WithContents(ChangedFileDiffWithContents::Add)
}
repo::ChangedFileDiff::SolveNameConflict => {
ChangedFileDiff::WithoutContents(
ChangedFileDiffWithoutContents::SolveNameConflict,
)
}
repo::ChangedFileDiff::UnsolveNameConflict => {
ChangedFileDiff::WithoutContents(
ChangedFileDiffWithoutContents::UnsolveNameConflict,
)
}
repo::ChangedFileDiff::Edit {
line,
deleted,
contents,
} => ChangedFileDiff::WithContents(ChangedFileDiffWithContents::Edit {
line: *line,
deleted: *deleted,
contents: contents_to_file_editor_content(contents),
}),
repo::ChangedFileDiff::Replacement {
line,
change_contents,
replacement_contents,
} => ChangedFileDiff::WithContents(
ChangedFileDiffWithContents::Replacement {
line: *line,
change_contents: contents_to_file_editor_content(
fn changed_file_contents(diffs: &repo::ChangedFile) -> ChangedFileContents {
let (with_contents, without_contents) = diffs.iter().fold(
(vec![], vec![]),
|(mut acc_with, mut acc_without), diff| {
match diff {
repo::ChangedFileDiff::Move => {
acc_with.push(ChangedFileDiffWithContents::Move)
}
repo::ChangedFileDiff::Del => {
acc_with.push(ChangedFileDiffWithContents::Del)
}
repo::ChangedFileDiff::Undel => {
acc_with.push(ChangedFileDiffWithContents::Undel)
}
repo::ChangedFileDiff::Add => {
acc_with.push(ChangedFileDiffWithContents::Add)
}
repo::ChangedFileDiff::SolveNameConflict => acc_without
.push(ChangedFileDiffWithoutContents::SolveNameConflict),
repo::ChangedFileDiff::UnsolveNameConflict => acc_without
.push(ChangedFileDiffWithoutContents::UnsolveNameConflict),
repo::ChangedFileDiff::Edit {
line,
deleted,
contents,
} => acc_with.push(ChangedFileDiffWithContents::Edit {
line: *line,
deleted: *deleted,
contents: contents_to_file_editor_content(contents),
}),
repo::ChangedFileDiff::Replacement {
line,