Skip to content

Capitalise first letter of option help - #12219

Open
philderbeast wants to merge 2 commits into
haskell:masterfrom
cabalism:typo/capitalise-first-letter-option-help
Open

Capitalise first letter of option help#12219
philderbeast wants to merge 2 commits into
haskell:masterfrom
cabalism:typo/capitalise-first-letter-option-help

Conversation

@philderbeast

@philderbeast philderbeast commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Fixes #12218. Something of a typo fix.

I'll squash commits before applying the merge label if this pull request is approved.

Manual QA Notes

Compare the cabal build --help output to master.

$ git checkout master

$ cabal run cabal-install:cabal -- build --help
$ cabal run cabal-install:cabal -- build --help > help-1.txt

$ gh pr checkout 12219
$ cabal run cabal-install:cabal -- build --help
$ cabal run cabal-install:cabal -- build --help > help-2.txt
$ diff help-1.txt help-2.txt --unified
--- help-1.txt	2026-08-07 09:28:39.796672965 -0400
+++ help-2.txt	2026-08-07 09:24:12.562175313 -0400
@@ -19,32 +19,32 @@
  --builddir=DIR                 The directory where Cabal puts generated build
                                 files (default dist)
  --keep-temp-files              Keep temporary files.
- -g, --ghc                      compile with GHC
- --ghcjs                        compile with GHCJS
- --uhc                          compile with UHC
+ -g, --ghc                      Compile with GHC
+ --ghcjs                        Compile with GHCJS
+ --uhc                          Compile with UHC
  -w PATH or -wPATH, --with-compiler=PATH
-                                give the path to a particular compiler
- --with-hc-pkg=PATH             give the path to the package tool
- --prefix=DIR                   bake this prefix in preparation of
+                                Give the path to a particular compiler
+ --with-hc-pkg=PATH             Give the path to the package tool
+ --prefix=DIR                   Bake this prefix in preparation of
                                 installation
- --bindir=DIR                   installation directory for executables
- --libdir=DIR                   installation directory for libraries
- --libsubdir=DIR                subdirectory of libdir in which libs are
+ --bindir=DIR                   Installation directory for executables
+ --libdir=DIR                   Installation directory for libraries
+ --libsubdir=DIR                Subdirectory of libdir in which libs are
                                 installed
- --dynlibdir=DIR                installation directory for dynamic libraries
- --bytecodelibdir=DIR           installation directory for bytecode libraries
- --libexecdir=DIR               installation directory for program executables
- --libexecsubdir=DIR            subdirectory of libexecdir in which private
+ --dynlibdir=DIR                Installation directory for dynamic libraries
+ --bytecodelibdir=DIR           Installation directory for bytecode libraries
+ --libexecdir=DIR               Installation directory for program executables
+ --libexecsubdir=DIR            Subdirectory of libexecdir in which private
                                 executables are installed
- --datadir=DIR                  installation directory for read-only data
- --datasubdir=DIR               subdirectory of datadir in which data files
+ --datadir=DIR                  Installation directory for read-only data
+ --datasubdir=DIR               Subdirectory of datadir in which data files
                                 are installed
- --docdir=DIR                   installation directory for documentation
- --htmldir=DIR                  installation directory for HTML documentation
- --haddockdir=DIR               installation directory for haddock interfaces
- --sysconfdir=DIR               installation directory for configuration files
- --program-prefix=PREFIX        prefix to be applied to installed executables
- --program-suffix=SUFFIX        suffix to be applied to installed executables
+ --docdir=DIR                   Installation directory for documentation
+ --htmldir=DIR                  Installation directory for HTML documentation
+ --haddockdir=DIR               Installation directory for haddock interfaces
+ --sysconfdir=DIR               Installation directory for configuration files
+ --program-prefix=PREFIX        Prefix to be applied to installed executables
+ --program-suffix=SUFFIX        Suffix to be applied to installed executables
  --enable-library-vanilla       Enable Vanilla libraries
  --disable-library-vanilla      Disable Vanilla libraries
  -p, --enable-library-profiling
@@ -166,7 +166,7 @@
                                 (GHC only)
  --disable-relocatable          Disable building a package that is
                                 relocatable. (GHC only)
