add completion

This commit is contained in:
Denis Lehmann 2023-09-27 12:23:46 +02:00
parent 03818ff10e
commit 6e78419971
4 changed files with 26 additions and 1 deletions

View file

@ -17,6 +17,7 @@
src = self;
installPhase = ''
install -m 755 -D gis $out/bin/gis
install -m 644 -D gis_completion.bash $out/share/bash-completion/completions/gis
'';
};
default = self.packages.${system}.gis;

16
gis_completion.bash Normal file
View file

@ -0,0 +1,16 @@
function _gis_completion {
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [[ ${prev} == -p ]] || [[ ${prev} == --path ]]; then
OLDIFS=$IFS
IFS='
'
COMPREPLY=( $(compgen -d -- "${cur}") )
IFS=$OLDIFS
else
args="--help --path fetch pull"
COMPREPLY=( $(compgen -W "${args}" -- "${cur}") )
fi
}
complete -o filenames -F _gis_completion gis

View file

@ -9,13 +9,16 @@ function _add_to_config {
# Link files
basedir="$(dirname "$(realpath "$0")")"
mkdir -p ~/.local/bin
mkdir -p ~/.local/{bin,share/bash-completion/completions}
ln -frs "${basedir}/gis" ~/.local/bin/gis
echo "Created link '~/.local/bin/gis'"
ln -frs "${basedir}/gis_completion.bash" ~/.local/share/bash-completion/completions/gis
echo "Created link '~/.local/share/bash-completion/completions/gis'"
# Modify bashrc
touch ~/.bashrc
_add_to_config "export PATH=\$PATH:${HOME}/.local/bin"
_add_to_config "source ${HOME}/.local/share/bash-completion/completions/gis"
echo "Updated '~/.bashrc'"
echo

View file

@ -12,10 +12,15 @@ basedir="$(dirname "$(realpath "$0")")"
mkdir -p ~/.local/{bin,share/bash-completion/completions}
ln -frs "${basedir}/gis" ~/.local/bin/gis
echo "Created link '~/.local/bin/gis'"
ln -frs "${basedir}/gis_completion.bash" ~/.local/share/bash-completion/completions/gis
echo "Created link '~/.local/share/bash-completion/completions/gis'"
# Modify config
touch ~/.zshrc
_add_to_config "export PATH=\$PATH:${HOME}/.local/bin"
_add_to_config "autoload -U +X compinit && compinit"
_add_to_config "autoload -U +X bashcompinit && bashcompinit"
_add_to_config "source /home/${USER}/.local/share/bash-completion/completions/gis"
echo "Updated '~/.zshrc'"
echo