aboutsummaryrefslogtreecommitdiffstats
path: root/completions/firefly.bash
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-01 11:02:32 +0200
committerDanilo M. <danix@danix.xyz>2026-07-01 11:02:32 +0200
commit238a4506cfeda388d097265b133004b63f130de6 (patch)
tree6d87a628df3472e3583b6dabedd3b611ab799edf /completions/firefly.bash
parent1c807048f8c754b421dae5a07ee8c053e3788348 (diff)
downloadfirefly-cli-238a4506cfeda388d097265b133004b63f130de6.tar.gz
firefly-cli-238a4506cfeda388d097265b133004b63f130de6.zip
feat: completion suggests --type values per commandv0.3.4
Tab-completing --type now offers the valid values instead of nothing: account list -> asset/expense/revenue/liability, account create -> asset/expense/revenue, tx add/edit -> withdrawal/deposit/transfer. Keyed per command off a static FLAG_VALUES map in gen_completion.py (types are a fixed Firefly enum, so no API call in the completion). Partial input filters and unrelated flags still complete normally. Completion-only: no CLI/JSON/exit change, ships under v0.3.4. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'completions/firefly.bash')
-rw-r--r--completions/firefly.bash14
1 files changed, 14 insertions, 0 deletions
diff --git a/completions/firefly.bash b/completions/firefly.bash
index 68c4b74..648fbe0 100644
--- a/completions/firefly.bash
+++ b/completions/firefly.bash
@@ -56,6 +56,20 @@ _firefly() {
tx) leaves="add delete edit get list search";;
esac
+ # Flag values: when the previous word is a flag with a fixed value set for
+ # this command, suggest those values instead of more flags.
+ local vals=""
+ case "$group $leaf $prev" in
+ "account create --type") vals="asset expense revenue";;
+ "account list --type") vals="asset expense revenue liability";;
+ "tx add --type") vals="withdrawal deposit transfer";;
+ "tx edit --type") vals="withdrawal deposit transfer";;
+ esac
+ if [[ -n $vals ]]; then
+ COMPREPLY=($(compgen -W "$vals" -- "$cur"))
+ return
+ fi
+
if [[ -z $group ]]; then
COMPREPLY=($(compgen -W "$groups $global_opts" -- "$cur"))
elif [[ -z $leaf ]]; then