- --disable-response-files       enable workaround for old versions of programs
+ --disable-response-files       Enable workaround for old versions of programs
                                 like "ar" that do not support @file arguments
  --allow-depending-on-private-libs
                                 Allow depending on private libraries. If set,
@@ -177,10 +177,10 @@
  --ignore-build-tools           Ignore build tool dependencies. If set,
                                 declared build tools needn't be found for
                                 compilation to proceed.
- --with-PROG=PATH               give the path to PROG
- --PROG-option=OPT              give an extra option to PROG (passed directly
+ --with-PROG=PATH               Give the path to PROG
+ --PROG-option=OPT              Give an extra option to PROG (passed directly
                                 to PROG as a single argument)
- --PROG-options=OPTS            give extra options to PROG (split on spaces,
+ --PROG-options=OPTS            Give extra options to PROG (split on spaces,
                                 use "" to prevent splitting)
  --cabal-lib-version=VERSION    Select which version of the Cabal lib to use
                                 to build packages (useful for testing).
@@ -320,7 +320,7 @@
                                 Bake URL in as the location for the contents
                                 page
  --haddock-base-url=URL         Base URL for static files.
- --haddock-resources-dir=DIR    location of Haddocks static / auxiliary files
+ --haddock-resources-dir=DIR    Location of Haddocks static / auxiliary files
  --haddock-output-dir=DIR       Generate haddock documentation into this
                                 directory. This flag is provided as a
                                 technology preview and is subject to change in
@@ -339,24 +339,24 @@
                                 show results of test cases in real
                                 time.'direct': send results of test cases in
                                 real time; no log file.
- --test-keep-tix-files          keep .tix files for HPC between test runs
+ --test-keep-tix-files          Keep .tix files for HPC between test runs
  --test-wrapper=FILE            Run test through a wrapper.
  --test-fail-when-no-test-suites
                                 Exit with failure when no test suites are
                                 found.
- --test-options=TEMPLATES       give extra options to test executables (split
+ --test-options=TEMPLATES       Give extra options to test executables (split
                                 on spaces, use "" to prevent splitting; name
                                 templates can use $pkgid, $compiler, $os,
                                 $arch, $test-suite)
- --test-option=TEMPLATE         give extra option to test executables (passed
+ --test-option=TEMPLATE         Give extra option to test executables (passed
                                 directly as a single argument; name template
                                 can use $pkgid, $compiler, $os, $arch,
                                 $test-suite)
- --benchmark-options=TEMPLATES  give extra options to benchmark executables
+ --benchmark-options=TEMPLATES  Give extra options to benchmark executables
                                 (split on spaces, use "" to prevent splitting;
                                 name templates can use $pkgid, $compiler, $os,
                                 $arch, $benchmark)
- --benchmark-option=TEMPLATE    give extra option to benchmark executables
+ --benchmark-option=TEMPLATE    Give extra option to benchmark executables
                                 (passed directly as a single argument; name
                                 template can use $pkgid, $compiler, $os,
                                 $arch, $benchmark)

@philderbeast
philderbeast marked this pull request as draft August 7, 2026 13:15
@philderbeast
philderbeast force-pushed the typo/capitalise-first-letter-option-help branch from 7630928 to 442e4d9 Compare August 7, 2026 13:20
@ffaf1

ffaf1 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Good PR, this modifies behaviour.

@philderbeast

philderbeast commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator Author

this modifies behaviour

I considered making a note in the description to the effect of "I don't think typos (or changing case) reach the threshold for a behaviour change".

Happy to switch pull request templates and add a change log if you'd like.

@philderbeast

Copy link
Copy Markdown
Collaborator Author

Oops, don't know what key combination submitted that comment and closed this.

@philderbeast philderbeast reopened this Aug 7, 2026
@philderbeast
philderbeast marked this pull request as ready for review August 7, 2026 13:34
@ffaf1

ffaf1 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

I considered making a note in the description to the effect of "I don't think typos (or changing case) reach the threshold for a behaviour change".

A case change in some build output could break someone’s shell script. But let's be honest, nobody processes the output of --help, so I agree with you.

@philderbeast
philderbeast force-pushed the typo/capitalise-first-letter-option-help branch from 442e4d9 to 6173152 Compare August 9, 2026 01:09

@ulysses4ever ulysses4ever left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's been our practise to count changes in output as behaviour changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Start cabal build --help option descriptions with an uppercase letter

3 participants