From 550f47b3fae8dfd21667a9a1ed4d5a9f7c8e5a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakob=20Sch=C3=B6ttl?= Date: Sun, 10 Feb 2019 10:52:09 +0100 Subject: [PATCH] Some fixes in hledger help output parsing --- shell-completion/Makefile | 7 ++++--- shell-completion/output-commands.sh | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/shell-completion/Makefile b/shell-completion/Makefile index a84808d78..e96ba0008 100644 --- a/shell-completion/Makefile +++ b/shell-completion/Makefile @@ -7,7 +7,7 @@ hledger-completion.bash: hledger-completion.bash.m4 commands-list.txt query-filt m4 hledger-completion.bash.m4 > $@ generic-options.txt: - hledger -h | ./output-options.sh > $@ + hledger -h | ./output-options.sh | sort -u > $@ commands.txt: hledger | ./output-commands.sh | grep -v ^hledger > $@ @@ -20,7 +20,8 @@ commands-list.txt: commands.txt # hledger help --cat hledger | sed -n '/^QUERIES/,/^[A-Z]/p' command-options: commands.txt - parallel -j8 'hledger {} -h | ./output-options.sh > options-{}.txt' < commands.txt + parallel -j8 'hledger {} -h | ./output-options.sh | sort -u > options-{}.txt' < commands.txt clean: - rm -f *.txt hledger-completion.bash + rm -f commands*.txt generic-options.txt options-*.txt + rm -f hledger-completion.bash diff --git a/shell-completion/output-commands.sh b/shell-completion/output-commands.sh index ef95d21df..daa160f40 100755 --- a/shell-completion/output-commands.sh +++ b/shell-completion/output-commands.sh @@ -8,9 +8,12 @@ main() { tmp=$(mktemp) cat > "$tmp" - sed -rn 's/^ ([-a-z]+).*/\1/gp' "$tmp" + # Do not output mistaken commands that start with a dash (e.g. -h) + sed -rn 's/^ ([-a-z]+).*/\1/gp' "$tmp" \ + | grep -v ^- - # Do not output single letter commands, it's not useful. + # Output single command aliases in parenthesis: + # Do not output single letter command aliases, it's not useful. sed -rn 's/^ .*\(([a-z]+)\).*/\1/gp' "$tmp" \ | grep -v ^.$