Skip to main content

Crate mf_macro

Crate mf_macro 

Source
Expand description

ModuForge-RS 声明式宏

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

  • 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!:声明式插件定义宏
  • mf_plugin_with_config!:带配置支持的插件宏
  • mf_plugin_metadata!:创建插件元数据
  • mf_plugin_config!:创建插件配置
  • impl_state_field!:快速实现 StateField trait
  • derive_plugin_state!:为类型实现 Resource trait
  • mark!:创建 Mark 实例
  • node!:创建 Node 实例

注意:异步命令属性宏 #[impl_command] 现由 moduforge-macros-derive 提供,请直接从该 crate 导入。

§使用方法

[dependencies]
mf-macro = { path = "../macro" }
mf-derive = { path = "../derive" } # 如果需要使用 #[impl_command]
use mf_macro::{
    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
};
use mf_derive::impl_command; // #[impl_command] 请从 `mf_derive` 导入

Modules§

extension
mark
node
plugin

Macros§

derive_plugin_state
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