mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-11 21:00:35 +00:00
29 lines
630 B
Rust
29 lines
630 B
Rust
mod cli;
|
|
|
|
use std::path::PathBuf;
|
|
|
|
use anyhow::Result;
|
|
use clap::Parser;
|
|
use schemars::schema_for;
|
|
use theme::Theme;
|
|
|
|
fn build_themes(out_dir: PathBuf, file_name: PathBuf) -> Result<()> {
|
|
let theme = schema_for!(Theme);
|
|
let output = serde_json::to_string_pretty(&theme)?;
|
|
|
|
std::fs::create_dir(&out_dir)?;
|
|
|
|
let mut file_path = out_dir;
|
|
file_path.push(file_name);
|
|
|
|
std::fs::write(file_path, output)?;
|
|
|
|
Ok(())
|
|
}
|
|
|
|
fn main() -> Result<()> {
|
|
let args = cli::Cli::parse();
|
|
match args.command {
|
|
cli::Commands::BuildThemeTypes { out_dir, file_name } => build_themes(out_dir, file_name),
|
|
}
|
|
}
|