start ast

This commit is contained in:
Borodinov Ilya 2024-11-11 22:44:25 +03:00
parent 83774a7ed5
commit bd082b186b
Signed by: noth
GPG key ID: 75503B2EF596D1BD
2 changed files with 40 additions and 11 deletions

19
Cargo.lock generated Normal file
View file

@ -0,0 +1,19 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "cogs_ast"
version = "0.1.0"
[[package]]
name = "cogs_axum"
version = "0.1.0"
[[package]]
name = "cogs_codegen"
version = "0.1.0"
[[package]]
name = "cogs_parser"
version = "0.1.0"

View file

@ -1,14 +1,24 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
pub struct Component {
pub elements: Vec<Element>,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
pub enum Element {
Html(HtmlTag),
Block(CodeBlock),
}
pub struct HtmlTag {
pub tag: String,
pub attributes: Vec<Attribute>,
pub content: Vec<Element>,
}
pub struct Attribute {
pub name: String,
pub value: String,
}
pub struct CodeBlock {
pub is_async: bool,
pub content: String,
}