From 964d6773395b7008661b38c11acd24959f280fb1 Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Mon, 20 May 2024 09:23:23 -0500 Subject: Replace ugly conversion --- lib/basic.ml | 3 +++ lib/done.ml | 2 +- lib/headlines.ml | 3 +-- lib/todos.ml | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 lib/basic.ml diff --git a/lib/basic.ml b/lib/basic.ml new file mode 100644 index 0000000..76b6863 --- /dev/null +++ b/lib/basic.ml @@ -0,0 +1,3 @@ +let array_drop n arr = + if Array.length arr < n then [||] else Array.sub arr n (max (Array.length arr - n) 0) + diff --git a/lib/done.ml b/lib/done.ml index f7e1a0b..cda47e4 100644 --- a/lib/done.ml +++ b/lib/done.ml @@ -72,7 +72,7 @@ let rec render if i == y - scroll then I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start) else I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start)) - (Array.to_seq content_pretty |> Seq.drop scroll |> Array.of_seq) + (content_pretty |> Basic.array_drop scroll) in let open I in Array.fold_left (fun sum el -> el sum) (title dot output_info) elements diff --git a/lib/headlines.ml b/lib/headlines.ml index 90bad7d..38ff42d 100644 --- a/lib/headlines.ml +++ b/lib/headlines.ml @@ -44,7 +44,6 @@ let init ~goto_done_view ~goto_todos_view ~regexp = let title = I.strf ~attr:A.(st bold) "%s" "Notes" |> I.pad ~l:0 ~t:0 -(* TODO: Add page title *) let rec render t ({ pos @@ -80,7 +79,7 @@ let rec render if i + 1 == y - scroll (* TODO: Should be reverse *) then I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start) else I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start)) - (Array.to_seq content_pretty |> Seq.drop scroll |> Array.of_seq) + (Basic.array_drop scroll content_pretty) in let open I in Array.fold_left (fun sum el -> sum el) (title dot output_info) elements diff --git a/lib/todos.ml b/lib/todos.ml index 237732f..0cdbc79 100644 --- a/lib/todos.ml +++ b/lib/todos.ml @@ -73,7 +73,7 @@ let rec render if i == y - scroll then I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start) else I.strf "%s" el |> I.pad ~l:2 ~t:(i + content_start)) - (Array.to_seq content_pretty |> Seq.drop scroll |> Array.of_seq) + (content_pretty |> Basic.array_drop scroll) in let open I in Array.fold_left (fun sum el -> el sum) (title dot output_info) elements -- cgit v1.2.3