diff --git a/src/etc/completions/x.bash b/src/etc/completions/x.bash new file mode 100644 index 0000000000000..02c1237c7c34f --- /dev/null +++ b/src/etc/completions/x.bash @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +_x_completions() +{ + if [ "${#COMP_WORDS[@]}" -le "2" ]; then + COMPREPLY=($(compgen -W "build check clippy fix fmt test bench doc clean dist install run setup" "${COMP_WORDS[1]}")) + return + else + compopt -o nospace + local cur=${COMP_WORDS[COMP_CWORD]} + local top=$(git rev-parse --show-toplevel 2>/dev/null || return) + COMPREPLY=$(cd $top && compgen -f -- "$cur") + fi +} +complete -F _x_completions x diff --git a/src/etc/completions/x.zsh b/src/etc/completions/x.zsh new file mode 100644 index 0000000000000..e1f0933f63a6f --- /dev/null +++ b/src/etc/completions/x.zsh @@ -0,0 +1,13 @@ +#!/usr/bin/env zsh + +_x_completions() +{ + local line + local top=$(git rev-parse --show-toplevel 2>/dev/null || return) + cd "${top}" + _arguments -C \ + "1:subcommand:(build check clippy fix fmt test bench doc clean dist install run setup)" \ + "*:files:_files" + cd "${OLDPWD}" +} +compdef _x_completions x