X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaTypes.ml;h=e349a6e4dc90afbd516e4ca258d5e68f85894d09;hb=5d5e328a05ed70fcf565aef8f92b7ec87b2740f2;hp=800ae1c7e2c569bc1cb604c7ae5a32d5df16b9fd;hpb=d0582b9f0d2cf4770566da006019c657e23a3c85;p=helm.git diff --git a/helm/matita/matitaTypes.ml b/helm/matita/matitaTypes.ml index 800ae1c7e..e349a6e4d 100644 --- a/helm/matita/matitaTypes.ml +++ b/helm/matita/matitaTypes.ml @@ -59,6 +59,7 @@ let no_options = StringMap.empty type status = { aliases: DisambiguateTypes.environment; (** disambiguation aliases *) + moo_content_rev: string list; (*CSC: a TacticAst.command list would be better *) proof_status: proof_status; options: options; objects: (UriManager.uri * string) list; @@ -126,7 +127,10 @@ let set_option status name value = with Failure _ -> command_error (sprintf "Not an integer value \"%s\"" value)) in - { status with options = StringMap.add name value status.options } + if StringMap.mem name status.options && name = "baseuri" then + command_error "Redefinition of 'baseuri' is forbidden." + else + { status with options = StringMap.add name value status.options } (* subset of MatitaConsole.console methods needed by MatitaInterpreter *) class type console = @@ -150,8 +154,8 @@ type mathViewer_entry = | `Check of string (* term *) | `Cic of Cic.term * Cic.metasenv | `Dir of string (* "directory" in cic uris namespace *) - | `Uri of string (* cic object uri *) - | `Whelp of string * string list (* query and results *) + | `Uri of UriManager.uri (* cic object uri *) + | `Whelp of string * UriManager.uri list (* query and results *) ] let string_of_entry = function @@ -160,9 +164,17 @@ let string_of_entry = function | `About `Us -> "about:us" | `Check _ -> "check:" | `Cic (_, _) -> "term:" - | `Dir uri | `Uri uri -> uri + | `Dir uri -> uri + | `Uri uri -> UriManager.string_of_uri uri | `Whelp (query, _) -> query +let entry_of_string = function + | "about:blank" -> `About `Blank + | "about:proof" -> `About `Current_proof + | "about:us" -> `About `Us + | _ -> (* only about entries supported ATM *) + raise (Invalid_argument "entry_of_string") + class type mathViewer = object (** @param reuse if set reused last opened cic browser otherwise @@ -170,6 +182,6 @@ class type mathViewer = *) method show_entry: ?reuse:bool -> mathViewer_entry -> unit method show_uri_list: - ?reuse:bool -> entry:mathViewer_entry -> string list -> unit + ?reuse:bool -> entry:mathViewer_entry -> UriManager.uri list -> unit end