aboutsummaryrefslogtreecommitdiff
path: root/derive-macro/src/lib.rs
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-02-17 09:42:06 +0100
committerRobin Jarry <robin@jarry.cc>2023-10-31 19:00:51 +0100
commit13cce987905bbe134dea4de35872302cccca271b (patch)
tree701b220e848a55458fdac7c63b2f1d373e63069c /derive-macro/src/lib.rs
parent202e8c9d06bab32217549f23125d6b274107afda (diff)
downloadaerc-13cce987905bbe134dea4de35872302cccca271b.tar.gz
aerc-13cce987905bbe134dea4de35872302cccca271b.zip
wip
Signed-off-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'derive-macro/src/lib.rs')
-rw-r--r--derive-macro/src/lib.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/derive-macro/src/lib.rs b/derive-macro/src/lib.rs
new file mode 100644
index 00000000..513c2b20
--- /dev/null
+++ b/derive-macro/src/lib.rs
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: MIT
+// Copyright (c) 2023 Robin Jarry
+
+extern crate proc_macro;
+
+use proc_macro::TokenStream;
+use proc_macro_error::proc_macro_error;
+use syn::{parse_macro_input, DeriveInput};
+
+mod attrs;
+mod derives;
+mod doc_comments;
+mod dummies;
+mod item;
+mod spanned;
+
+#[proc_macro_derive(IniMap, attributes(key, default, parse_with))]
+#[proc_macro_error]
+pub fn ini(input: TokenStream) -> TokenStream {
+ let input: DeriveInput = parse_macro_input!(input);
+ derives::derive_ini(&input).into()
+}