| `Us
| `Coercions
| `CoercionsFull
+ | `TeX
+ | `Grammar
]
type mathViewer_entry =
| `Metadata of [ `Deps of [`Fwd | `Back] * UriManager.uri ]
| `Uri of UriManager.uri (* cic object uri *)
| `Whelp of string * UriManager.uri list (* query and results *)
+ | `Univs of UriManager.uri
]
let string_of_entry = function
| `About `Us -> "about:us"
| `About `Coercions -> "about:coercions?tred=true"
| `About `CoercionsFull -> "about:coercions"
+ | `About `TeX -> "about:tex"
+ | `About `Grammar -> "about:grammar"
| `Check _ -> "check:"
| `Cic (_, _) -> "term:"
| `Dir uri -> uri
(match dir with | `Fwd -> "forward" | `Back -> "backward") ^ suri)
| `Uri uri -> UriManager.string_of_uri uri
| `Whelp (query, _) -> query
+ | `Univs uri -> "univs:" ^ UriManager.string_of_uri uri
let entry_of_string = function
| "about:blank" -> `About `Blank
| "about:us" -> `About `Us
| "about:coercions?tred=true" -> `About `Coercions
| "about:coercions" -> `About `CoercionsFull
+ | "about:tex" -> `About `TeX
+ | "about:grammar" -> `About `Grammar
| _ -> (* only about entries supported ATM *)
raise (Invalid_argument "entry_of_string")