track selected file path together with an index

[?]
Feb 10, 2025, 3:40 PM
DVKSPF7R5QBWRHNADU7LK37OVZHOHNDSRETUVY6GNXWE74SHXSUAC

Dependencies

Change contents

  • replacement in crates/libflowers_client/src/cursor.rs at line 9
    [4.171][4.171:188]()
    File(usize),
    [4.171]
    [4.188]
    File { ix: usize, path: String },
  • edit in crates/flowers_ui/src/main.rs at line 1
    [2.2763][4.311:332]()
    use std::io::Cursor;
  • edit in crates/flowers_ui/src/main.rs at line 42
    [3.1455]
    [4.738]
    let changed_file_path =
    |ix| state.repo.changed_files.iter().nth(ix).unwrap().clone();
  • replacement in crates/flowers_ui/src/main.rs at line 52
    [4.1100][4.1100:1155]()
    cursor::Selection::File(0)
    [4.1100]
    [4.1155]
    let ix = 0;
    let path = changed_file_path(ix);
    cursor::Selection::File { ix, path }
  • replacement in crates/flowers_ui/src/main.rs at line 57
    [4.1203][4.1203:1262]()
    Some(cursor::Selection::File(ix)) => {
    [4.1203]
    [4.1262]
    Some(cursor::Selection::File { ix, path: _ }) => {
  • replacement in crates/flowers_ui/src/main.rs at line 63
    [4.1487][4.1487:1547]()
    cursor::Selection::File(ix + 1)
    [4.1487]
    [4.1547]
    let ix = ix + 1;
    let path = changed_file_path(ix);
    cursor::Selection::File { ix, path }
  • replacement in crates/flowers_ui/src/main.rs at line 78
    [4.2027][4.2027:2178]()
    cursor::Selection::File(
    state.repo.changed_files.len() - 1,
    )
    [4.2027]
    [4.2178]
    let ix = state.repo.changed_files.len() - 1;
    let path = changed_file_path(ix);
    cursor::Selection::File { ix, path }
  • replacement in crates/flowers_ui/src/main.rs at line 83
    [4.2226][4.2226:2285]()
    Some(cursor::Selection::File(ix)) => {
    [4.2226]
    [4.2285]
    Some(cursor::Selection::File { ix, path: _ }) => {
  • replacement in crates/flowers_ui/src/main.rs at line 87
    [4.2411][4.2411:2471]()
    cursor::Selection::File(ix - 1)
    [4.2411]
    [4.2471]
    let ix = *ix - 1;
    let path = changed_file_path(ix);
    cursor::Selection::File { ix, path }
  • replacement in crates/flowers_ui/src/main.rs at line 140
    [4.3737][4.3737:3822]()
    Some(cursor::Selection::File(selected_ix)) if &ix == selected_ix
    [4.3737]
    [4.3822]
    Some(cursor::Selection::File{ix: selected_ix, path:_}) if &ix == selected_ix
  • replacement in crates/flowers_ui/src/main.rs at line 145
    [4.3968][4.3968:4025]()
    cursor::Selection::File(ix),
    [4.3968]
    [4.4025]
    cursor::Selection::File{ix, path: path.clone()},