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=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1102 invoked from network); 2 Sep 2021 20:24:24 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 2 Sep 2021 20:24:24 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1630614264; b=M0V1CPO9tD7PRHPI/Pt6FKEegpdfjEmr2D5RXjgm4fKtwCuuDcXQsqdgMmzyyBI9WaIuGZ8ShH y3QcqYHLdeDid4o4KEamiWFolIlqwaDCrTj1S3E8+k9oZR3jJWVwpkft6zX4yVTK9eOvcW6EgM vFJa/NMAzA/QozqCGxaW9Slg0ttqL2nrUUxnAunF5wgONo4lYRo6NWx50ASmT0pvtain2CL9cP pSYoAK8Y80LGkqU8cCLtj5enkGyU/3yLMrRNpUueWk12PJPKF4PPHgNI9ocUGMGvb1nfvIG/QH 930BmEX0iQl9DtRABKE3HKqhpJjwym07B3lIm3AyqC2umw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-vs1-f50.google.com) smtp.remote-ip=209.85.217.50; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1630614264; bh=OoSyo1vY9uDSA8Sjw0l6tM6LmKwzYywVAC45mWmgQZc=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=eOZM6LR5oa0Is60Fn+RbSM/BY5APc/R/I6Y4dnkS4igY9hlTNBpEt1c1LeJfsFX6ZwdMjcqwvC pmzyrwygER5/1qTHvRo1DbLrkQmvLfHEP/UkCt0tJSnGcRvZpYVE+bZ7bxAhfka+RF6Lpn2C8D 9vZ2dWVf4qnNi3me5wTiehjAwEuWWpWaZkKUK4GljHiHaoHnQWeM6dNFUh7yykoRIkR0DXtrSs tvs3qB1dPeOfCQAQBhgfHPtnQSXZ0PcYVv8hwvnMIhPP8JYw/t9HdM3bhKE0DZUfcWgWzvkAuX GRxHk0jvHnE7IyXAiVvC0PrvmFrFXk9m6tKRZY/IExmRww==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=Gsvbz5N0VKjEdi0Inj9kpWQTTMJ8a/2NWnA3943GVgE=; b=YptcNSmYtWq8ducgPKyUzTrrwa w1n+hg7pDnrm8hBSrp9l+kNc0wo4ZTsHXekW+RzjURnKVNet6CCWEIRqwxB+98fOWz76miW/KpnwD uZHG9sNdJ25kA6MWRNrHh6u5ZGvbNlfu94gwUimHgDS8wLgTkbzP53yOpfEUwbYWsmjxdZ5GeLj0p nJvh9Vc89XoG3DXXR8t3JHvsenhIWjg8KqRsNCdwGTkUS4Shw8WnOrPj6Xip64QhcUpHJG5SlkpwQ ZYLVr5Vj1V+kwnHQ7Wul1fH04r1W/3Gf4nYCutXDdZ7/wpIeD49pJvimuXSsBjmbma0Wv/AbL5XbM ESpTWhZg==; Received: from authenticated user by zero.zsh.org with local id 1mLtG3-0000K1-R6; Thu, 02 Sep 2021 20:24:23 +0000 Authentication-Results: zsh.org; iprev=pass (mail-vs1-f50.google.com) smtp.remote-ip=209.85.217.50; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-vs1-f50.google.com ([209.85.217.50]:35594) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mLiXg-000Oe4-3W; Thu, 02 Sep 2021 08:57:52 +0000 Received: by mail-vs1-f50.google.com with SMTP id p14so847036vsm.2 for ; Thu, 02 Sep 2021 01:57:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Gsvbz5N0VKjEdi0Inj9kpWQTTMJ8a/2NWnA3943GVgE=; b=GSl0zgZNMTnAf9IYImnFee2eZemVVHTT1c4Kc+M0ZbEy2Ll22UNM9Lbcl27+8Djx1a ppLr5agnTWo2bMp9x5U7SBabvQT+h8ecj5r13n/qO0+zMrDLofXJlc6anYMwhvnl1mEb tocThueXBvtz8TXvut60myCvb5yWAoF/nQkmtq5kq5UwLrs8YhCtlqBOsvEdAeK0VfVh LkSbKKNF8ezSkE6gCVL31Xp8uYkf/1LZyzZ+J0fiDTu6xpK3UzX1FpKtttMB0fUfZ7wz M+YWs362/QlxnUvQDxeixzy6I5QDKTD84k2sCCTb5ZzSwVhxIFPsNLZ5Vh6VtzFfem5w nIKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Gsvbz5N0VKjEdi0Inj9kpWQTTMJ8a/2NWnA3943GVgE=; b=bBCP+c9GjzQKYI/HfDqvfY87C3BKMkq0UBUHipHvCk1ZF0SD2FReO9RHLxF6j8JHQw GcknLWe2E6MQorOkDwiJJFBbHp1CQdjW5QXXjPJe/DJzM0hJG9zrH5Zd3ByFSn/umyp1 3ijAahfZL7oF6mGNZOCkbm6nl7Mq/EV4sjFlkJoShFUxT/iZL8qvHatt6VIYOnEd6lnI KKVlIewDhLZXhMOGGsncr2PvaothINk2ymq/DDz3y8ZjwVzJsqI85ggKZ4p1gYDQ+Sxs CHFT8Tc3lCWqxn9K6PlEHlk/IyoduetEA779lb7fOjKoJudOVEotnw2TwjZPx2tocYEE +CEw== X-Gm-Message-State: AOAM531GrsbHf+FGg+GCTHoQGg8BfPo9/tjof8Cvdpkq7a7l7ypTpWyz 8d7BoWBZqdfwsIDtoh1LR7+9Hj/gzN5yLgfcCKtXWkdwnXHx1fe1 X-Google-Smtp-Source: ABdhPJwyE0ZD1sQhLsYkIT88KbITo9eyvovaoG6HpZReFxRq+wYU3BmmxyPQHjAsVvTtHN6WGCG2+QLWpIXr57mxP9M= X-Received: by 2002:a05:6102:a28:: with SMTP id 8mr1204813vsb.29.1630573070901; Thu, 02 Sep 2021 01:57:50 -0700 (PDT) MIME-Version: 1.0 References: <20210901135646.GA27958@tarpaulin.shahaf.local2> In-Reply-To: <20210901135646.GA27958@tarpaulin.shahaf.local2> From: Marlon Richert Date: Thu, 2 Sep 2021 11:57:14 +0300 Message-ID: Subject: Re: [PATCH] Remove redundancies from `git` completion To: Daniel Shahaf Cc: Zsh hackers list Content-Type: multipart/mixed; boundary="000000000000ac00d405caff601d" X-Seq: 49369 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: --000000000000ac00d405caff601d Content-Type: text/plain; charset="UTF-8" On Wed, Sep 1, 2021 at 4:56 PM Daniel Shahaf wrote: > > Marlon Richert wrote on Mon, Aug 30, 2021 at 14:17:17 +0300: > > In _git-show, remove calls to __git_commits and __git_tags. > > Rationale: 'commits' and 'tags' are already added by __git_trees. > > Adding them twice makes `zstyle ... tag-order` give unexpected > > results. > > > > Complete example, please? Before the patch, setting `zstyle '*' tag-order '! commit-tags heads-remote'` failed to hide 'commit-tags' and 'heads-remote' from `git show` completion. After the patch, this works correctly and will show 'commit-tags' or 'heads-remote' only if other tags produce no matches. > > > In __git_recent_commits, remove the line that adds 'heads'. > > Rationale: The completion for most subcommands already adds > > 'heads-local' and 'heads-remote'. Adding an additional 'heads' inside > > __git_recent_commits results in heads being listed twice in two > > separate groups. > > Complete example, please? Before the patch, `git log` completion listed groups 'local head', 'remote head', then other groups, and then group 'head', which repeated items from the first two groups. After the patch, the last group is omitted. > Also, what about those subcommands that > *don't* already add heads-local and heads-remote? Good observation. Those would be the completion functions for `git commit --fixup`, `git commit --squash`, `git revert` and `git send-email`. My patch tried to handle that case, too, but some more testing revealed that it didn't work correctly. Here is a new patch that fixes this by making these four completions use __git_commits, which prefers recent commits and tags, but can also complete any other commits, tags or heads. --000000000000ac00d405caff601d Content-Type: text/plain; charset="US-ASCII"; name="0001-Eliminate-duplicate-completions-from-_git.txt" Content-Disposition: attachment; filename="0001-Eliminate-duplicate-completions-from-_git.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kt2otmmq0 RnJvbSA0NDQyODI5YjUzNTA2ZDcwNWU1ZmZjNWVhMjMwNmZlOTExNmQ2NDc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJsb24gUmljaGVydCA8bWFybG9ucmljaGVydEB1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CkRhdGU6IFRodSwgMiBTZXAgMjAyMSAxMTo0NjoxNSArMDMwMApT dWJqZWN0OiBbUEFUQ0hdIEVsaW1pbmF0ZSBkdXBsaWNhdGUgY29tcGxldGlvbnMgZnJvbSBfZ2l0 CgpCZWZvcmUgdGhpcyBwYXRjaCwgc2V0dGluZwpgenN0eWxlICcqJyB0YWctb3JkZXIgJyEgY29t bWl0LXRhZ3MgaGVhZHMtcmVtb3RlJ2AKZmFpbGVkIHRvIGhpZGUgJ2NvbW1pdC10YWdzJyBhbmQg J2hlYWRzLXJlbW90ZScgZnJvbSBgZ2l0IHNob3dgCmNvbXBsZXRpb24uIEFmdGVyIHRoaXMgcGF0 Y2gsIHRoaXMgd29ya3MgY29ycmVjdGx5IGFuZCB3aWxsIHNob3cKJ2NvbW1pdC10YWdzJyBvciAn aGVhZHMtcmVtb3RlJyBvbmx5IGlmIG90aGVyIHRhZ3MgcHJvZHVjZSBubyBtYXRjaGVzLgoKQmVm b3JlIHRoaXMgcGF0Y2gsIGFueSBjb21wbGV0aW9uIHVzaW5nIF9fZ2l0X2NvbW1pdHMgKGZvciBl eGFtcGxlLApgZ2l0IGxvZ2ApIGxpc3RlZCBncm91cHMgJ2xvY2FsIGhlYWQnLCAncmVtb3RlIGhl YWQnLCB0aGVuIG90aGVyIGdyb3VwcywKYW5kIHRoZW4gZ3JvdXAgJ2hlYWQnLCB3aGljaCByZXBl YXRlZCBpdGVtcyBmcm9tIHRoZSBmaXJzdCB0d28gZ3JvdXBzLgpBZnRlciB0aGlzIHBhdGNoLCB0 aGUgbGFzdCBncm91cCBpcyBvbWl0dGVkLgoKQWRkaXRpb25hbGx5LCBhZnRlciB0aGlzIHBhdGNo LCBjb21wbGV0aW9ucyB0aGF0IHByZXZpb3VzbHkgY291bGQgbWF0Y2gKb25seSByZWNlbnQgY29t bWl0cywgdGFncyBhbmQgaGVhZHMsIGNhbiBub3cgbWF0Y2ggX2FueV8gY29tbWl0cywgdGFncwpv ciBoZWFkcywgYnV0IHdpbGwgcHJlZmVyIHJlY2VudCBjb21taXRzIGFuZCB0YWdzLgotLS0KIENv bXBsZXRpb24vVW5peC9Db21tYW5kL19naXQgfCAyNiArKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL0NvbXBsZXRpb24vVW5peC9Db21tYW5kL19naXQgYi9Db21wbGV0aW9uL1VuaXgv Q29tbWFuZC9fZ2l0CmluZGV4IGE4MmI3MGU4My4uYmJlNzQ3NWJkIDEwMDY0NAotLS0gYS9Db21w bGV0aW9uL1VuaXgvQ29tbWFuZC9fZ2l0CisrKyBiL0NvbXBsZXRpb24vVW5peC9Db21tYW5kL19n aXQKQEAgLTY4NSw4ICs2ODUsOCBAQCBfZ2l0LWNvbW1pdCAoKSB7CiAgICMgVE9ETzogLS1pbnRl cmFjdGl2ZSBpc24ndCBleHBsaWNpdGx5IGxpc3RlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KICAg X2FyZ3VtZW50cyAtUyAtcyAkZW5kb3B0IFwKICAgICAnKC1hIC0tYWxsIC0taW50ZXJhY3RpdmUg LW8gLS1vbmx5IC1pIC0taW5jbHVkZSAqKSd7LWEsLS1hbGx9J1tzdGFnZSBhbGwgbW9kaWZpZWQg YW5kIGRlbGV0ZWQgcGF0aHNdJyBcCi0gICAgJy0tZml4dXA9W2NvbnN0cnVjdCBhIGNvbW1pdCBt ZXNzYWdlIGZvciB1c2Ugd2l0aCByZWJhc2UgLS1hdXRvc3F1YXNoXTpjb21taXQgdG8gYmUgYW1l bmRlZDpfX2dpdF9yZWNlbnRfY29tbWl0cycgXAotICAgICctLXNxdWFzaD1bY29uc3RydWN0IGEg Y29tbWl0IG1lc3NhZ2UgZm9yIHVzZSB3aXRoIHJlYmFzZSAtLWF1dG9zcXVhc2hdOmNvbW1pdCB0 byBiZSBhbWVuZGVkOl9fZ2l0X3JlY2VudF9jb21taXRzJyBcCisgICAgJy0tZml4dXA9W2NvbnN0 cnVjdCBhIGNvbW1pdCBtZXNzYWdlIGZvciB1c2Ugd2l0aCByZWJhc2UgLS1hdXRvc3F1YXNoXTpj b21taXQgdG8gYmUgYW1lbmRlZDpfX2dpdF9jb21taXRzJyBcCisgICAgJy0tc3F1YXNoPVtjb25z dHJ1Y3QgYSBjb21taXQgbWVzc2FnZSBmb3IgdXNlIHdpdGggcmViYXNlIC0tYXV0b3NxdWFzaF06 Y29tbWl0IHRvIGJlIGFtZW5kZWQ6X19naXRfY29tbWl0cycgXAogICAgICRyZXNldF9hdXRob3Jf b3B0IFwKICAgICAnKCAgICAgICAgLS1wb3JjZWxhaW4gLS1kcnktcnVuKS0tc2hvcnRbZHJ5IHJ1 biB3aXRoIHNob3J0IG91dHB1dCBmb3JtYXRdJyBcCiAgICAgJy0tYnJhbmNoW3Nob3cgYnJhbmNo IGluZm9ybWF0aW9uXScgXApAQCAtMTY1Niw3ICsxNjU2LDcgQEAgX2dpdC1yZXZlcnQgKCkgewog ICAgICcqJ3stWCwtLXN0cmF0ZWd5LW9wdGlvbj19J1twYXNzIG1lcmdlLXN0cmF0ZWd5LXNwZWNp ZmljIG9wdGlvbiB0byBtZXJnZSBzdHJhdGVneV06b3B0aW9uJyBcCiAgICAgJygtUyAtLWdwZy1z aWduIC0tbm8tZ3BnLXNpZ24pJ3stUy0sLS1ncGctc2lnbj0tfSdbR1BHLXNpZ24gdGhlIGNvbW1p dF06OmtleSBpZCcgXAogICAgICIoLVMgLS1ncGctc2lnbiAtLW5vLWdwZy1zaWduKS0tbm8tZ3Bn LXNpZ25bZG9uJ3QgR1BHLXNpZ24gdGhlIGNvbW1pdF0iIFwKLSAgICAnOiA6X19naXRfcmVjZW50 X2NvbW1pdHMnCisgICAgJzogOl9fZ2l0X2NvbW1pdHMnCiB9CiAKICgoICQrZnVuY3Rpb25zW19n aXQtcm1dICkpIHx8CkBAIC0xNzYzLDEwICsxNzYzLDkgQEAgX2dpdC1zaG93ICgpIHsKICAgY2Fz ZSAkc3RhdGUgaW4KICAgICAob2JqZWN0KQogICAgICAgX2FsdGVybmF0aXZlIFwKLSAgICAgICAg J2NvbW1pdHM6Ol9fZ2l0X2NvbW1pdHMnIFwKLSAgICAgICAgJ3RhZ3M6Ol9fZ2l0X3RhZ3MnIFwK LSAgICAgICAgJ3RyZWVzOjpfX2dpdF90cmVlcycgXAotICAgICAgICAnYmxvYnM6Ol9fZ2l0X2Js b2JzJyAmJiByZXQ9MAorICAgICAgICAgICAgJ3RyZWVzOjpfX2dpdF90cmVlcycgXAorICAgICAg ICAgICAgJ2Jsb2JzOjpfX2dpdF9ibG9icycgXAorICAgICAgICAgICYmIHJldD0wCiAgICAgICA7 OwogICBlc2FjCiAKQEAgLTQ1MzYsNyArNDUzNSw3IEBAIF9naXQtc2VuZC1lbWFpbCAoKSB7CiAg ICAgJygtICopLS1kdW1wLWFsaWFzZXNbZHVtcCBjb25maWd1cmVkIGFsaWFzZXMgYW5kIGV4aXRd JyBcCiAgICAgJyo6IDogX2FsdGVybmF0aXZlIC1PIGV4cGwKICAgICAgICJmaWxlczpmaWxlOl9m aWxlcyIKLSAgICAgICJjb21taXRzOnJlY2VudCBjb21taXQgb2JqZWN0IG5hbWU6X19naXRfY29t bWl0X29iamVjdHNfcHJlZmVyX3JlY2VudCInCisgICAgICAiY29tbWl0czpyZWNlbnQgY29tbWl0 IG9iamVjdCBuYW1lOl9fZ2l0X2NvbW1pdHMiJwogfQogCiAoKCAkK2Z1bmN0aW9uc1tfZ2l0LXN2 bl0gKSkgfHwKQEAgLTY5MjAsNyArNjkxOSw3IEBAIF9fZ2l0X2NvbW1pdF9vYmplY3RzICgpIHsK ICgoICQrZnVuY3Rpb25zW19fZ2l0X3JlY2VudF9jb21taXRzXSApKSB8fAogX19naXRfcmVjZW50 X2NvbW1pdHMgKCkgewogICBsb2NhbCBnaXRkaXIgZXhwbCBzdGFydAotICBkZWNsYXJlIC1hIGRl c2NyIHRhZ3MgaGVhZHMgY29tbWl0cyBhcmd1bWVudF9hcnJheV9uYW1lcyBjb21taXRfb3B0cwor ICBkZWNsYXJlIC1hIGRlc2NyIHRhZ3MgY29tbWl0cyBhcmd1bWVudF9hcnJheV9uYW1lcyBjb21t aXRfb3B0cwogICBsb2NhbCBoIGkgaiBrIHJldAogICBpbnRlZ2VyIGRpc3RhbmNlX2Zyb21faGVh ZAogICBsb2NhbCBsYWJlbApAQCAtNjk4NSwxMSArNjk4NCw4IEBAIF9fZ2l0X3JlY2VudF9jb21t aXRzICgpIHsKICAgICBqPSR7JHtqIyBcKH0lXCl9ICMgc3RyaXAgbGVhZGluZyAnICgnIGFuZCB0 cmFpbGluZyAnKScKICAgICBqPSR7ai8gLT4vLH0gICMgQ29udmVydCAiIC0+IG1hc3Rlciwgb3Jp Z2luL21hc3RlciIuCiAgICAgZm9yIGogaW4gJHsoczosIDopan07IGRvCi0gICAgICBpZiBbWyAk aiA9PSAndGFnOiAnKiBdXSA7IHRoZW4KLSAgICAgICAgdGFncys9KCAke2ojdGFnOiB9ICkKLSAg ICAgIGVsc2UKLSAgICAgICAgaGVhZHMrPSggJGogKQotICAgICAgZmkKKyAgICAgIFtbICRqID09 ICd0YWc6ICcqIF1dICYmCisgICAgICAgICAgdGFncys9KCAke2ojdGFnOiB9ICkKICAgICBkb25l CiAgIGRvbmUKIApAQCAtNjk5OSw4ICs2OTk1LDYgQEAgX19naXRfcmVjZW50X2NvbW1pdHMgKCkg ewogICBfZGVzY3JpYmUgLVYgLXQgY29tbWl0cyAncmVjZW50IGNvbW1pdCBvYmplY3QgbmFtZScg ZGVzY3IgJiYgcmV0PTAKICAgZXhwbD0oKQogICBfd2FudGVkIGNvbW1pdC10YWdzIGV4cGwgJ2Nv bW1pdCB0YWcnIGNvbXBhZGQgIiRAIiAtYSAtIHRhZ3MgJiYgcmV0PTAKLSAgZXhwbD0oKQotICBf d2FudGVkIGhlYWRzIGV4cGwgJ2hlYWQnIGNvbXBhZGQgLU0gInI6fC89KiByOnw9KiIgIiRAIiAt YSAtIGhlYWRzICYmIHJldD0wCiAgIHJldHVybiByZXQKIH0KIAotLSAKMi4zMy4wCgo= --000000000000ac00d405caff601d--