use crate::prelude::*;
use beet_core::prelude::*;
use beet_flow::prelude::*;
use beet_rsx::prelude::*;
#[construct]
pub fn AddWorkspaceSourceFiles() -> impl Bundle {
(
Name::new("Add Workspace Source Files"),
OnSpawn::observe(
|ev: On<GetOutcome>,
config: Res<WorkspaceConfig>,
mut commands: Commands|
-> Result {
commands.spawn((
NonCollectionSourceFiles,
Children::spawn(SpawnIter(
config
.get_files()?
.into_iter()
.map(|path| SourceFile::new(path)),
)),
));
commands.entity(ev.target()).trigger_target(Outcome::Pass);
Ok(())
},
),
)
}
pub fn import_source_files() -> impl Bundle {
(Name::new("Import Source Files"), Sequence, children![
launch_sequence(),
AddWorkspaceSourceFiles,
])
}
pub fn import_and_parse_source_files() -> impl Bundle {
(
Name::new("Import and Parse Source Files"),
Sequence,
children![import_source_files(), ParseSourceFiles::action()],
)
}
#[deprecated = "unneeded cos we use beet flow now?"]
pub fn init_file_expr_hash(mut commands: Commands) {
commands.spawn((Name::new("Empty FileExprHash"), FileExprHash::default()));
}