From 1494ac773690bd28091fcc8f81433d4055bca649 Mon Sep 17 00:00:00 2001 From: Jordan Cannon <LiteracyFanatic@gmail.com> Date: Sat, 26 Dec 2020 19:47:01 -0600 Subject: [PATCH] Namespace bash completions This avoids interfering with functions in other completion scripts. --- shared/copyq-completion | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/shared/copyq-completion b/shared/copyq-completion index 39d2d16ff..3b1f932b7 100644 --- a/shared/copyq-completion +++ b/shared/copyq-completion @@ -1,29 +1,29 @@ # shellcheck shell=bash -commands=( +_copyq_commands=( show hide toggle menu exit disable enable clipboard selection paste copy count select next previous add insert remove edit separator read write action popup tab removetab renametab exporttab importtab config eval session help ) -list_sessions() { +_copyq_list_sessions() { ss -l -x | sed -nE 's#.*/\.copyq-?(\S*)_s .*#\1#p' } -complete_words() { +_copyq_complete_words() { while read -r item; do COMPREPLY+=("$item") done < <(compgen -W "$1" -- "${COMP_WORDS[$COMP_CWORD]}") } -complete_lines() { +_copyq_complete_lines() { while read -r item; do COMPREPLY+=("$item") done < <(IFS=$'\n' compgen -W "$1" -- "${COMP_WORDS[$COMP_CWORD]}") } -complete_files() { +_copyq_complete_files() { while read -r item; do COMPREPLY+=("$item") done < <(compgen -f -- "${COMP_WORDS[$COMP_CWORD]}") @@ -34,13 +34,13 @@ _copyq_completions() { 1) case "${COMP_WORDS[$COMP_CWORD]}" in --*) - complete_words '--session --help' + _copyq_complete_words '--session --help' ;; -*) - complete_words '-e -s -h' + _copyq_complete_words '-e -s -h' ;; *) - complete_words "${commands[*]}" + _copyq_complete_words "${_copyq_commands[*]}" ;; esac ;; @@ -48,55 +48,55 @@ _copyq_completions() { case "${COMP_WORDS[$COMP_CWORD-1]}" in show) pidof copyq &>/dev/null || return - complete_lines "$(copyq tab)" + _copyq_complete_lines "$(copyq tab)" ;; clipboard) pidof copyq &>/dev/null || return - complete_lines "$(copyq clipboard -- ?)" + _copyq_complete_lines "$(copyq clipboard -- ?)" ;; selection) pidof copyq &>/dev/null || return - complete_lines "$(copyq selection -- ?)" + _copyq_complete_lines "$(copyq selection -- ?)" ;; copy) pidof copyq &>/dev/null || return - complete_lines "$(copyq clipboardFormatsToSave)" + _copyq_complete_lines "$(copyq clipboardFormatsToSave)" ;; read) pidof copyq &>/dev/null || return - complete_lines "$(copyq read -- ?)" + _copyq_complete_lines "$(copyq read -- ?)" ;; write) pidof copyq &>/dev/null || return - complete_lines "$(copyq clipboardFormatsToSave)" + _copyq_complete_lines "$(copyq clipboardFormatsToSave)" ;; tab) pidof copyq &>/dev/null || return - complete_lines "$(copyq tab)" + _copyq_complete_lines "$(copyq tab)" ;; removetab) pidof copyq &>/dev/null || return - complete_lines "$(copyq tab)" + _copyq_complete_lines "$(copyq tab)" ;; renametab) pidof copyq &>/dev/null || return - complete_lines "$(copyq tab)" + _copyq_complete_lines "$(copyq tab)" ;; exporttab) - complete_files + _copyq_complete_files ;; importtab) - complete_files + _copyq_complete_files ;; config) pidof copyq &>/dev/null || return - complete_lines "$(copyq config | grep '^[^ ]')" + _copyq_complete_lines "$(copyq config | grep '^[^ ]')" ;; session|-s|--session) - complete_lines "$(list_sessions)" + _copyq_complete_lines "$(_copyq_list_sessions)" ;; help|-h|--help) - complete_words "${commands[*]}" + _copyq_complete_words "${_copyq_commands[*]}" ;; esac ;; -- GitLab