-let disambiguator = MatitaDisambiguator.instance ()
-let _ = (* set disambiguator callbacks *)
- disambiguator#setChooseUris (interactive_user_uri_choice ~gui);
- disambiguator#setChooseInterp (interactive_interp_choice ~gui)
-
-let _ = (* environment trust *)
- CicEnvironment.set_trust
- (let trust = Helm_registry.get_bool "matita.environment_trust" in
- fun _ -> trust)
-
-let currentProof = MatitaProof.instance ()
-
-let sequent_viewer = MatitaMathView.sequent_viewer_instance ()
-let sequents_viewer = MatitaMathView.sequents_viewer_instance ()
-let _ = (* attach observers to proof status *)
- let browser_observer _ _ = MatitaMathView.refresh_all_browsers () in
- let sequents_observer _ (((_, metasenv, _, _), goal_opt), ()) =
- sequents_viewer#reset;
- (match goal_opt with
- | None -> ()
- | Some goal ->
- sequents_viewer#load_sequents metasenv;
- sequents_viewer#goto_sequent goal)
- in
- currentProof#addObserver sequents_observer;
- currentProof#addObserver browser_observer;
- currentProof#connect `Quit (fun () ->
- (* quit program, asking for confirmation if needed *)
- if not (currentProof#onGoing ()) ||
- (ask_confirmation ~gui
- ~msg:("Proof in progress, are you sure you want to quit?") ())
- then
- GMain.Main.quit ();
- false);
- currentProof#connect `Abort (fun () -> sequents_viewer#reset; false)
-
-let interpreter =
- let mathViewer = MatitaMathView.mathViewer () in
- MatitaInterpreter.interpreter ~console:gui#console ~mathViewer ()
-let script = MatitaScript.script ~interpreter
-let _ =
- let href_callback uri =
- let term = CicAst.Uri (uri, None) in
- ignore (interpreter#evalAst (TacticAst.Command (TacticAst.Check term)))
- in
- sequent_viewer#set_href_callback (Some href_callback)