Skip to content

Long flag names constrain the width of their documentation #72

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?

Activity

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

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