Module Search
Search facilities.
type glob_search_item=|GlobSearchSubPattern of Vernacexpr.glob_search_where * bool * Pattern.constr_pattern|GlobSearchString of string|GlobSearchKind of Decls.logical_kind|GlobSearchFilter of Names.GlobRef.t -> booltype glob_search_request=|GlobSearchLiteral of glob_search_item|GlobSearchDisjConj of (bool * glob_search_request) list listtype filter_function= Names.GlobRef.t -> Decls.logical_kind option -> Environ.env -> Evd.evar_map -> Constr.constr -> booltype display_function= Names.GlobRef.t -> Decls.logical_kind option -> Environ.env -> Evd.evar_map -> Constr.constr -> unit
Generic filter functions
val blacklist_filter : filter_functionCheck whether a reference is blacklisted.
val module_filter : Names.DirPath.t list Vernacexpr.search_restriction -> filter_functionCheck whether a reference pertains or not to a set of modules
val search_filter : glob_search_item -> filter_function
Specialized search functions
search_xxx gl pattern modinout searches the hypothesis of the glth goal and the global environment for things matching pattern and satisfying module exclude/include clauses of modinout.
val search_rewrite : Environ.env -> Evd.evar_map -> Pattern.constr_pattern -> Names.DirPath.t list Vernacexpr.search_restriction -> display_function -> unitval search_pattern : Environ.env -> Evd.evar_map -> Pattern.constr_pattern -> Names.DirPath.t list Vernacexpr.search_restriction -> display_function -> unitval search : Environ.env -> Evd.evar_map -> (bool * glob_search_request) list -> Names.DirPath.t list Vernacexpr.search_restriction -> display_function -> unit
type search_constraint=|Name_Pattern of Str.regexpWhether the name satisfies a regexp (uses Ocaml Str syntax)
|Type_Pattern of Pattern.constr_patternWhether the object type satisfies a pattern
|SubType_Pattern of Pattern.constr_patternWhether some subtype of object type satisfies a pattern
|In_Module of Names.DirPath.tWhether the object pertains to a module
|Include_BlacklistBypass the Search blacklist
type 'a coq_object={coq_object_prefix : string list;coq_object_qualid : string list;coq_object_object : 'a;}
val interface_search : Environ.env -> Evd.evar_map -> (search_constraint * bool) list -> Constr.constr coq_object list
Generic search function
val generic_search : Environ.env -> Evd.evar_map -> display_function -> unitThis function iterates over all hypothesis of the goal numbered
glnum(if present) and all known declarations.
Search function modifiers
val prioritize_search : (display_function -> unit) -> display_function -> unitprioritize_search iteriterates over the values ofiter(seen as a sequence of declarations), in a relevance order. This requires to perform the entire iteration ofiterbefore starting streaming. Soprioritize_searchshould not be used for low-latency streaming.