Changeset 66 in code for trunk/cli/listing.ml
- Timestamp:
- Aug 21, 2024, 1:37:05 AM (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cli/listing.ml
r65 r66 20 20 | None -> FS.iter ~r ~dir ~predicate ~order list_text 21 21 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." ] 22 open Cmdliner 23 24 let recurse = Arg.(value & flag & info ["R"] ~doc: "Recurse into subdirectories") 25 let reverse = Arg.(value & flag & info ["r"] ~doc: "Reverse order") 26 let time = Arg.(value & flag & info ["t"] ~doc: "Sort by time, newest first") 27 let paths = Arg.(value & flag & info ["p"] ~doc: "Show file paths") 28 let number = Arg.(value & opt (some int) None & info ["n"] ~docv: "number" ~doc: "Number of entries to list") 29 let authed = Arg.(value & opt (some string) None & info ["authored"] ~docv: "comma-separated names" ~doc: "Texts by authors") 30 let topics = Arg.(value & opt (some string) None & info ["topics"] ~docv: "comma-separated topics" ~doc: "Texts by topics") 31 let dir = Arg.(value & pos 0 string "" & info [] ~docv: "directory to index") 32 33 let listing_t = Term.(const listing $ recurse $ time $ reverse $ number $ paths $ authed $ topics $ dir) 34 35 let 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.