37 lines
1.0 KiB
Rust
37 lines
1.0 KiB
Rust
use super::*;
|
|
|
|
/// Build the Rust WASM app and all of its assets.
|
|
#[derive(Clone, Debug, Deserialize, Subcommand)]
|
|
#[clap(name = "plugin")]
|
|
pub enum Plugin {
|
|
/// Return all dioxus-cli support tools.
|
|
List {},
|
|
/// Get default app install path.
|
|
AppPath {},
|
|
/// Install a new tool.
|
|
Add { name: String },
|
|
}
|
|
|
|
impl Plugin {
|
|
pub async fn plugin(self) -> Result<()> {
|
|
match self {
|
|
Plugin::List {} => {
|
|
for item in crate::plugin::PluginManager::plugin_list() {
|
|
println!("- {item}");
|
|
}
|
|
}
|
|
Plugin::AppPath {} => {
|
|
if let Some(v) = crate::plugin::PluginManager::init_plugin_dir().to_str() {
|
|
println!("{}", v);
|
|
} else {
|
|
log::error!("Plugin path get failed.");
|
|
}
|
|
}
|
|
Plugin::Add { name: _ } => {
|
|
log::info!("You can use `dioxus plugin app-path` to get Installation position");
|
|
}
|
|
}
|
|
Ok(())
|
|
}
|
|
}
|