aboutsummaryrefslogtreecommitdiffhomepage
path: root/vernac/vernacinterp.mli
diff options
context:
space:
mode:
authorGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-11-20 16:19:41 +0100
committerGravatar Emilio Jesus Gallego Arias <e+git@x80.org>2017-11-27 19:44:28 +0100
commit4aba7c162905c61b3bb1a9f8d5c325de38b5847a (patch)
treed65724fb8941c208f86047b62fbef1229f9c5964 /vernac/vernacinterp.mli
parent437f20f0a1c2717cd7baae52e2ab20750dd9d4fb (diff)
[vernac] Start to uniformize type of vernac interpretation.
In particular, we put all the context in the atts structure, and generalize the type of the parameters of a vernac. I hope this helps people working on "attributes", my motivation is indeed having a more robust interpretation.
Diffstat (limited to 'vernac/vernacinterp.mli')
-rw-r--r--vernac/vernacinterp.mli15
1 files changed, 5 insertions, 10 deletions
diff --git a/vernac/vernacinterp.mli b/vernac/vernacinterp.mli
index 602ccba15..fc528579f 100644
--- a/vernac/vernacinterp.mli
+++ b/vernac/vernacinterp.mli
@@ -15,17 +15,12 @@ type atts = {
locality : bool option;
}
-type vernac_command =
- Genarg.raw_generic_argument list ->
- atts:atts -> st:Vernacstate.t ->
- Vernacstate.t
+type 'a vernac_command = 'a -> atts:atts -> st:Vernacstate.t -> Vernacstate.t
-val vinterp_add : deprecation -> Vernacexpr.extend_name -> vernac_command -> unit
-
-val overwriting_vinterp_add : Vernacexpr.extend_name -> vernac_command -> unit
+type plugin_args = Genarg.raw_generic_argument list
val vinterp_init : unit -> unit
+val vinterp_add : deprecation -> Vernacexpr.extend_name -> plugin_args vernac_command -> unit
+val overwriting_vinterp_add : Vernacexpr.extend_name -> plugin_args vernac_command -> unit
-val call : ?locality:bool -> ?loc:Loc.t ->
- Vernacexpr.extend_name * Genarg.raw_generic_argument list ->
- st:Vernacstate.t -> Vernacstate.t
+val call : Vernacexpr.extend_name -> plugin_args -> atts:atts -> st:Vernacstate.t -> Vernacstate.t