From dc5bfadad0487e25322a03cb643a6069a04c0df3 Mon Sep 17 00:00:00 2001 From: QuartzLibrary <81446760+QuartzLibrary@users.noreply.github.com> Date: Wed, 1 Apr 2026 00:34:59 +0100 Subject: [PATCH] Show help if terminal and no files --- schema_analysis/src/main.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/schema_analysis/src/main.rs b/schema_analysis/src/main.rs index 24f0677..f6bced2 100644 --- a/schema_analysis/src/main.rs +++ b/schema_analysis/src/main.rs @@ -1,8 +1,8 @@ -use std::io::{self, BufReader, Read}; +use std::io::{self, BufReader, IsTerminal, Read}; use std::path::{Path, PathBuf}; use anyhow::{Context as _, Result, bail}; -use clap::Parser; +use clap::{CommandFactory, Parser}; use schema_analysis::context::{Context, DefaultContext}; use schema_analysis::helpers::xml::cleanup_xml_schema; use schema_analysis::targets::json_typegen::OutputMode; @@ -66,6 +66,11 @@ enum Output { fn main() -> Result<()> { let cli = Cli::parse(); + + if cli.files.is_empty() && io::stdin().is_terminal() { + Cli::command().print_help()?; + return Ok(()); + } let format = resolve_format(&cli)?; let output = if cli.no_analysis {