diff options
author | Marc Coquand <marc@mccd.space> | 2024-05-15 14:13:09 -0500 |
---|---|---|
committer | Marc Coquand <marc@mccd.space> | 2024-05-15 14:13:09 -0500 |
commit | e1bdc8f64a16b233a2633b05c2b073169a4c42c4 (patch) | |
tree | e6b81b42159a214eda6a61f7ef1c710ee1a7e2e5 /lib/done.ml | |
parent | 3f696169ab1a560d94d169c1a5b744346da4c081 (diff) | |
download | stitch-e1bdc8f64a16b233a2633b05c2b073169a4c42c4.tar.gz stitch-e1bdc8f64a16b233a2633b05c2b073169a4c42c4.tar.bz2 stitch-e1bdc8f64a16b233a2633b05c2b073169a4c42c4.zip |
Add refresh button
Diffstat (limited to 'lib/done.ml')
-rw-r--r-- | lib/done.ml | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/done.ml b/lib/done.ml index 5daad60..6a60fd1 100644 --- a/lib/done.ml +++ b/lib/done.ml @@ -93,16 +93,28 @@ let rec render Input_screen.render t input_state | `Key (`ASCII '1', []) -> goto_headlines (fun () -> render t state) | `Key (`ASCII '2', []) -> goto_todo (fun () -> render t state) + | `Key (`ASCII 'g', []) -> + let content, content_pretty = load_done () in + let y = min (List.length content_pretty + content_start) y in + render + t + { state with + pos = x, y + ; content = content |> Array.of_list + ; content_pretty = Array.of_list content_pretty + } | `Key (`ASCII 'j', []) | `Key (`ASCII 'N', [ `Ctrl ]) -> scroll_down () | `Key (`ASCII 'k', []) | `Key (`ASCII 'P', [ `Ctrl ]) -> scroll_up () | `Key (`ASCII 't', []) -> let selected_file, _ = Array.get content (y - content_start) in let _ = Grep.toggle_todo selected_file in let content, content_pretty = load_done () in + let y = min (List.length content_pretty + content_start) y in render t { state with - content = content |> Array.of_list + pos = x, y + ; content = content |> Array.of_list ; content_pretty = Array.of_list content_pretty } | `Key (`Arrow d, _) -> |