Fix "replacement string too large" error in pacman completion

Turns out we can skip using string altogether, thanks to the magic of
the cartesian product.
This commit is contained in:
Fabian Homborg 2016-02-10 15:35:01 +01:00
parent bc9e3c7546
commit b6e058985b

View file

@ -8,8 +8,7 @@ set -l listinstalled "(pacman -Q | string replace ' ' \t)"
# This might be an issue if another package manager is also installed (e.g. for containers) # This might be an issue if another package manager is also installed (e.g. for containers)
set -l listall "(__fish_print_packages)" set -l listall "(__fish_print_packages)"
set -l listrepos "(__fish_print_pacman_repos)" set -l listrepos "(__fish_print_pacman_repos)"
# Mask $1 so it won't be taken for a variable set -l listgroups "(pacman -Sg)\t'Package Group'"
set -l listgroups "(pacman -Sg | string replace -r '(.+)' '\$1\tPackage group')"
set -l noopt 'not __fish_contains_opt -s S -s D -s Q -s R -s U -s T -s F database query sync remove upgrade deptest files' set -l noopt 'not __fish_contains_opt -s S -s D -s Q -s R -s U -s T -s F database query sync remove upgrade deptest files'
set -l database '__fish_contains_opt -s D database' set -l database '__fish_contains_opt -s D database'