this one at least compiles

This commit is contained in:
🪞👃🪞 2025-07-19 07:55:56 +03:00
parent a145e332de
commit 291b917970
7 changed files with 416 additions and 198 deletions

View file

@ -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 })
}
}

View file

@ -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) }
},

View file

@ -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)* } }
}
}