From 0d645735d7c03c7652e31a1daceb0c59f0c5adc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Chauvel?= Date: Tue, 10 Aug 2021 16:57:59 +0200 Subject: [PATCH] Add short flags and fix broken flags in bash completion - Parse help manually to be able to find short options - Correctly propose options starting with colo[u]r - Propose short options after - and long after -- --- completions/bash/exa | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/completions/bash/exa b/completions/bash/exa index 5340686..187efe0 100644 --- a/completions/bash/exa +++ b/completions/bash/exa @@ -30,8 +30,17 @@ _exa() esac case "$cur" in + # _parse_help doesn’t pick up short options when they are on the same line than long options + --*) + # colo[u]r isn’t parsed correctly so we filter these options out and add them by hand + parse_help=$( exa --help | grep -oE ' (\-\-[[:alnum:]@-]+)' | tr -d ' ' | grep -v '\-\-colo' ) + completions=$( echo '--color --colour --color-scale --colour-scale' $parse_help ) + COMPREPLY=( $( compgen -W "$completions" -- "$cur" ) ) + ;; + -*) - COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) ) + completions=$( exa --help | grep -oE ' (\-[[:alnum:]@])' | tr -d ' ' ) + COMPREPLY=( $( compgen -W "$completions" -- "$cur" ) ) ;; *)