summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraidanfnv <aidanf@nvidia.com>2025-07-11 14:57:38 -0700
committerGitHub <noreply@github.com>2025-07-11 21:57:38 +0000
commit39f3c6c7701ed9d7edd5bfd8ee0adf99d2d658e0 (patch)
tree41e0847c69c6439f145dee1e74b423c5fe3be0fe
parent1dc32b8bf8dd14e607d306c160b1bedf46067910 (diff)
Use stdout for --help text instead of stderr (#7730)
* Use stdout for --help text instead of stderr * format code (#13) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --------- Co-authored-by: slangbot <ellieh+slangbot@nvidia.com> Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
-rw-r--r--.github/workflows/check-cmdline-ref.yml4
-rw-r--r--source/slang/slang-options.cpp4
-rw-r--r--tools/slang-test/options.cpp3
-rw-r--r--tools/slang-test/options.h1
-rw-r--r--tools/slang-test/slang-test-main.cpp9
5 files changed, 15 insertions, 6 deletions
diff --git a/.github/workflows/check-cmdline-ref.yml b/.github/workflows/check-cmdline-ref.yml
index 3eb90599a..95aba65b7 100644
--- a/.github/workflows/check-cmdline-ref.yml
+++ b/.github/workflows/check-cmdline-ref.yml
@@ -43,7 +43,7 @@ jobs:
- name: Generate command line reference
run: |
mkdir -p temp
- "$bin_dir/slangc" -help-style markdown -h > temp/command-line-slangc-reference.md 2>&1
+ "$bin_dir/slangc" -help-style markdown -h > temp/command-line-slangc-reference.md
- name: Compare with existing reference
id: compare
@@ -51,6 +51,6 @@ jobs:
if ! diff -q temp/command-line-slangc-reference.md docs/command-line-slangc-reference.md > /dev/null; then
echo "Command line reference is out of date. Diff:"
diff -u docs/command-line-slangc-reference.md temp/command-line-slangc-reference.md
- echo "Please run 'slangc -help-style markdown -h > docs/command-line-slangc-reference.md 2>&1' or comment '/regenerate-cmdline-ref' on your PR."
+ echo "Please run 'slangc -help-style markdown -h > docs/command-line-slangc-reference.md' or comment '/regenerate-cmdline-ref' on your PR."
exit 1
fi
diff --git a/source/slang/slang-options.cpp b/source/slang/slang-options.cpp
index c532e91ae..749f1677a 100644
--- a/source/slang/slang-options.cpp
+++ b/source/slang/slang-options.cpp
@@ -2049,7 +2049,9 @@ SlangResult OptionsParser::_parseHelp(const CommandLineArg& arg)
writer->appendDescriptionForCategory(m_cmdOptions, categoryIndex);
}
- m_sink->diagnoseRaw(Severity::Note, buf.getBuffer());
+ // Write help text to stdout
+ FileWriter stdoutWriter(stdout, WriterFlag::IsUnowned);
+ stdoutWriter.write(buf.getBuffer(), buf.getLength());
return SLANG_OK;
}
diff --git a/tools/slang-test/options.cpp b/tools/slang-test/options.cpp
index 4103d56b5..65783477f 100644
--- a/tools/slang-test/options.cpp
+++ b/tools/slang-test/options.cpp
@@ -111,6 +111,7 @@ static bool _isSubCommand(const char* arg)
int argc,
char** argv,
TestCategorySet* categorySet,
+ Slang::WriterHelper stdOut,
Slang::WriterHelper stdError,
Options* optionsOut)
{
@@ -147,7 +148,7 @@ static bool _isSubCommand(const char* arg)
{
if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0)
{
- showHelp(stdError);
+ showHelp(stdOut);
return SLANG_FAIL;
}
}
diff --git a/tools/slang-test/options.h b/tools/slang-test/options.h
index 8ae89d084..df2de310a 100644
--- a/tools/slang-test/options.h
+++ b/tools/slang-test/options.h
@@ -141,6 +141,7 @@ struct Options
int argc,
char** argv,
TestCategorySet* categorySet,
+ Slang::WriterHelper stdOut,
Slang::WriterHelper stdError,
Options* optionsOut);
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp
index 4eab84340..6355426f7 100644
--- a/tools/slang-test/slang-test-main.cpp
+++ b/tools/slang-test/slang-test-main.cpp
@@ -4997,8 +4997,13 @@ SlangResult innerMain(int argc, char** argv)
context.setInnerMainFunc("slangi", &SlangITool::innerMain);
}
- SLANG_RETURN_ON_FAIL(
- Options::parse(argc, argv, &categorySet, StdWriters::getError(), &context.options));
+ SLANG_RETURN_ON_FAIL(Options::parse(
+ argc,
+ argv,
+ &categorySet,
+ StdWriters::getOut(),
+ StdWriters::getError(),
+ &context.options));
Options& options = context.options;