Crate mf_macro

Crate mf_macro 

Source
Expand description

ModuForge-RS 声明式宏

该模块提供了ModuForge项目的声明式宏,包括:

  • impl_command!: 快速实现Command trait
  • impl_extension!: 创建Extension实例 (legacy)
  • mf_extension!: 声明式扩展定义宏 (新版本,类似Deno的extension!宏)
  • mf_extension_with_config!: 带配置支持的扩展宏
  • mf_ops!: 声明操作函数块
  • mf_op!: 创建操作函数
  • mf_global_attr!: 创建全局属性项
  • impl_plugin!: 快速实现Plugin trait (legacy)
  • mf_plugin!: 声明式插件定义宏 (新版本,类似extension宏)
  • mf_plugin_with_config!: 带配置支持的插件宏
  • mf_plugin_metadata!: 创建插件元数据
  • mf_plugin_config!: 创建插件配置
  • impl_state_field!: 快速实现StateField trait
  • derive_plugin_state!: 为类型实现Resource trait
  • mark!: 创建Mark实例
  • node!: 创建Node实例

§注意

此crate现在是普通的库crate,不是proc-macro crate, 所以可以正常导出声明式宏。

§使用方法

[dependencies]
mf-macro = { path = "../macro" }
use mf_macro::{
    impl_command, mark, node, impl_plugin,
    mf_extension, mf_extension_with_config, mf_ops, mf_op, mf_global_attr,
    mf_plugin, mf_plugin_with_config, mf_plugin_metadata, mf_plugin_config,
    impl_state_field, derive_plugin_state
};

Modules§

command
extension
mark
node
plugin

Macros§

derive_plugin_state
impl_command
impl_extension
扩展宏实现,用于更简单的 Extension 创建(旧版)
impl_plugin
传统插件实现宏(旧版) 用于快速实现 PluginTrait,但缺少元数据支持
mark
mf_extension
定义具有声明式语法的 ModuForge 扩展,类似于 Deno 的 extension! 宏。 此宏创建结构体和扩展的相关初始化方法。
mf_extension_with_config
带配置支持的简化扩展宏
mf_global_attr
用于创建全局属性项的辅助宏
mf_meta
创建插件元数据的宏,不需要名称参数(名称将由mf_plugin!宏自动提供)
mf_node_transform
用于创建节点转换函数的辅助宏
mf_op
用于创建带错误处理的操作函数的辅助宏
mf_ops
声明操作函数块。类似于 Deno 的 ops! 宏。
mf_plugin
定义具有声明式语法的 ModuForge 插件,类似于 extension! 宏的设计
mf_plugin_config
创建插件配置的辅助宏
mf_plugin_metadataDeprecated
创建插件元数据的辅助宏 (已废弃,请使用 mf_meta!)
mf_plugin_with_config
带配置支持的可配置插件宏
node