mirror of
https://github.com/simonmichael/hledger.git
synced 2025-01-06 02:23:46 +03:00
ac143aff6b
It is not a substitute for proper error checking, it can easily cause more trouble than good and it would be a burden for contributors and a source for potential misbehavior. See this take on the topic for example: http://mywiki.wooledge.org/BashFAQ/105
22 lines
584 B
Bash
Executable File
22 lines
584 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Parse hledger's help and output long options. Do not propose single letter
|
|
# completions. Options requiring an argument make that explicit by appending the
|
|
# equal sign (=)
|
|
set -uo pipefail
|
|
|
|
declare subcommand=${1:-}
|
|
declare hledgerArgs=(--help)
|
|
[[ -n $subcommand ]] && hledgerArgs=("$subcommand" "${hledgerArgs[@]}")
|
|
|
|
hledger "${hledgerArgs[@]}" |
|
|
sed -rn '/^\s+-/p' |
|
|
sed -rn 's/^\s{1,4}(-.)?\s{1,4}(--[a-zA-Z][-_a-zA-Z0-9]+=?).*/\2/p' |
|
|
sort -u
|
|
|
|
# Local Variables:
|
|
# mode: sh
|
|
# sh-basic-offset: 4
|
|
# indent-tabs-mode: nil
|
|
# End:
|
|
# ex: ts=4 sw=4 et
|