Changeset 66 in code for trunk/cli/listing.ml


Ignore:
Timestamp:
Aug 21, 2024, 1:37:05 AM (8 months ago)
Author:
yakumo.izuru
Message:

Migrate the codebase to the latest revision of Cmdliner

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cli/listing.ml

    r65 r66  
    2020                | None -> FS.iter ~r ~dir ~predicate ~order list_text
    2121
    22 open Ocmd
    23 let term =
    24         let recurse = Arg.(value & flag & info ["R"] ~doc:"recurse, include subdirs") in
    25         let reverse = Arg.(value & flag & info ["r"] ~doc:"reverse order") in
    26         let time   = Arg.(value & flag & info ["t"] ~doc:"sort by time, newest first") in
    27         let paths = Arg.(value & flag & info ["p"] ~doc:"show file paths") in
    28         let number = Arg.(value & opt (some int) None & info ["n"]
    29                 ~docv:"number" ~doc:"number of entries to list") in
    30         let authed = Arg.(value & opt (some string) None & info ["authored"]
    31                 ~docv:"comma-separated names" ~doc:"texts by authors") in
    32         let topics = Arg.(value & opt (some string) None & info ["topics"]
    33                 ~docv:"comma-separated topics" ~doc:"texts with topics") in
    34         let dir  = Arg.(value & pos 0 string "" & info []
    35                 ~docv:"directory to index") in
    36         Term.(const listing $ recurse $ time $ reverse $ number $ paths $ authed $ topics $ dir),
    37         Term.info "list" ~doc:"list texts" ~man:[ `S "DESCRIPTION";
    38                 `P "Diplays text id, date, author, title for a directory.
    39                 If directory argument is ommitted, TXTDIR is used, where empty value defaults to ~/.local/share/texts.
    40                 If -R is used, list header information for texts found in subdirectories too." ]
     22open Cmdliner
     23
     24let recurse = Arg.(value & flag & info ["R"] ~doc: "Recurse into subdirectories")
     25let reverse = Arg.(value & flag & info ["r"] ~doc: "Reverse order")
     26let time = Arg.(value & flag & info ["t"] ~doc: "Sort by time, newest first")
     27let paths = Arg.(value & flag & info ["p"] ~doc: "Show file paths")
     28let number = Arg.(value & opt (some int) None & info ["n"] ~docv: "number" ~doc: "Number of entries to list")
     29let authed = Arg.(value & opt (some string) None & info ["authored"] ~docv: "comma-separated names" ~doc: "Texts by authors")
     30let topics = Arg.(value & opt (some string) None & info ["topics"] ~docv: "comma-separated topics" ~doc: "Texts by topics")
     31let dir = Arg.(value & pos 0 string "" & info [] ~docv: "directory to index")
     32
     33let listing_t = Term.(const listing $ recurse $ time $ reverse $ number $ paths $ authed $ topics $ dir)
     34
     35let cmd =
     36  let doc = "List texts" in
     37  let man = [
     38      `S Manpage.s_description;
     39      `P "Displays text id, date, author, title for a directory.";
     40      `P "If directory argument is omitted, TXTDIR is used, where empty value defaults to ~/.local/share/texts.";
     41      `P "If -R is used, list header information for texts found in subdirectories, too." ]
     42  in
     43  let info = Cmd.info "list" ~version:"%%VERSION%%" ~doc ~man in
     44  Cmd.v info listing_t
Note: See TracChangeset for help on using the changeset viewer.