1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3
4mod block;
5mod bounded;
6mod catalog;
7mod definitions;
8mod executable;
9mod inline;
10mod mandoc;
11mod manual;
12mod manual_paths;
13mod markdown;
14mod markdown_mapping;
15mod output;
16mod projection;
17mod query;
18mod scope;
19mod search;
20mod source;
21mod text_safety;
22mod tldr;
23
24pub use catalog::{
25 AvailableDocument, AvailableDocumentKind, AvailableDocumentOrigin, CatalogError,
26 discover_documents, list_available_documents, query_available_documents,
27};
28pub use executable::find_host_executable;
29pub use mandoc::{
30 MAX_MANUAL_BYTES, ManualError, ManualErrorKind, lower_mandoc_document, parse_manual_bytes,
31 parse_manual_page, parse_manual_source,
32};
33pub use mant_ir::ResolvedContent;
34pub use manual::{is_command_manual_section, is_manual_section, parenthesized_manual_reference};
35pub use manual_paths::discover_manual_roots;
36pub use markdown::{MarkdownParseError, ParsedMarkdown, TldrDirectiveError, parse_markdown};
37pub use output::{
38 MarkdownOptions, SearchTextRole, render_excerpt_json, render_excerpt_markdown,
39 render_excerpt_markdown_with_options, render_excerpt_text, render_markdown,
40 render_markdown_with_options, render_outline_json, render_outline_markdown,
41 render_outline_text, render_query_json, render_query_man, render_query_text,
42 render_search_json, render_search_markdown, render_search_text, render_search_text_with,
43 render_update_json,
44};
45pub use projection::{
46 ProjectionError, SelectorCandidate, build_outline, build_outline_with_detail, select_excerpt,
47 select_explanation,
48};
49pub use query::{
50 DocumentResolver, MAX_MARKDOWN_BYTES, ManualLoadError, QueryError, QueryExecutionError,
51 QueryPolicy, QueryViewResult, execute_query, project_query_view, query_markdown_text,
52 query_roff_bytes, resolve_query, resolve_query_with_policy, validate_query_request,
53};
54pub use scope::{LoadedDocumentScope, ScopeQueryError, validate_scope_query_request};
55pub use search::{SearchError, search_query, validate_search_query};
56pub use source::{LocateError, ManualIndex, ManualPage, ManualRequest, locate_manual_source_in};
57pub use tldr::{
58 HostPlatform, TldrCacheError, TldrPageLocation, TldrParseError, get_system_tldr_cache_dirs,
59 get_tldr_cache_dir, get_tldr_languages, get_tldr_platforms, get_tldr_read_cache_dirs,
60 normalize_tldr_topic, parse_tldr_command, parse_tldr_page, read_cached_tldr_page,
61};
62#[cfg(feature = "tldr-update")]
63pub use tldr::{TldrUpdateError, update_tldr_cache};
64
65#[must_use]
67pub const fn native_api_version() -> &'static str {
68 mant_protocol::NATIVE_API_VERSION
69}
70
71#[cfg(test)]
72mod tests {
73 use super::native_api_version;
74
75 #[test]
76 fn exposes_the_native_api_version() {
77 assert_eq!(native_api_version(), "0.9");
78 }
79}