mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2026-11-15 13:16:56 +00:00
style: Refactor admin crate, drop admin_command macro
`admin_command` depended on `implement`, which is now gone.
This commit is contained in:
22 files changed
+4068
-4106
No files matched your search
+1
-10
@@ -2,19 +2,10 @@ use itertools::Itertools;
|
||||
use proc_macro::{Span, TokenStream};
|
||||
use proc_macro2::TokenStream as TokenStream2;
|
||||
use quote::{ToTokens, quote};
|
||||
use syn::{Attribute, Error, Fields, Ident, ItemEnum, ItemFn, Meta, Variant, parse_quote};
|
||||
use syn::{Error, Fields, Ident, ItemEnum, Meta, Variant};
|
||||
|
||||
use crate::{Result, utils::camel_to_snake_string};
|
||||
|
||||
pub(super) fn command(mut item: ItemFn, _args: &[Meta]) -> Result<TokenStream> {
|
||||
let attr: Attribute = parse_quote! {
|
||||
#[conduwuit_macros::implement(crate::Context, params = "<'_>")]
|
||||
};
|
||||
|
||||
item.attrs.push(attr);
|
||||
Ok(item.into_token_stream().into())
|
||||
}
|
||||
|
||||
pub(super) fn command_dispatch(item: ItemEnum, _args: &[Meta]) -> Result<TokenStream> {
|
||||
let name = &item.ident;
|
||||
let arm: Vec<TokenStream2> = item.variants.iter().map(dispatch_arm).try_collect()?;
|
||||
|
||||
@@ -14,11 +14,6 @@ use syn::{
|
||||
|
||||
pub(crate) type Result<T> = std::result::Result<T, Error>;
|
||||
|
||||
#[proc_macro_attribute]
|
||||
pub fn admin_command(args: TokenStream, input: TokenStream) -> TokenStream {
|
||||
attribute_macro::<ItemFn, _>(args, input, admin::command)
|
||||
}
|
||||
|
||||
#[proc_macro_attribute]
|
||||
pub fn admin_command_dispatch(args: TokenStream, input: TokenStream) -> TokenStream {
|
||||
attribute_macro::<ItemEnum, _>(args, input, admin::command_dispatch)
|
||||
|
||||
+1
-3
@@ -1,8 +1,6 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use syn::{Expr, ExprLit, Generics, Lit, Meta, MetaNameValue, parse_str};
|
||||
|
||||
use crate::Result;
|
||||
use syn::{Expr, ExprLit, Lit, Meta, MetaNameValue};
|
||||
|
||||
pub(crate) fn get_simple_settings(args: &[Meta]) -> HashMap<String, String> {
|
||||
args.iter().fold(HashMap::new(), |mut map, arg| {
|
||||
|
||||
Reference in new issue
Block a user