aboutsummaryrefslogtreecommitdiff
path: root/shell-completions
diff options
context:
space:
mode:
authorpml68 <contact@pml68.dev>2025-09-03 18:42:44 +0200
committerpml68 <contact@pml68.dev>2025-09-03 20:00:18 +0200
commit82e1f3835335d143bbbf8cb0378ff36822ea9483 (patch)
tree8e55cab2cda1cc42df7c0a4c21392b2d6f4394bf /shell-completions
parentfix: only run `git diff` when _update has pulled changes (diff)
downloadaur-82e1f3835335d143bbbf8cb0378ff36822ea9483.tar.gz
feat: add -v/--version option
Diffstat (limited to 'shell-completions')
-rw-r--r--shell-completions/aur-completion.bash107
-rw-r--r--shell-completions/aur.completor.bash19
-rw-r--r--shell-completions/aur.fish12
3 files changed, 138 insertions, 0 deletions
diff --git a/shell-completions/aur-completion.bash b/shell-completions/aur-completion.bash
new file mode 100644
index 0000000..224f1ee
--- /dev/null
+++ b/shell-completions/aur-completion.bash
@@ -0,0 +1,107 @@
+# This file is generated by [bash-completor](https://github.com/adoyle-h/bash-completor/tree/v0.2.0). Do not modify it manually.
+#
+# [Usage]
+# Put "source aur-completion.bash" in your bashrc.
+#
+# If you want to debug the completion.
+# Search '# Uncomment this line for debug' line in this file.
+#
+# [Update Script]
+# bash-completor -c aur.completor.bash
+
+# shellcheck disable=2207
+# editorconfig-checker-disable
+
+_aur_comp_cmd_opts=( -h --help -v --version -l --list -f --force -g --git -c --config )
+
+
+_aur_comp_reply_aur_pkgs ()
+{
+ pkgs=$(basename -a ~/.aur/*/ | paste -d ' ' -s -);
+ COMPREPLY=($(compgen -W "$pkgs" -- "$cur"))
+}
+
+_aur_comp_reply_dirs ()
+{
+ local IFS=$'\n';
+ compopt -o nospace -o filenames;
+ COMPREPLY=($(compgen -A directory -- "$cur"))
+}
+
+_aur_comp_reply_files ()
+{
+ local IFS=$'\n';
+ compopt -o nospace -o filenames;
+ COMPREPLY=($(compgen -A file -- "$cur"))
+}
+
+_aur_comp_reply_files_in_pattern ()
+{
+ compopt -o nospace -o filenames;
+ local path;
+ while read -r path; do
+ if [[ $path =~ $1 ]] || [[ -d $path ]]; then
+ COMPREPLY+=("$path");
+ fi;
+ done < <(compgen -A file -- "$cur")
+}
+
+_aur_comp_reply_list ()
+{
+ local IFS=', ';
+ local array_list="" array_name;
+ for array_name in "$@";
+ do
+ array_list="$array_list \${${array_name}[*]}";
+ done;
+ array_list="${array_list[*]:1}";
+ IFS=$'\n'' ';
+ eval "COMPREPLY=( \$(compgen -W \"$array_list\" -- \"\$cur\") )"
+}
+
+_aur_comp_reply_words ()
+{
+ local IFS=$'\n';
+ COMPREPLY=($(IFS=', ' compgen -W "$*" -- "${cur#=}"))
+}
+
+_aur_comp_reply_set() {
+ local IFS=', '
+ local array_list="" array_name
+ # shellcheck disable=2068
+ for array_name in "$@"; do
+ array_list="$array_list \${_aur_comp_var_${array_name}[*]}"
+ done
+ array_list="${array_list[*]:1}"
+
+ IFS=$'\n'' '
+ eval "COMPREPLY=( \$(compgen -W \"$array_list\" -- \"\$cur\") )"
+}
+
+_aur_completions() {
+ COMPREPLY=()
+ local cur=${COMP_WORDS[COMP_CWORD]}
+ local prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ # Uncomment this line for debug
+ # echo "[COMP_CWORD:$COMP_CWORD][cur:$cur][prev:$prev][WORD_COUNT:${#COMP_WORDS[*]}][COMP_WORDS:${COMP_WORDS[*]}]" >> bash-debug.log
+
+ # Enter the cmd completion
+ if [[ ${cur:0:1} == [-+] ]]; then
+ # rely options of command
+ _aur_comp_reply_list _aur_comp_cmd_opts
+ elif [[ ${prev:0:1} == [-+] ]]; then
+ case "${prev}" in
+ # rely the value of command option
+ -c) _aur_comp_reply_files ;;
+ --config) _aur_comp_reply_files ;;
+ *) _aur_comp_reply_aur_pkgs ;;
+ esac
+ else
+ # rely the argument of command
+ _aur_comp_reply_aur_pkgs
+ fi
+}
+
+complete -F _aur_completions -o bashdefault aur
+# vi: sw=2 ts=2
diff --git a/shell-completions/aur.completor.bash b/shell-completions/aur.completor.bash
new file mode 100644
index 0000000..cb83422
--- /dev/null
+++ b/shell-completions/aur.completor.bash
@@ -0,0 +1,19 @@
+# shellcheck disable=SC2034
+output=aur-completion.bash
+cmd=aur
+cmd_args=@aur_pkgs
+cmd_opts=(
+ -h --help
+ -v --version
+ -l --list
+ -f --force
+ -g --git
+ -c:@files
+ --config:@files
+)
+
+reply_aur_pkgs() {
+ pkgs=$(basename -a ~/.aur/*/ | paste -d ' ' -s -)
+
+ COMPREPLY=( $(compgen -W "$pkgs" -- "$cur") )
+}
diff --git a/shell-completions/aur.fish b/shell-completions/aur.fish
new file mode 100644
index 0000000..ae54b02
--- /dev/null
+++ b/shell-completions/aur.fish
@@ -0,0 +1,12 @@
+function _aur_no_switches
+ not __fish_contains_opt -s h help -s v version -s l list -s f force -s g git -s c config
+end
+
+complete -c aur -f
+complete -c aur -n "_aur_no_switches" -a "(basename -a ~/.aur/*/)"
+complete -c aur -s h -l help
+complete -c aur -s v -l version
+complete -c aur -s l -l list
+complete -c aur -s f -l force
+complete -c aur -s g -l git
+complete -c aur -s c -l config -F -r