From 5eaaff49a6b8f5813622667b6ec46511e48892d3 Mon Sep 17 00:00:00 2001 From: clubby789 Date: Thu, 9 Feb 2023 02:38:37 +0000 Subject: [PATCH] Add zsh and bash completions for `x` --- src/etc/completions/x.bash | 15 +++++++++++++++ src/etc/completions/x.zsh | 13 +++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/etc/completions/x.bash create mode 100644 src/etc/completions/x.zsh 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