mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2025-12-06 03:36:42 +01:00
this one at least compiles
This commit is contained in:
parent
a145e332de
commit
291b917970
7 changed files with 416 additions and 198 deletions
|
|
@ -93,7 +93,7 @@ impl ToTokens for CommandDef {
|
|||
out
|
||||
};
|
||||
write_quote(quote! {
|
||||
Some(::tengri::dsl::Token { value: ::tengri::dsl::DslVal::Key(#key), .. }) => {
|
||||
Some(::tengri::dsl::Token { value: ::tengri::dsl::Val::Key(#key), .. }) => {
|
||||
let mut words = words.clone();
|
||||
Some(#command_enum::#variant)
|
||||
},
|
||||
|
|
@ -154,7 +154,7 @@ impl ToTokens for CommandDef {
|
|||
state: &#state,
|
||||
value: &impl ::tengri::dsl::Dsl
|
||||
) -> Perhaps<Self> {
|
||||
use ::tengri::dsl::DslVal::*;
|
||||
use ::tengri::dsl::Val::*;
|
||||
todo!()//Ok(match token { #(#matchers)* _ => None })
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ impl ExposeImpl {
|
|||
/// Generated by [tengri_proc::expose].
|
||||
impl ::tengri::dsl::FromDsl<#state> for #t {
|
||||
fn try_from_dsl (state: &#state, dsl: &impl Dsl) -> Perhaps<Self> {
|
||||
Ok(Some(match dsl.val() {
|
||||
Ok(Some(match dsl.dsl() {
|
||||
#arms
|
||||
_ => { return Ok(None) }
|
||||
}))
|
||||
|
|
@ -93,7 +93,7 @@ impl ExposeImpl {
|
|||
let formatted_type = format!("{}", quote! { #t });
|
||||
if &formatted_type == "bool" {
|
||||
return quote! {
|
||||
::tengri::dsl::DslVal::Sym(s) => match s.as_ref() {
|
||||
::tengri::dsl::Val::Sym(s) => match s.as_ref() {
|
||||
":true" => true,
|
||||
":false" => false,
|
||||
#variants
|
||||
|
|
@ -110,16 +110,16 @@ impl ExposeImpl {
|
|||
Span::call_site()
|
||||
);
|
||||
return quote! {
|
||||
::tengri::dsl::DslVal::Num(n) => TryInto::<#t>::try_into(n)
|
||||
::tengri::dsl::Val::Num(n) => TryInto::<#t>::try_into(n)
|
||||
.unwrap_or_else(|_|panic!(#num_err)),
|
||||
::tengri::dsl::DslVal::Sym(s) => match s.as_ref() {
|
||||
::tengri::dsl::Val::Sym(s) => match s.as_ref() {
|
||||
#variants
|
||||
_ => { return Ok(None) }
|
||||
},
|
||||
}
|
||||
}
|
||||
return quote! {
|
||||
::tengri::dsl::DslVal::Sym(s) => match s.as_ref() {
|
||||
::tengri::dsl::Val::Sym(s) => match s.as_ref() {
|
||||
#variants
|
||||
_ => { return Ok(None) }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ impl ViewDef {
|
|||
fn builtins (&self) -> impl ToTokens {
|
||||
let Self(ViewMeta { output }, ViewImpl { block, exposed }) = self;
|
||||
let builtins = builtins_with_boxes_output(quote! { #output }).map(|builtin|quote! {
|
||||
::tengri::dsl::DslVal::Exp(_, expr) => return Ok(Some(
|
||||
::tengri::dsl::Val::Exp(_, expr) => return Ok(Some(
|
||||
#builtin::from_dsl(self, expr, ||Box::new("failed to load builtin".into()))?
|
||||
.boxed()
|
||||
)),
|
||||
|
|
@ -89,7 +89,7 @@ impl ViewDef {
|
|||
let exposed = exposed.iter().map(|(key, value)|write_quote(quote! {
|
||||
#key => return Ok(Some(self.#value().boxed())),
|
||||
}));
|
||||
quote! { ::tengri::dsl::DslVal::Sym(key) => match key.as_ref() { #(#exposed)* } }
|
||||
quote! { ::tengri::dsl::Val::Sym(key) => match key.as_ref() { #(#exposed)* } }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue