wtf
This commit is contained in:
commit
ffd34f6fdf
10 changed files with 131 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
/target
|
||||
**/*.rs.bk
|
46
Cargo.lock
generated
Normal file
46
Cargo.lock
generated
Normal file
|
@ -0,0 +1,46 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "enterprise"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "enterprise-macros"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "todomvc"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"enterprise 0.1.0",
|
||||
"enterprise-macros 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[metadata]
|
||||
"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc"
|
||||
"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
|
||||
"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
|
10
Cargo.toml
Normal file
10
Cargo.toml
Normal file
|
@ -0,0 +1,10 @@
|
|||
[package]
|
||||
name = "enterprise"
|
||||
version = "0.1.0"
|
||||
authors = ["Michael Zhang <iptq@protonmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[workspace]
|
||||
members = ["enterprise-macros", "todomvc"]
|
||||
|
||||
[dependencies]
|
11
enterprise-macros/Cargo.toml
Normal file
11
enterprise-macros/Cargo.toml
Normal file
|
@ -0,0 +1,11 @@
|
|||
[package]
|
||||
name = "enterprise-macros"
|
||||
version = "0.1.0"
|
||||
authors = ["Michael Zhang <iptq@protonmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
|
||||
[dependencies]
|
||||
quote = "1.0.2"
|
11
enterprise-macros/src/lib.rs
Normal file
11
enterprise-macros/src/lib.rs
Normal file
|
@ -0,0 +1,11 @@
|
|||
extern crate proc_macro;
|
||||
|
||||
use quote::quote;
|
||||
use proc_macro::TokenStream;
|
||||
|
||||
#[proc_macro]
|
||||
pub fn component(input_tokens: TokenStream) -> TokenStream {
|
||||
let tokens = quote! {
|
||||
};
|
||||
tokens.into()
|
||||
}
|
11
src/backend.rs
Normal file
11
src/backend.rs
Normal file
|
@ -0,0 +1,11 @@
|
|||
pub trait Backend {
|
||||
|
||||
}
|
||||
|
||||
pub struct WebBackend {
|
||||
|
||||
}
|
||||
|
||||
impl Backend for WebBackend {
|
||||
|
||||
}
|
0
src/lib.rs
Normal file
0
src/lib.rs
Normal file
3
src/widgets/mod.rs
Normal file
3
src/widgets/mod.rs
Normal file
|
@ -0,0 +1,3 @@
|
|||
pub trait Widget<B> {
|
||||
|
||||
}
|
9
todomvc/Cargo.toml
Normal file
9
todomvc/Cargo.toml
Normal file
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "todomvc"
|
||||
version = "0.1.0"
|
||||
authors = ["Michael Zhang <iptq@protonmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
enterprise = { path = ".." }
|
||||
enterprise-macros = { path = "../enterprise-macros" }
|
28
todomvc/src/main.rs
Normal file
28
todomvc/src/main.rs
Normal file
|
@ -0,0 +1,28 @@
|
|||
use enterprise_macros::component;
|
||||
|
||||
component! {
|
||||
data {
|
||||
|
||||
}
|
||||
|
||||
markup {
|
||||
<Header>
|
||||
<H1>Todos</H1>
|
||||
<TextBox
|
||||
/>
|
||||
</Header>
|
||||
|
||||
{#if items.length > 0}
|
||||
<Section class="main">
|
||||
<List>
|
||||
{#for item in items}
|
||||
{/for}
|
||||
</List>
|
||||
</Section>
|
||||
{/if}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
Loading…
Reference in a new issue