mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
bash completion: Redirect 'guix' stderr to /dev/null.
This avoids spurious messages when pressing TAB. * etc/completion/bash/guix (_guix_complete_available_package) (_guix_complete_installed_package, _guix_complete_option) (_guix_complete): Redirect stderr to /dev/null when running 'guix'.
This commit is contained in:
parent
96dbc93089
commit
e9006d06a0
1 changed files with 9 additions and 6 deletions
|
@ -1,5 +1,5 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# GNU Guix --- Functional package management for GNU
|
||||||
# Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
# Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
#
|
#
|
||||||
|
@ -27,7 +27,8 @@ _guix_complete_available_package ()
|
||||||
then
|
then
|
||||||
# Cache the complete list because it rarely changes and makes
|
# Cache the complete list because it rarely changes and makes
|
||||||
# completion much faster.
|
# completion much faster.
|
||||||
_guix_available_packages="$(${COMP_WORDS[0]} package -A | cut -f1)"
|
_guix_available_packages="$(${COMP_WORDS[0]} package -A 2> /dev/null \
|
||||||
|
| cut -f1)"
|
||||||
fi
|
fi
|
||||||
COMPREPLY=($(compgen -W "$_guix_available_packages" -- "$prefix"))
|
COMPREPLY=($(compgen -W "$_guix_available_packages" -- "$prefix"))
|
||||||
}
|
}
|
||||||
|
@ -37,15 +38,16 @@ _guix_complete_installed_package ()
|
||||||
# Here we do not cache the list of installed packages because that
|
# Here we do not cache the list of installed packages because that
|
||||||
# may change over time and the list is relatively small anyway.
|
# may change over time and the list is relatively small anyway.
|
||||||
local prefix="$1"
|
local prefix="$1"
|
||||||
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" | cut -f1)"
|
local packages="$(${COMP_WORDS[0]} package -I "^$prefix" 2> /dev/null \
|
||||||
|
| cut -f1)"
|
||||||
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
|
COMPREPLY=($(compgen -W "$packages" -- "$prefix"))
|
||||||
}
|
}
|
||||||
|
|
||||||
_guix_complete_option ()
|
_guix_complete_option ()
|
||||||
{
|
{
|
||||||
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} --help \
|
local options="$(${COMP_WORDS[0]} ${COMP_WORDS[1]} --help 2> /dev/null \
|
||||||
| grep '^ \+-' \
|
| grep '^ \+-' \
|
||||||
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g' )"
|
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')"
|
||||||
compopt -o nospace
|
compopt -o nospace
|
||||||
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[$word_count - 1]}"))
|
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[$word_count - 1]}"))
|
||||||
}
|
}
|
||||||
|
@ -119,7 +121,8 @@ _guix_complete ()
|
||||||
if [ -z "$_guix_subcommands" ]
|
if [ -z "$_guix_subcommands" ]
|
||||||
then
|
then
|
||||||
# Cache the list of subcommands to speed things up.
|
# Cache the list of subcommands to speed things up.
|
||||||
_guix_subcommands="$(guix --help | grep '^ ' | cut -c 2-)"
|
_guix_subcommands="$(guix --help 2> /dev/null \
|
||||||
|
| grep '^ ' | cut -c 2-)"
|
||||||
fi
|
fi
|
||||||
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
|
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Reference in a new issue