| `Current_proof
| `Us
| `Coercions
+ | `CoercionsFull
]
type mathViewer_entry =
[ `About of abouts (* current proof *)
- | `Check of string (* term *)
+ | `Check of string (* term *)
| `Cic of Cic.term * Cic.metasenv
- | `Dir of string (* "directory" in cic uris namespace *)
+ | `Development of string
+ | `Dir of string (* "directory" in cic uris namespace *)
+ | `HBugs of [ `Tutors ] (* list of available HBugs tutors *)
+ | `Metadata of [ `Deps of [`Fwd | `Back] * UriManager.uri ]
| `Uri of UriManager.uri (* cic object uri *)
| `Whelp of string * UriManager.uri list (* query and results *)
]
| `About `Blank -> "about:blank"
| `About `Current_proof -> "about:proof"
| `About `Us -> "about:us"
- | `About `Coercions -> "about:coercions"
+ | `About `Coercions -> "about:coercions?tred=true"
+ | `About `CoercionsFull -> "about:coercions"
| `Check _ -> "check:"
| `Cic (_, _) -> "term:"
+ | `Development d -> "devel:/" ^ d
| `Dir uri -> uri
+ | `HBugs `Tutors -> "hbugs:/tutors/"
+ | `Metadata meta ->
+ "metadata:/" ^
+ (match meta with
+ | `Deps (dir, uri) ->
+ "deps/" ^
+ let suri =
+ let suri = UriManager.string_of_uri uri in
+ let len = String.length suri in
+ String.sub suri 4 (len - 4) in (* strip "cic:" prefix *)
+ (match dir with | `Fwd -> "forward" | `Back -> "backward") ^ suri)
| `Uri uri -> UriManager.string_of_uri uri
| `Whelp (query, _) -> query
| "about:blank" -> `About `Blank
| "about:proof" -> `About `Current_proof
| "about:us" -> `About `Us
- | "about:coercions" -> `About `Coercions
+ | "about:coercions?tred=true" -> `About `Coercions
+ | "about:coercions" -> `About `CoercionsFull
| _ -> (* only about entries supported ATM *)
raise (Invalid_argument "entry_of_string")