forked from nonsensical-dev/zenyx-engine
* Combine comparison algorithims for autocorrect
* clear zephyr functions
* remove redundant comments because co-pilot is stupid and i probably will never try to use it again
* implement basic tab completion
* fix unused items
* Make workflow check code quality
* split code quality into its own file
* make action fail on bad formatting
* change workflow to nightly
* f it, code quality is considered breaking
* fix forgetting to set toolchain back to nightly when rewriting workflow (😔)
* Add condition for too little arguments
* run cargo fmt
* remove unneeded feature directive
36 lines
855 B
Rust
36 lines
855 B
Rust
#![deny(clippy::unwrap_in_result)]
|
|
use anyhow::Result;
|
|
use log::LevelFilter;
|
|
use plugin_api::plugin_imports::*;
|
|
use plugin_api::{get_plugin, PluginManager};
|
|
|
|
pub mod core;
|
|
pub mod utils;
|
|
|
|
use utils::{logger::LOGGER, splash::print_splash};
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<()> {
|
|
// Load all plugins
|
|
|
|
log::set_logger(&*LOGGER).ok();
|
|
log::set_max_level(LevelFilter::Off);
|
|
|
|
print_splash();
|
|
let mut plugin_manager = PluginManager::new();
|
|
let plugins = plugin_manager.load_all();
|
|
println!("Plugins loaded: {:?}", plugins);
|
|
|
|
// Get the player plugin
|
|
let player_lib = get_plugin!(player_lib, plugins);
|
|
player_lib.test();
|
|
|
|
LOGGER.write_to_stdout();
|
|
|
|
let shell_thread = tokio::task::spawn(async { core::repl::exec::handle_repl().await });
|
|
|
|
core::init_renderer()?;
|
|
shell_thread.await??;
|
|
|
|
Ok(())
|
|
}
|