Skip to content

Long flag names constrain the width of their documentation #72

@facundominguez

Description

@facundominguez

In Liquid Haskell, the help messages for each flag are rather narrow.

liquidhaskell [OPTIONS]
  Refinement Types for Haskell

Common flags:
     --minimal                                               Minimal logging verbosity
  -q --quiet                                                 Silent logging verbosity
     --normal                                                Normal logging verbosity
  -v --verbose --loud                                        Verbose logging
     --diffcheck                                             Incremental Checking: only check changed binders
     --linear                                                Use uninterpreted integer multiplication and division
     --stringtheory                                          Interpretation of Strings by z3
     --higherorder                                           Allow higher order binders into the logic
     --higherorderqs                                         Allow higher order qualifiers to get automatically
                                                             instantiated
     --smttimeout=INT                                        Timeout of smt queries in msec
     --fullcheck                                             Full Checking: check all binders (DEFAULT)
     --savequery                                             Save fixpoint query to file (slow)
     --check-var=ITEM --checks                               Check a specific (top-level) binder
     --no-check-unknown                                      Don't complain about specifications for unexported and
                                                             unused values
     --no-termination-check --notermination                  Disable Termination Check
     --no-positivity-check --nopositivity                    Disable Data Type Positivity Check
...

In comparison man pages do not do this sacrifice.

Details
NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information about the FILEs (the current directory by default).  Sort entries alpha‐
       betically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M';  see  SIZE
              format below

       -B, --ignore-backups
              do not list implied entries ending with ~
...

Does it sound reasonable to change the format of the help message to look more like a man page?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions