# HG changeset patch # User wenzelm # Date 1525637752 -7200 # Node ID 7c8ed28dd40a207e368b9956ca427d02bb7954c3 # Parent d934bbfeac3257fe6caa6c21284cb29f4a582449 tuned signature; clarified modules; diff -r d934bbfeac32 -r 7c8ed28dd40a src/Pure/PIDE/markup.ML --- a/src/Pure/PIDE/markup.ML Sun May 06 19:10:21 2018 +0200 +++ b/src/Pure/PIDE/markup.ML Sun May 06 22:15:52 2018 +0200 @@ -203,7 +203,7 @@ val command_timing: Properties.entry val theory_timing: Properties.entry val exportN: string - type export_args = {id: string option, theory_name: string, path: string, compress: bool} + type export_args = {id: string option, theory_name: string, name: string, compress: bool} val export: export_args -> Properties.T val loading_theory: string -> Properties.T val dest_loading_theory: Properties.T -> string option @@ -642,10 +642,10 @@ val theory_timing = (functionN, "theory_timing"); val exportN = "export"; -type export_args = {id: string option, theory_name: string, path: string, compress: bool} -fun export ({id, theory_name, path, compress}: export_args) = - [(functionN, exportN), ("id", the_default "" id), - ("theory_name", theory_name), ("path", path), ("compress", Value.print_bool compress)]; +type export_args = {id: string option, theory_name: string, name: string, compress: bool} +fun export ({id, theory_name, name, compress}: export_args) = + [(functionN, exportN), (idN, the_default "" id), + ("theory_name", theory_name), (nameN, name), ("compress", Value.print_bool compress)]; fun loading_theory name = [("function", "loading_theory"), ("name", name)]; diff -r d934bbfeac32 -r 7c8ed28dd40a src/Pure/PIDE/markup.scala --- a/src/Pure/PIDE/markup.scala Sun May 06 19:10:21 2018 +0200 +++ b/src/Pure/PIDE/markup.scala Sun May 06 22:15:52 2018 +0200 @@ -571,25 +571,24 @@ val EXPORT = "export" object Export { - sealed case class Args(id: Option[String], theory_name: String, path: String, compress: Boolean) + sealed case class Args(id: Option[String], theory_name: String, name: String, compress: Boolean) val THEORY_NAME = "theory_name" - val PATH = "path" val COMPRESS = "compress" def dest_inline(props: Properties.T): Option[(Args, Bytes)] = props match { case - List((THEORY_NAME, theory_name), (PATH, path), (COMPRESS, Value.Boolean(compress)), - (EXPORT, hex)) => Some((Args(None, theory_name, path, compress), Bytes.hex(hex))) + List((THEORY_NAME, theory_name), (NAME, name), (COMPRESS, Value.Boolean(compress)), + (EXPORT, hex)) => Some((Args(None, theory_name, name, compress), Bytes.hex(hex))) case _ => None } def unapply(props: Properties.T): Option[Args] = props match { case List((FUNCTION, EXPORT), (ID, id), - (THEORY_NAME, theory_name), (PATH, path), (COMPRESS, Value.Boolean(compress))) => - Some(Args(proper_string(id), theory_name, path, compress)) + (THEORY_NAME, theory_name), (PATH, name), (COMPRESS, Value.Boolean(compress))) => + Some(Args(proper_string(id), theory_name, name, compress)) case _ => None } } diff -r d934bbfeac32 -r 7c8ed28dd40a src/Pure/PIDE/resources.ML --- a/src/Pure/PIDE/resources.ML Sun May 06 19:10:21 2018 +0200 +++ b/src/Pure/PIDE/resources.ML Sun May 06 22:15:52 2018 +0200 @@ -36,8 +36,6 @@ val check_path: Proof.context -> Path.T -> string * Position.T -> Path.T val check_file: Proof.context -> Path.T -> string * Position.T -> Path.T val check_dir: Proof.context -> Path.T -> string * Position.T -> Path.T - val export_message: Markup.export_args -> Output.output list -> unit - val export: theory -> string -> Output.output -> unit end; structure Resources: RESOURCES = @@ -297,16 +295,4 @@ end; - -(* export *) - -val export_message = Output.try_protocol_message o Markup.export; - -fun export thy path output = - export_message - {id = Position.get_id (Position.thread_data ()), - theory_name = Context.theory_long_name thy, - path = path, - compress = true} [output]; - end; diff -r d934bbfeac32 -r 7c8ed28dd40a src/Pure/ROOT.ML --- a/src/Pure/ROOT.ML Sun May 06 19:10:21 2018 +0200 +++ b/src/Pure/ROOT.ML Sun May 06 22:15:52 2018 +0200 @@ -300,6 +300,7 @@ ML_file "PIDE/command.ML"; ML_file "PIDE/query_operation.ML"; ML_file "PIDE/resources.ML"; +ML_file "Thy/export.ML"; ML_file "Thy/present.ML"; ML_file "Thy/thy_info.ML"; ML_file "Thy/sessions.ML"; diff -r d934bbfeac32 -r 7c8ed28dd40a src/Pure/Thy/export.ML --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Pure/Thy/export.ML Sun May 06 22:15:52 2018 +0200 @@ -0,0 +1,26 @@ +(* Title: Pure/Thy/export.ML + Author: Makarius + +Manage theory exports. +*) + +signature EXPORT = +sig + val export: theory -> string -> Output.output -> unit + val export_uncompressed: theory -> string -> Output.output -> unit +end; + +structure Export: EXPORT = +struct + +fun gen_export compress thy name output = + (Output.try_protocol_message o Markup.export) + {id = Position.get_id (Position.thread_data ()), + theory_name = Context.theory_long_name thy, + name = name, + compress = compress} [output]; + +val export = gen_export true; +val export_uncompressed = gen_export false; + +end;