Skip to content

cabal is a poet #8189

Open
@andreasabel

Description

cabal-testsuite$ cabal run all -- --help
Error: cabal: The run command is for running a single executable at once. The
target 'all' refers to all the packages in the project which includes the
executable 'cabal', the executable 'setup', the executable 'cabal-tests', the
executable 'hackage-benchmark', the test suite 'unit-tests', the test suite
'rpmvercmp', the test suite 'parser-tests', the test suite 'no-thunks-test',
the test suite 'hackage-tests', the test suite 'custom-setup-tests', the test
suite 'check-tests', the test suite 'cabal-benchmarks', the test suite
'unit-tests', the test suite 'mem-use-tests', the test suite 'long-tests', the
test suite 'integration-tests2', the test suite 'unit-tests' and the test
suite 'unit-tests'.

Beautiful!

As much as we should teach our kids to communicate in full sentences, I would like cabal to answer me in tabular form:

cabal-testsuite$ cabal run all -- --help
Error: cabal: The run command is for running a single executable at once. The
target 'all' refers to all the packages in the project which includes:
- executables: cabal, setup, cabal-tests, hackage-benchmark
- test-suites:
  * unit-tests
  * rpmvercmp
  * parser-tests
  * no-thunks-test
  * hackage-tests
  * custom-tests
  * check-tests
  * cabal-benchmarks
  * mem-use-tests
  * long-tests
  * integration-tests2

(Short lists on one line, long lists one-item-per-line, no duplicates.)
One could also drop the punctuation:

- executables: cabal setup cabal-tests hackage-benchmark
- test-suites:
    unit-tests
    rpmvercmp
    parser-tests
    no-thunks-test
    hackage-tests
    custom-tests
    check-tests
    cabal-benchmarks
    mem-use-tests
    long-tests
    integration-tests2

Current pretty-printing frameworks do support separators which end up either horizontal or vertical, depending on the length of the list.

Activity

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

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions