File: internal_dump.ml

package info (click to toggle)
ocaml-dune 3.20.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,564 kB
  • sloc: ml: 175,178; asm: 28,570; ansic: 5,251; sh: 1,096; lisp: 625; makefile: 148; python: 125; cpp: 48; javascript: 10
file content (24 lines) | stat: -rw-r--r-- 696 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
open Import
module Persistent = Dune_util.Persistent

let doc = "Dump the contents of a file stored in Dune's persistent database."

let man =
  [ `S "DESCRIPTION"
  ; `P
      {|Dump the contents of a file stored in Dune's persistent database in a human readable format.|}
  ; `Blocks Common.help_secs
  ]
;;

let info = Cmd.info "dump" ~doc ~man

let term =
  let+ builder = Common.Builder.term
  and+ file = Arg.(required & pos 0 (some Arg.path) None & Arg.info [] ~docv:"FILE") in
  let _common, _config = Common.init builder in
  let (Persistent.T ((module D), data)) = Persistent.load_exn (Arg.Path.path file) in
  Console.print [ Dyn.pp (D.to_dyn data) ]
;;

let command = Cmd.v info term