doc-src/antiquote_setup.ML
changeset 30369 937eaec692cb
parent 30365 790129514c2d
child 30387 910290f04692
     1.1 --- a/doc-src/antiquote_setup.ML	Sun Mar 08 21:12:37 2009 +0100
     1.2 +++ b/doc-src/antiquote_setup.ML	Sun Mar 08 21:35:39 2009 +0100
     1.3 @@ -7,9 +7,6 @@
     1.4  structure AntiquoteSetup: sig end =
     1.5  struct
     1.6  
     1.7 -structure O = ThyOutput;
     1.8 -
     1.9 -
    1.10  (* misc utils *)
    1.11  
    1.12  fun translate f = Symbol.explode #> map f #> implode;
    1.13 @@ -38,9 +35,8 @@
    1.14  
    1.15  val verbatim = space_implode "\\verb,|," o map (enclose "\\verb|" "|") o space_explode "|";
    1.16  
    1.17 -val _ = O.add_commands
    1.18 - [("verbatim", O.args (Scan.lift Args.name) (fn _ => fn _ =>
    1.19 -      split_lines #> map verbatim #> space_implode "\\isasep\\isanewline%\n"))];
    1.20 +val _ = ThyOutput.antiquotation "verbatim" (fn _ => fn _ =>
    1.21 +  Scan.lift Args.name >> (split_lines #> map verbatim #> space_implode "\\isasep\\isanewline%\n"));
    1.22  
    1.23  
    1.24  (* ML text *)
    1.25 @@ -72,30 +68,30 @@
    1.26    in
    1.27      "\\indexdef{}{" ^ kind' ^ "}{" ^ clean_string txt1 ^ "}" ^
    1.28      (txt'
    1.29 -    |> (if ! O.quotes then quote else I)
    1.30 -    |> (if ! O.display then enclose "\\begin{verbatim}\n" "\n\\end{verbatim}"
    1.31 +    |> (if ! ThyOutput.quotes then quote else I)
    1.32 +    |> (if ! ThyOutput.display then enclose "\\begin{verbatim}\n" "\n\\end{verbatim}"
    1.33          else split_lines #> map verbatim #> space_implode "\\isasep\\isanewline%\n"))
    1.34    end;
    1.35  
    1.36  fun output_ml ctxt src =
    1.37 -  if ! O.display then enclose "\\begin{verbatim}\n" "\n\\end{verbatim}"
    1.38 +  if ! ThyOutput.display then enclose "\\begin{verbatim}\n" "\n\\end{verbatim}"
    1.39    else
    1.40      split_lines
    1.41      #> map (space_implode "\\verb,|," o map (enclose "\\verb|" "|") o space_explode "|")
    1.42      #> space_implode "\\isasep\\isanewline%\n";
    1.43  
    1.44 -fun ml_args x = O.args (Scan.lift (Args.name -- Scan.optional (Args.colon |-- Args.name) "")) x;
    1.45 +fun ml_args x = ThyOutput.args (Scan.lift (Args.name -- Scan.optional (Args.colon |-- Args.name) "")) x;
    1.46  
    1.47  in
    1.48  
    1.49 -val _ = O.add_commands
    1.50 +val _ = ThyOutput.add_commands
    1.51   [("index_ML", ml_args (index_ml "" ml_val)),
    1.52    ("index_ML_type", ml_args (index_ml "type" ml_type)),
    1.53    ("index_ML_exn", ml_args (index_ml "exception" ml_exn)),
    1.54    ("index_ML_structure", ml_args (index_ml "structure" ml_structure)),
    1.55    ("index_ML_functor", ml_args (index_ml "functor" ml_functor)),
    1.56 -  ("ML_functor", O.args (Scan.lift Args.name) output_ml),
    1.57 -  ("ML_text", O.args (Scan.lift Args.name) output_ml)];
    1.58 +  ("ML_functor", ThyOutput.args (Scan.lift Args.name) output_ml),
    1.59 +  ("ML_text", ThyOutput.args (Scan.lift Args.name) output_ml)];
    1.60  
    1.61  end;
    1.62  
    1.63 @@ -106,10 +102,10 @@
    1.64  
    1.65  fun output_named_thms src ctxt xs =
    1.66    map (apfst (ThyOutput.pretty_thm ctxt)) xs        (*always pretty in order to exhibit errors!*)
    1.67 -  |> (if ! O.quotes then map (apfst Pretty.quote) else I)
    1.68 -  |> (if ! O.display then
    1.69 +  |> (if ! ThyOutput.quotes then map (apfst Pretty.quote) else I)
    1.70 +  |> (if ! ThyOutput.display then
    1.71      map (fn (p, name) =>
    1.72 -      Output.output (Pretty.string_of (Pretty.indent (! O.indent) p)) ^
    1.73 +      Output.output (Pretty.string_of (Pretty.indent (! ThyOutput.indent) p)) ^
    1.74        "\\rulename{" ^ Output.output (Pretty.str_of (ThyOutput.pretty_text name)) ^ "}")
    1.75      #> space_implode "\\par\\smallskip%\n"
    1.76      #> enclose "\\begin{isabelle}%\n" "%\n\\end{isabelle}"
    1.77 @@ -122,8 +118,8 @@
    1.78  
    1.79  in
    1.80  
    1.81 -val _ = O.add_commands
    1.82 - [("named_thms", O.args (Scan.repeat (Attrib.thm --
    1.83 +val _ = ThyOutput.add_commands
    1.84 + [("named_thms", ThyOutput.args (Scan.repeat (Attrib.thm --
    1.85        Scan.lift (Args.parens Args.name))) output_named_thms)];
    1.86  
    1.87  end;
    1.88 @@ -131,8 +127,8 @@
    1.89  
    1.90  (* theory files *)
    1.91  
    1.92 -val _ = O.add_commands
    1.93 - [("thy_file", O.args (Scan.lift Args.name) (O.output (fn _ => fn name =>
    1.94 +val _ = ThyOutput.add_commands
    1.95 + [("thy_file", ThyOutput.args (Scan.lift Args.name) (ThyOutput.output (fn _ => fn name =>
    1.96        (ThyLoad.check_thy Path.current name; Pretty.str name))))];
    1.97  
    1.98  
    1.99 @@ -167,14 +163,14 @@
   1.100        idx ^
   1.101        (Output.output name
   1.102          |> (if markup = "" then I else enclose ("\\" ^ markup ^ "{") "}")
   1.103 -        |> (if ! O.quotes then quote else I)
   1.104 -        |> (if ! O.display then enclose "\\begin{isabelle}%\n" "%\n\\end{isabelle}"
   1.105 +        |> (if ! ThyOutput.quotes then quote else I)
   1.106 +        |> (if ! ThyOutput.display then enclose "\\begin{isabelle}%\n" "%\n\\end{isabelle}"
   1.107              else hyper o enclose "\\mbox{\\isa{" "}}"))
   1.108      else error ("Bad " ^ kind ^ " " ^ quote name)
   1.109    end;
   1.110  
   1.111  fun entity check markup index kind =
   1.112 -  O.args (Scan.lift (Scan.optional (Args.parens Args.name) "" -- Args.name))
   1.113 +  ThyOutput.args (Scan.lift (Scan.optional (Args.parens Args.name) "" -- Args.name))
   1.114      (K (output_entity check markup index kind));
   1.115  
   1.116  fun entity_antiqs check markup kind =
   1.117 @@ -184,7 +180,7 @@
   1.118  
   1.119  in
   1.120  
   1.121 -val _ = O.add_commands
   1.122 +val _ = ThyOutput.add_commands
   1.123   (entity_antiqs no_check "" "syntax" @
   1.124    entity_antiqs (K (is_some o OuterKeyword.command_keyword)) "isacommand" "command" @
   1.125    entity_antiqs (K OuterKeyword.is_keyword) "isakeyword" "keyword" @