feat: basic autofmt

This commit is contained in:
Jonathan Kelley committed 2022-04-24 03:24:41 -04:00
1 parent 3269b2b5aa
commit 84f0245f6c
9 files changed
+127 -38

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
use super::*;
/// Build the Rust WASM app and all of its assets.
#[derive(Clone, Debug, Parser)]
pub struct Autoformat {
/// Input file
#[clap(short, long)]
pub raw: Option<String>,
}
impl Autoformat {
pub fn autoformat(self) -> Result<()> {
if let Some(raw) = self.raw {
if let Some(inner) = dioxus_autofmt::fmt_block(&raw) {
println!("{}", inner);
} else {
// exit process with error
eprintln!("error formatting codeblock");
exit(1);
}
}
Ok(())
}
}
+11
View File
@@ -1,3 +1,4 @@
pub mod autoformat;
pub mod build;
pub mod cfg;
pub mod clean;
@@ -45,17 +46,27 @@ pub struct Cli {
pub enum Commands {
/// Build the Rust WASM app and all of its assets.
Build(build::Build),
/// Translate some source file into Dioxus code.
Translate(translate::Translate),
/// Build, watch & serve the Rust WASM app and all of its assets.
Serve(serve::Serve),
/// Init a new project for Dioxus.
Create(create::Create),
/// Clean output artifacts.
Clean(clean::Clean),
/// Format some rsx
#[clap(name = "fmt")]
Autoformat(autoformat::Autoformat),
/// Dioxus config file controls.
#[clap(subcommand)]
Config(config::Config),
/// Install & Manage tools for Dioxus-cli.
#[clap(subcommand)]
Tool(tool::Tool),