Приветствую!
Не так давно в сусе, решил настроить в консоли zsh. Нашёл .zshrc в интернете, в котором включены автокомплиты разные, но вот заставить работать автокомплит с zypper не получилось. Причём хочется не только команды, а именно имена пакетов. В Debian это работает из коробки, странно, что в таком дистре юзерфрендли как openSUSE такого сходу нет (вообще странно, что нет рекомендуемого конфига).
Можно ли как-нибудь сделать? Как?
paveless wrote:
> но вот заставить работать автокомплит
> с zypper не получилось.
Проблема в используемой локали.
https://bugzilla.novell.com/show_bug.cgi?id=752112
Спасибо за ответ!
Это не совсем то, общее дополнение у меня работает, и команды к zypper дополняются. Я спрашиваю именно о названиях пакетов, чтоб пишешь “zypper in fir” нажимаешь таб и он дописывал firefox
paveless wrote:
> Я спрашиваю именно о
> названиях пакетов, чтоб пишешь “zypper in fir”
> нажимаешь таб и он дописывал firefox
И как вы это представляете? Только в официальном репозитории под десять
тысяч пакетов. Во-первых, где zypper будет брать эту информацию? Во-вторых,
это было бы жутко медленно. Руками пять раз набрать успеете.
Так я же изначально написал, что в Debian с aptitude и apt-get это работает штатно и ничего не тормозит абсолютно… Поэтому и подумал, что тут тоже должно, по крайней мере это не должно быть сложно…
Брать он вполне себе его может из скачанных данных о составе подключенных репозиториев. В дебиане очевидно так и происходит. Может они там просто в другом виде хранятся и их легче использовать.
Вообще-то, есть такие данные в /var/cache/zypp/raw/openSUSE:OSS/suse/setup/descr
Сжатый файл packages.gz. В распакованном виде — 26 Мб (openSUSE 11.4). Сам файл текстовый.
Парсится довольно быстро.
% zgrep '^=Pkg: *' packages.gz | cut -d" " -f2 | wc -l
16410
% time zgrep '^=Pkg: fin' packages.gz | cut -d" " -f2
finch
finch-devel
findutils
findutils-locate
finger
finger-server
findbugs
findbugs-javadoc
findbugs-manual
findutils-lang
finch
finch-devel
findutils
findutils-locate
finger
finger-server
zgrep '^=Pkg: fin' packages.gz 0,27s user 0,07s system 110% cpu 0,305 total
cut -d" " -f2 0,00s user 0,00s system 0% cpu 0,304 total
Теоретически, можно как-то реализовать.
Я вот тоже не пойму зачем нужен кастрированный зупер если есть apt-get гораздо удобнее. Впрочем пути разработчиков неисповедимы.
Пути пользователей неисповедимы куда более.
Я вот тоже не пойму (с), что Вы делаете в openSUSE, если Вам не нравится zypper – одна из коронных её фишек, и нравится apt с его дико запутанным синтаксисом, а в версии apt-rpm – ещё и с кучей ограничений.
Только для того, чтобы вопить на форумах, какая гадость эта ваша заливная рыба? Еште кильку в томатном соусе.
А про автодолнение - поищите обсуждение на open-suse, там это обсуждалось и предлагались варианты.