diff options
author | 2017-02-25 18:51:36 +0100 | |
---|---|---|
committer | 2017-05-04 17:48:51 +0200 | |
commit | 8f4d79115c3686de41e20c41ef6dbce8b8546366 (patch) | |
tree | 187249c5b26d642b6a4627b9eeb89b1d71d9105f /plugins | |
parent | 773d95f915996b581b7ea82d9193197649c951a0 (diff) |
Adding an option "Set Ltac Batch Debug" to additionally run Ltac debug in batch mode.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/ltac/tactic_debug.ml | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/ltac/tactic_debug.ml b/plugins/ltac/tactic_debug.ml index dffeade29..dac15ff79 100644 --- a/plugins/ltac/tactic_debug.ml +++ b/plugins/ltac/tactic_debug.ml @@ -85,6 +85,19 @@ let skipped = Proofview.NonLogical.run (Proofview.NonLogical.ref 0) let skip = Proofview.NonLogical.run (Proofview.NonLogical.ref 0) let breakpoint = Proofview.NonLogical.run (Proofview.NonLogical.ref None) +let batch = ref false + +open Goptions + +let _ = + declare_bool_option + { optsync = false; + optdepr = false; + optname = "Ltac batch debug"; + optkey = ["Ltac";"Batch";"Debug"]; + optread = (fun () -> !batch); + optwrite = (fun x -> batch := x) } + let rec drop_spaces inst i = if String.length inst > i && inst.[i] == ' ' then drop_spaces inst (i+1) else i @@ -150,6 +163,7 @@ let rec prompt level = begin let open Proofview.NonLogical in Proofview.NonLogical.print_notice (fnl () ++ str "TcDebug (" ++ int level ++ str ") > ") >> + if Pervasives.(!batch) then return (DebugOn (level+1)) else let exit = (skip:=0) >> (skipped:=0) >> raise Sys.Break in Proofview.NonLogical.catch Proofview.NonLogical.read_line begin function (e, info) -> match e with |