From b95fe287cf4ebf4addebcd860388c276696de2fb Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Sun, 13 Nov 2016 12:40:31 +0000 Subject: [PATCH] simple query --- src/main.ml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main.ml b/src/main.ml index 1884b047..11e708f5 100644 --- a/src/main.ml +++ b/src/main.ml @@ -3,7 +3,18 @@ open Import let internal argv = match Array.to_list argv with | [_; "findlib-packages"] -> - List.iter (Findlib.all_packages ()) ~f:(Printf.printf "%s\n") + let pkgs = Findlib.all_packages () in + let max_len = + List.map pkgs ~f:String.length + |> List.fold_left ~init:0 ~f:max + in + List.iter pkgs ~f:(fun pkg -> + let ver = + match Findlib.query ~pkg ~preds:[] ~var:"version" with + | None -> "n/a" + | Some v -> v + in + Printf.printf "%-*s (version: %s)\n" max_len pkg ver) | _ -> ()