diff --git a/.gitignore b/.gitignore index ad67955..7cfeab2 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,10 @@ target # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + + +# Added by cargo + +/target + +.mist diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..e7f4d2d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,14 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "pulse-trader" +version = "0.1.0" +dependencies = [ + "pulse-ui", +] + +[[package]] +name = "pulse-ui" +version = "0.1.0-alpha.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..610264a --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "pulse-trader" +version = "0.1.0" +edition = "2024" + +[workspace] +members = ["pulse-ui"] + +[workspace.dependencies] +pulse-ui = { path = "pulse-ui", version = "0.1.0-alpha.0" } + +[dependencies] +pulse-ui = { workspace = true } + +[[bin]] +name = "pulse-trader" +path = ".mist/src/main.rs" diff --git a/Mist.toml b/Mist.toml new file mode 100644 index 0000000..401c586 --- /dev/null +++ b/Mist.toml @@ -0,0 +1,3 @@ +package = "main.mist" +packages = [] +include = ["pulse-ui"] diff --git a/pulse-ui/Cargo.toml b/pulse-ui/Cargo.toml new file mode 100644 index 0000000..1890d49 --- /dev/null +++ b/pulse-ui/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "pulse-ui" +version = "0.1.0-alpha.0" +edition = "2024" + +[dependencies] + +[lib] +name = "pulse_ui" +path = ".mist/src/lib.rs" diff --git a/pulse-ui/Mist.toml b/pulse-ui/Mist.toml new file mode 100644 index 0000000..a568ef1 --- /dev/null +++ b/pulse-ui/Mist.toml @@ -0,0 +1,3 @@ +package = "lib.mist" +packages = [] +include = [] diff --git a/pulse-ui/src/StateManagement.mist b/pulse-ui/src/StateManagement.mist new file mode 100644 index 0000000..603a50d --- /dev/null +++ b/pulse-ui/src/StateManagement.mist @@ -0,0 +1,25 @@ +pub module state_management; + +use std::sync::Arc; +use std::sync::Mutex; +use std::sync::LockResult; +use std::sync::MutexGuard; + +pub trait Dependent +{ + void update(&self); +} + +pub struct State +{ + pub Box dependent; + pub Arc> data; +} + +impl State +{ + LockResult> lock(&self) + { + self.data.lock() + } +} diff --git a/pulse-ui/src/lib.mist b/pulse-ui/src/lib.mist new file mode 100644 index 0000000..083d0d9 --- /dev/null +++ b/pulse-ui/src/lib.mist @@ -0,0 +1,3 @@ +pub void test() { + println!("Hello, World"); +} diff --git a/src/main.mist b/src/main.mist new file mode 100644 index 0000000..ff5fe30 --- /dev/null +++ b/src/main.mist @@ -0,0 +1,5 @@ +void main() { + println!("Hello, World!"); + + pulse_ui::test(); +}