|
|
原来那个速度,恶心死的...
每次按tab自动补全都要执行一系列的运算...
其实就是把原来的语句生成的东西换成固定文件,这样只需要在每次pacman -Sy之后更新那个固定的文件即可...
毕竟一个cat比两个嵌套的for要快多了...
pacmancompletion.bash
- #!/bin/bash
- export enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
- export available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
- for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done > /var/lib/pacman/availpackage
复制代码
pacmancompletion.patch
- diff -Naur old/pacman new/pacman
- --- old/pacman 2009-04-15 02:08:18.973646119 +0800
- +++ new/pacman 2009-04-15 02:05:02.209644337 +0800
- @@ -45,11 +45,13 @@
- #find balks easilly on a find /foo/*/* type dir, especially one like
- # /var/lib/pacman/*/*
- # This little change-up removes the find *and* only uses enabled repos
- - local available_pkgs
- - local enabled_repos
- - enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
- - available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
- - COMPREPLY=( $( compgen -W "$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )" -- $cur ) )
- +# local available_pkgs
- +# local enabled_repos
- +# enabled_repos=$( grep '\[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]' )
- +# available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
- +# COMPREPLY=( $( compgen -W "$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )" -- $cur ) )
- + COMPREPLY=( $( compgen -W "$( cat /var/lib/pacman/availpackage )" -- $cur ) )
- +
- }
-
- _installed_groups ()
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|