multiformats/go-multihash

Nicer options

Opened this issue · 3 comments

this sucks

> multihash --help
usage: multihash [options] [FILE]
Print or check multihash checksums.
With no FILE, or when FILE is -, read standard input.

Options:
  -a string
        one of: sha1, sha2-256, sha2-512, sha3 (shorthand) (default "sha2-256")
  -algorithm string
        one of: sha1, sha2-256, sha2-512, sha3 (default "sha2-256")
  -c string
        check checksum matches (shorthand)
  -check string
        check checksum matches
  -e string
        one of: raw, hex, base58, base64 (shorthand) (default "base58")
  -encoding string
        one of: raw, hex, base58, base64 (default "base58")
  -l int
        checksums length in bits (truncate). -1 is default (shorthand) (default -1)
  -length int
        checksums length in bits (truncate). -1 is default (default -1)
  -q    quiet output (no newline on checksum, no error text) (shorthand)
  -quiet
        quiet output (no newline on checksum, no error text)

this would be nicer

> multihash --help
usage: multihash [options] [FILE]
Print or check multihash checksums.
With no FILE, or when FILE is -, read standard input.

Options:
  -a, --algorithm string  one of: sha1, sha2-256, sha2-512, sha3 (default: sha2-256)
  -c, --check string      check checksum matches
  -e, --encoding string   one of: raw, hex, base58, base64 (default: base58)
  -l, --length int        checksum length in bits (truncate). -1 is default (default: -1)
  -q, --quiet             quiet output (no newline on checksum, no error text)

I agree. Also -h, --help ... should appear among the displayed options.

And -algorithm with only one "-" appear to work:

> multihash -algorithm sha2-512 Makefile 
8Vus44JWecERsdjdNPPbmo7X7K1EwuMJUfTZRJVRE9kyNeCEzNhUkdCNdQYUHRqT9heADbBx7LfrYgQ13eRwNEwfdu

not sure if is a feature or a bug.

not sure if is a feature or a bug.

I think it's because Go treats them the same.

I'm inclined to think they should be different, but it may be ok to allow both.