]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matita.ml
removed debug saving of "foo.conf.xml"
[helm.git] / helm / matita / matita.ml
index 38c161424850decc0e3fddde508bcb78ade0c0f2..1d62cadb5be0c9dadb8a4316a5c1f32d29348987 100644 (file)
@@ -27,21 +27,10 @@ open Printf
 
 open MatitaGtkMisc
 open MatitaTypes
-open MatitaMisc
 
 (** {2 Initialization} *)
 
-let _ =
-  Helm_registry.load_from BuildTimeConf.matita_conf;
-  CicNotation.load_notation BuildTimeConf.core_notation_script;
-  Http_getter.init ();
-  MetadataTypes.ownerize_tables (Helm_registry.get "matita.owner");
-  MatitaDb.create_owner_environment ();
-  MatitamakeLib.initialize ();
-  CicEnvironment.set_trust (* environment trust *)
-    (let trust = Helm_registry.get_bool "matita.environment_trust" in
-     fun _ -> trust);
-  Paramodulation.Saturation.init ()
+let _ = MatitaInit.initialize_all () 
 
 (** {2 GUI callbacks} *)
 
@@ -133,6 +122,8 @@ let _ =
     addDebugItem "getter: getalluris" (fun _ ->
       List.iter prerr_endline (Http_getter.getalluris ()));
     addDebugItem "dump script status" script#dump;
+    addDebugItem "dump configuration file to ./foo.conf.xml" (fun _ ->
+      Helm_registry.save_to "./foo.conf.xml");
     addDebugItem "dump metasenv"
       (fun _ ->
          if script#onGoingProof () then
@@ -157,23 +148,29 @@ let _ =
   end
   (** Debugging }}} *)
 
+  (** {2 Command line parsing} *)
+
+let set_matita_mode () =
+  let matita_mode =
+    if Filename.basename Sys.argv.(0) = "cicbrowser"
+    then "cicbrowser"
+    else "matita"
+  in
+  Helm_registry.set "matita.mode" matita_mode
+
+  (** {2 Main} *)
+
 let _ =
+  set_matita_mode ();
   at_exit (fun () -> print_endline "\nThanks for using Matita!\n");
   Sys.catch_break true;
-  if Filename.basename Sys.argv.(0) = "cicbrowser" then begin (* cicbrowser *)
-    Helm_registry.set "matita.mode" "cicbrowser";
+  let args = Helm_registry.get_list Helm_registry.string "matita.args" in
+  if Helm_registry.get "matita.mode" = "cicbrowser" then  (* cicbrowser *)
     let browser = MatitaMathView.cicBrowser () in
-    let uri =
-      try
-        String.concat " " (List.tl (Array.to_list Sys.argv))
-      with Failure _ -> "cic:/"
-    in
+    let uri = match args with [] -> "cic:/" | _ -> String.concat " " args in
     browser#loadInput uri
-  end else begin  (* matita *)
-    Helm_registry.set "matita.mode" "matita";
-    (try
-       gui#loadScript Sys.argv.(1);
-     with Invalid_argument _ -> ());
+  else begin  (* matita *)
+    (try gui#loadScript (List.hd args) with Failure _ -> ());
     gui#main#mainWin#show ();
   end;
   try