let open_paren = Mpresentation.Mo ([], "(")
let closed_paren = Mpresentation.Mo ([], ")")
+let open_bracket = Mpresentation.Mo ([], "[")
+let closed_bracket = Mpresentation.Mo ([], "]")
let open_brace = Mpresentation.Mo ([], "{")
let closed_brace = Mpresentation.Mo ([], "}")
let hidden_substs = Mpresentation.Mtext ([], "{...}")
+let hidden_lctxt = Mpresentation.Mtext ([], "[...]")
let open_box_paren = Box.Text ([], "(")
let closed_box_paren = Box.Text ([], ")")
let semicolon = Mpresentation.Mo ([], ";")
in
let substs_maction = toggle_action [ hidden_substs; substs' ] in
box_of mathonly (A.H, false, false) [] [ name; substs_maction ])
+ | A.Meta(n, l) ->
+ let local_context l =
+ box_of mathonly (A.H, false, false) []
+ ([ Mpres.Mtext ([], "[") ] @
+ (CicNotationUtil.dress (Mpres.Mtext ([], ";"))
+ (List.map
+ (function
+ | None -> Mpres.Mtext ([], "_")
+ | Some t -> aux xmlattrs mathonly xref pos prec t) l)) @
+ [ Mpres.Mtext ([], "]")])
+ in
+ let lctxt_maction = toggle_action [ hidden_lctxt; local_context l ] in
+ box_of mathonly (A.H, false, false) []
+ ([Mpres.Mtext ([], "?"^string_of_int n) ]
+ @ (if l <> [] then [lctxt_maction] else []))
| A.Literal l -> aux_literal xmlattrs xref prec l
| A.UserInput -> Mpres.Mtext ([], "%")
| A.Layout l -> aux_layout mathonly xref pos prec l
| Ast.Implicit -> builtin_symbol "?"
| Ast.Meta (n, l) ->
let local_context l =
- CicNotationUtil.dress (builtin_symbol ";")
- (List.map (function None -> builtin_symbol "_" | Some t -> k t) l)
+ List.map (function None -> None | Some t -> Some (k t)) l
in
- hbox false false
- ([ builtin_symbol "?"; number (string_of_int n) ]
- @ (if l <> [] then local_context l else []))
+ Ast.Meta(n, local_context l)
| Ast.Sort sort -> aux_sort sort
| Ast.Num _
| Ast.Symbol _