close_out oc;
HLog.message ("Generated: " ^ root ^ "/depends")
;;
-
+
+(* FG ***********************************************************************)
+
+(* scheme uri part as defined in URI Generic Syntax (RFC 3986) *)
+let uri_scheme_rex = Pcre.regexp "^[[:alpha:]][[:alnum:]\-+.]*:"
+
+let is_uri str =
+ Pcre.pmatch ~rex:uri_scheme_rex str
val load_deps_file: string -> (string * string list) list
val write_deps_file: string -> (string * string list) list -> unit
+(* FG ***********************************************************************)
+
+(* true if the argunent starts with a uri scheme prefix *)
+val is_uri: string -> bool
let aux = GrafiteAstPp.pp_statement
~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp in
let script =
- Acic2Procedural.acic2procedural
- ~ids_to_inner_sorts ~ids_to_inner_types ?depth ?skip_thm_and_qed prefix aobj
+ Acic2Procedural.acic2procedural
+ ~ids_to_inner_sorts ~ids_to_inner_types
+ ?depth ?skip_thm_and_qed prefix aobj
in
- String.concat "" (List.map aux script) ^ "\n\n"
+ "\n\n" ^ String.concat "" (List.map aux script)
-let txt_of_inline_macro ~map_unicode_to_tex style suri prefix =
+let txt_of_inline_uri ~map_unicode_to_tex style suri prefix =
let print_exc = function
| ProofEngineHelpers.Bad_pattern s as e ->
Printexc.to_string e ^ " " ^ Lazy.force s
(UriManager.string_of_uri uri) (print_exc e)
in
String.concat "" (List.map map sorted_uris)
+
+let txt_of_inline_macro ~map_unicode_to_tex style name prefix =
+ let suri =
+ if Librarian.is_uri name then name else
+ let include_paths =
+ Helm_registry.get_list Helm_registry.string "matita.includes"
+ in
+ let _, baseuri, _, _ =
+ Librarian.baseuri_of_script ~include_paths name
+ in
+ baseuri
+ in
+ txt_of_inline_uri ~map_unicode_to_tex style suri prefix
+
+