nichlink_run_method/lib.rs
1//! NichLink runtime: trace state, macros, and the authoring executor.
2//! The registry tree and plugin protocol live in the kernel; this crate is
3//! the run_method execution surface.
4//! NichLink 运行期:trace 状态、宏与 authoring 执行器。
5//! 注册树与插件协议在 kernel;本 crate 是 run_method 执行面。
6
7// The published surface must be readable on docs.rs without leaving the page,
8// so the lint is on for the whole crate; `clippy -D warnings` makes a new
9// undocumented public item a failure.
10// 发布表面必须能在 docs.rs 上不跳页读懂,因此 lint 开在整个 crate 上;
11// `clippy -D warnings` 会让新增的、没有文档的公开项变成失败。
12#![warn(missing_docs)]
13
14#[macro_use]
15#[path = "macros/macros.rs"]
16pub mod macros;
17#[cfg(feature = "authoring")]
18#[path = "authoring/authoring.rs"]
19pub mod authoring;
20#[path = "call_report/call_report.rs"]
21pub mod call_report;
22#[path = "plugin/plugin.rs"]
23pub mod plugin;
24#[path = "registry/registry.rs"]
25pub mod registry;
26#[path = "runtime/runtime.rs"]
27pub mod runtime;
28
29pub use nichlink::registry_core;
30// This glob names the same kernel items the historical `nichlink::*` glob did,
31// and it overlaps this crate's own `authoring` shim (`parse`, `snapshot`,
32// `validation`). Both paths are the same surface, so the overlap is allowed
33// here rather than resolved.
34// 本 glob 命名的内核条目与历史上的 `nichlink::*` 完全相同,并与本 crate 自己的
35// `authoring` shim(`parse`、`snapshot`、`validation`)重叠。两条路径同属一个执行面,
36// 因此这里允许重叠而不做消解。
37#[allow(ambiguous_glob_reexports)]
38pub use nichlink::registry_core::*;
39/// The face field front end, re-exported so a host does not have to depend on
40/// the proc-macro crate itself.
41/// 注册面字段前端;再导出后宿主无需自己依赖 proc-macro crate。
42pub use nichlink_macro::face_fields;
43/// The editor-only field mirror used by generated aliases.
44/// 生成的别名使用的、仅供编辑器的字段镜像。
45pub use nichlink_macro::face_fields_mirror;
46/// The default `registry_rule` resolver used by the declarative face arms.
47/// 声明式注册面分支使用的 `registry_rule` 默认值解析器。
48#[doc(hidden)]
49pub use nichlink_macro::face_rule_or as __face_rule_or;
50pub use nichlink_macro::face_trait_labels_or as __face_trait_labels_or;
51
52#[cfg(feature = "authoring")]
53#[allow(ambiguous_glob_reexports)]
54pub use authoring::*;
55pub use call_report::*;
56pub use runtime::*;