summaryrefslogtreecommitdiff
path: root/macros/src/capability.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-11-21 13:56:25 +0100
committerLaurenz <laurmaedje@gmail.com>2022-11-21 14:00:37 +0100
commit36ea0b05c9986288eec8bc4a6b35a89b6ea0d3f4 (patch)
tree947f463758adc80e265dbbb24eda21cff4b6e8be /macros/src/capability.rs
parent7c7b8302251e9703b086c9bf5a989982535bc25b (diff)
Refactor proc macros
Diffstat (limited to 'macros/src/capability.rs')
-rw-r--r--macros/src/capability.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/macros/src/capability.rs b/macros/src/capability.rs
new file mode 100644
index 00000000..7dd4c42a
--- /dev/null
+++ b/macros/src/capability.rs
@@ -0,0 +1,10 @@
+use super::*;
+
+/// Expand the `#[capability]` macro.
+pub fn expand(body: syn::ItemTrait) -> Result<TokenStream> {
+ let ident = &body.ident;
+ Ok(quote! {
+ #body
+ impl ::typst::model::Capability for dyn #ident {}
+ })
+}