From 93b76535da2e506d91595ac1320b1f0eade85102 Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Mon, 16 Oct 2023 17:17:35 +0300 Subject: [PATCH] .bashrc: Extract oft-edited completion to a separate file --- .bash_completion.d/python-pip | 17 +++++++++++++++++ .bashrc | 25 +++++++------------------ 2 files changed, 24 insertions(+), 18 deletions(-) create mode 100644 .bash_completion.d/python-pip diff --git a/.bash_completion.d/python-pip b/.bash_completion.d/python-pip new file mode 100644 index 0000000..57aaf06 --- /dev/null +++ b/.bash_completion.d/python-pip @@ -0,0 +1,17 @@ +delegate_completion python python2.7 python3.4 python3.5 python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 python3.12 + +if type -p pip >/dev/null 2>&1; then + _PIP=pip +elif type -p pip3 >/dev/null 2>&1; then + _PIP=pip3 +fi + +if [ -n "$_PIP" ]; then + _pip_completion_loader() { + eval "`$_PIP completion --bash`" + complete -F _pip_completion pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9 pip3.10 pip3.11 pip3.12 + unset _pip_completion_loader + return 124 + } + complete -F _pip_completion_loader pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9 pip3.10 pip3.11 pip3.12 +fi diff --git a/.bashrc b/.bashrc index 6f5f3a8..8797927 100644 --- a/.bashrc +++ b/.bashrc @@ -118,13 +118,6 @@ for cmd in unset; do has_completion $cmd || complete -A function -A variable $cmd done -if [ -d "$HOME"/.bash_completion.d -a \ - -n "`ls -A $HOME/.bash_completion.d`" ]; then - for _compf in "$HOME"/.bash_completion.d/*; do - . $_compf - done -fi - delegate_completion() { local prog programs prog=$1 @@ -146,11 +139,17 @@ delegate_completion() { delegate_completion make m delegate_completion ping p -delegate_completion python python2.7 python3.4 python3.5 python3.6 python3.7 python3.8 python3.9 python3.10 python3.11 python3.12 DELEGATE_NOSPACE=1 delegate_completion rsync r rsync_cgmn rsync_cgmn_recode rsync_cgmn_recode2 delegate_completion ssh s delegate_completion wget wget-m wget-wrapper ww +if [ -d "$HOME"/.bash_completion.d -a \ + -n "`ls -A $HOME/.bash_completion.d`" ]; then + for _compf in "$HOME"/.bash_completion.d/*; do + . $_compf + done +fi + unset _BASH_COMPLETIONS_DIR has_completion delegate_completion if [ -d "$HOME/lib/config" ]; then @@ -163,16 +162,6 @@ if [ "`type -t short_curdir`" != function -a \ . "$HOME"/admin/prog/bash_prompt fi -if type -p pip >/dev/null 2>&1 || type -p pip3 >/dev/null 2>&1; then - _pip_completion_loader() { - eval "`pip completion --bash`" - complete -F _pip_completion pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9 pip3.10 pip3.11 pip3.12 - unset _pip_completion_loader - return 124 - } - complete -F _pip_completion_loader pip pip2 pip2.7 pip3 pip3.4 pip3.5 pip3.6 pip3.7 pip3.8 pip3.9 pip3.10 pip3.11 pip3.12 -fi - if test -d "$HOME"/.pyenv then PYENV_ROOT="$HOME"/.pyenv -- 2.39.5