From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1496 invoked from network); 4 Aug 2020 18:05:26 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 4 Aug 2020 18:05:26 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=Sender:List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:References:Message-ID:Date: Content-Transfer-Encoding:Content-ID:Content-Type:MIME-Version:Subject:To: From:Reply-To:Cc:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To; bh=G34GsIzJktdi0KkHNs3XBn6aZ9LBtC6kOA2K2kphLzo=; b=iEBx0ess2zpk3yeNEUNYlHv8BG R2MQdDvTlQ2jwjeD4pDirabXgO8wOVT3fz2uA60mqAUWLhEbqUXelC5vLL09KUY339fmv8TiQIazk pWusinIZQG5gMoqNqSM61WIFrPdLvuo8WuoES7HQHfSV/O3g3LMclPGq9J7WRbjaeE3yMhjFMRXyH YSsjekLRZRtHiXoDW6Spj7408fRclSBZTq3ZjlZebgqsk8M/OdT+YcaMF2F8HHGaaz0qrevc+tz/J zYZ4/smZD8hH/c8QgPgedx+sf+HHgWYlTGJZ8VL/84FaHsiJJ3PJWN9Ue9V2ycRI+XspZpoXD6/85 Md/QLYSg==; Received: from authenticated user by zero.zsh.org with local id 1k31JR-000FfV-Ig; Tue, 04 Aug 2020 18:05:21 +0000 Authentication-Results: zsh.org; iprev=pass (sonic306-20.consmr.mail.ir2.yahoo.com) smtp.remote-ip=77.238.176.206; dkim=pass header.d=yahoo.co.uk header.s=s2048 header.a=rsa-sha256 Received: from sonic306-20.consmr.mail.ir2.yahoo.com ([77.238.176.206]:36491) by zero.zsh.org with esmtp id 1k31JC-000Fd2-Nl; Tue, 04 Aug 2020 18:05:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1596564305; bh=G34GsIzJktdi0KkHNs3XBn6aZ9LBtC6kOA2K2kphLzo=; h=From:To:Subject:Date:References:From:Subject; b=WQ50PMm1B9gbladm89qc83rqUZwAyClciGIQ1LBT9MTzaX7ZHWvpmZi7OmoPZu/DPe1Uks+osvP1B6934Aelp19AgEq5+KHYweLBNbFRMmEPi0fpDr9tXLa6X8WjobCUymxSfO6d25sk/Ew0ZDa/DeHx3Yf0l3n4l8XC+seVo81kQoxyvVJ3xXEgofyIAe+rtIJveuKW1aaBmgYRClnn+237zv89sQtuDVcoQnM/DMXk2xsYb0WaURWT+aLQ00bD5YCelj4bz2TB5edT3ur2ja3ooM8wR/hAicjHpfoFOywMwezPRPg4MDGC9FSR8tGRXMAoJhUSQqS/dSjiZcv81g== X-YMail-OSG: fvho5mgVM1lKh27mhPT0rX9mRaMVDDgbBxnn0ZmtkEE5HxFhi6x19cL6cFj89Gq NujWPOeRJzO466Q8QphyIrvx3fS_zV3UAY8.9C_VHajpRGxjkjCPeHGMwaBadZ_4bSDzc47QSWir cDGCV9m9.4Pvv3m4L3ho0irDYnwuLwzEgsttK4aECUMK4d3bHTKlu2JzCHdqdR0Y0e3DW4R4YRBL SbcMBCdrN1Po5Lm_fhQ2QgPTVb02a0w08T7uVjfvmpLcbbceopGkmu.80W.2vblL2CR5PVhjoJXv iMTPmngdkYKwUzaVkynQ9QQ5w3eI6aEY4bH61LBCfWBnsBti_h2BDELROUn2KEzNz3EsbWLkAIOa 14x65gVs7SdHklGMeDrkKPzFKYiDVSUcPLNEhNN0UEzVW.5.OH__dV9qREyL3bN0uZIoGbWc_pxh 5CsxKOgmHYXWFu.Ipq9F0ayz0m2l3yodJKBHS4JqMLRHxnUyP8ixTga26X21zmWxMpqOx6fV2ANi fPaF_aGa0MFLEVlP9I9W7Y7x04B26L5BFa0.UbP0LQ7x4XYtDmpR2to3vMkpyCaGIzzMwK15T4_A pGjNOdf8IAfjml5J6qRugkibVxY3XK2ynF8kHUWp7YzELVakB3JJX4z8dAgqzvq03FKuqQzPPIaS gF3fWyXkqDonwZr7PQdzwYfPHEgz7VNnPKi.L9_KGIh1JREUivM22B1lnxs3kL8ymCJ9tRhN40iX VkSWaQbwFboNvgjAeEb__2gONizsyFCSTUlEX5kuiReCV2OmCxEd69NHTWrO4xQvyIqVAXq7lBy0 nj2td71y_P32Ax1XzfB4FzPKSVlu8NZGhxr.4J7lZIx9Hjb2BxgMGg3oPlDAe5D1ztxbg08y._9j 2N.GHNG0i964tvPcxqZioFPm.8Xvmf7Aln2GwQtHa9gEiDUtfmJTsTrN4gg5Any5DTTpmMhoxkh. ynwqFOsG9zyv296GsMZX.AwkxMLqW6TxDN5tzoJrqLxwuZVd.kA6UjeD4tncJmSTQkhACPJyxRcc Unrz0hXUMcqNvtq3caDqDk3PJieSQ3zEpCpI8mu2Vc5.xSVg1xudI50og7FVr9Cl3.9KUXzqSRAq frzedAkz3OsrqWHmmwcjZJU99ZxljlxfsftIJ0IEzZHRIx4cy8HcompF9GF0sGbDK2NILSV8TnOE 7c5NJJzC9QQ8M55WFoYEmlWnQmGcbeRjw4G6eMqhwMeb6n8l6nDJFkjzwAmbOD1xPaoW0lsrpe4S at.2mgYygwYlu6gZ_xDXg2v9Xw9nR.ZXHPEpxk4H5Wcefg8W3HQC8anuDkZsKR0debci2XkE7Ptn XSjb8nIAx8mTldXyDGthHMSZJ6Nkb4jEfQ4uHsQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Tue, 4 Aug 2020 18:05:05 +0000 Received: by smtp431.mail.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID cfa8c78785c2f0e4611ec69e7404d6a2; Tue, 04 Aug 2020 18:05:04 +0000 (UTC) Received: from [192.168.178.21] (helo=hydra) by mail.kiddle.eu with esmtp(Exim 4.93.0.4) (envelope-from ) id 1k31J8-000P66-2S for zsh-workers@zsh.org; Tue, 04 Aug 2020 20:05:02 +0200 From: Oliver Kiddle To: Zsh workers Subject: PATCH: update aptitude completion MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-ID: <96476.1596564302.1@hydra> Content-Transfer-Encoding: 8bit Date: Tue, 04 Aug 2020 20:05:02 +0200 Message-ID: <96477-1596564302.073604@NNRg.L5L8.bSpz> References: <96477-1596564302.073604.ref@NNRg.L5L8.bSpz> X-Mailer: WebService/1.1.16397 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Apache-HttpAsyncClient/4.1.4 (Java/11.0.7) X-Seq: 47294 X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: Sender: Sympa Owner This brings completion for aptitude somewhat more up-to-date. Oliver diff --git a/Completion/Debian/Command/_aptitude b/Completion/Debian/Command/_aptitude index bbaa8ebbd..91d233f11 100644 --- a/Completion/Debian/Command/_aptitude +++ b/Completion/Debian/Command/_aptitude @@ -1,60 +1,32 @@ #compdef aptitude -local curcontext="$curcontext" state line cmds ret=1 - -function _aptitude_release() { - #{{{ - local expl releases - releases=( -${${(M)${(f)"$(format-strings' \ + '--group-by=[control how the versions command groups its output]:grouping:(archive auto none package source-package source-version)' \ + '--log-file=[specify output log file]:file:_files' \ + '*--log-level=[specify mimimum message level to log]:level:compadd -o nosort off fatal error warn info debug trace' \ + '--log-resolver[set some standard log levels related to the resolver]' \ + '(--allow-new-installs)--no-new-installs[prevent safe-upgrade from installing any new packages]' \ + '(--allow-new-upgrades)--no-new-upgrades[prevent safe-upgrade from upgrading packages regardless]' \ + "--no-show-resolver-actions[don't display the actions performed by the “safe” resolver]" \ + '(-O --sort)'{-O,--sort}'[specify sort order]:sort order:->orderings' \ + '-o[set a configuration file option]:key=value' \ '(-s --simulate)'{-s,--simulate}'[print actions without performing them]' \ '(-d --download-only)'{-d,--download-only}"[just download packages - don\'t install]" \ '(-P --prompt)'{-P,--prompt}'[always display a prompt]' \ + '--purge-unused[purge in addition to removing each package that is no longer required]' \ '(-y --assume-yes)'{-y,--assume-yes}'[assume yes answer to questions]' \ - '(-F --display-format)'{-F,--display-format}'[specify output format for search command]:format:_aptitude_format_strings' \ - '(-O --sort)'{-O,--sort}'[specify sort order]:sort order:()' \ '(-w --width)'{-w,--width}'[specify output width]:width' \ '-f[aggressively try to fix dependencies of broken packages]' \ '(-V --show-versions)'{-V,--show-versions}'[show which versions of packages will be installed]' \ @@ -65,25 +37,72 @@ _arguments -C \ '(--without-suggests)--with-suggests[install suggested packages when installing new packages]' \ '(-r --with-recommends)'{-r,--without-recommends}'[ignore recommended packages when installing new packages]' \ '(--with-suggests)--without-suggests[ignore suggested packages when installing new packages]' \ - '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:_aptitude_release' \ + '--remove-user-tag=[remove user tag from affected packages]:tag' \ + '--remove-user-tag-from=[remove user tag from matching packages]:tag,pattern' \ + '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:->aptitude-releases' \ '(-q --quiet)'{-q=,--quiet=}'[less Output]:level' \ '--schedule-only[schedule operations to be performed in the future]' \ '--purge-unused[purge unused packages instead of removing]' \ '--visual-preview[start up the visual interface and display its preview screen]' \ '--full-resolver[attempts to resolve conflicts with a higher risk of breakage]' \ '--safe-resolver[attempts to resolve conflicts with a lower risk of breakage]' \ + '--show-package-names[control when the versions command shows package names]:when:(always auto never)' \ + '--show-summary=[summarize each dependency chain that the why command outputs]::mode:(no-summary first-package first-package-and-type all-packages all-packages-with-dep-versions)' \ + '(-W --show-why)'{-W,--show-why}'[show which manually installed package requires each automatically installed package]' \ '-S[load the extended state information from non-standard state file]:state file:_files' \ '-u[begin updating the package lists as soon as the program starts]' \ '-i[displays a download preview when the program starts]' \ + '-Z[show how much disk space will be used or freed by the individual packages]' \ '1: :->cmds' \ '*: :->args' && ret=0 case $state in + aptitude-releases) + releases=( + ${${(M)${(f)"$(/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l}) _describe -t commands 'aptitude command' cmds && ret=0 ;; + format-strings) + compset -P '(%\#[0-9]|%[A-Za-z%]|[^%])#' + compset -S '*' + zstyle -s ":completion:${curcontext}:format-specifiers" list-separator sep || sep=-- + specs=( + '%%:literal %' '%#:parameter replacement' '%a:action flag' + '%A:action' '%B:broken count' '%c:current state flag' + '%C:current state' '%d:description' '%D:package size' + '%E:architecture' '%H:hostname' '%i:pin priority' + '%I:installed size' '%m:maintainer' '%M:automatic flag' + '%n:program version' '%N:program name' '%o:download size' + '%O:origin' '%p:package name' '%P:priority' + '%r:reverse depends count' '%R:abbreviated priority' '%s:section' + '%S:trust status' '%t:archive' '%T:tagged' + '%u:disk usage change' '%v:current version' '%V:candidate version' + '%Z:size change' + ) + zformat -a disp " $sep " $specs + _description format-specifiers expl 'format specifier' + compadd "$expl[@]" -S '' -d disp - ${specs%:*} + ;; + orderings) + line=( "${(@)${(@)${(@s.,.)PREFIX}#(\\|)\~}[1,-2]}" ) + compset -P '*,' + compset -S ',*' || suf=( -qS , ) + if ! compset -P '(\\|)~'; then + _description prefixes expl 'reverse order' + compadd "$expl[@]" -S '' \~ && ret=0 + fi + _description sort-key expl 'order [name,version]' + compadd -F line "$expl[@]" $suf - installsize installsizechange debsize \ + name priority version && ret=0 + ;; args) case $line[1] in search)