From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id e1112037 for ; Tue, 8 Jan 2019 11:21:52 +0000 (UTC) Received: (qmail 14021 invoked by alias); 8 Jan 2019 11:21:34 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23828 Received: (qmail 15958 invoked by uid 1010); 8 Jan 2019 11:21:34 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.100.2/25112. spamassassin: 3.4.2. Clear:RC:0(210.118.77.12):SA:0(-11.6/5.0):. Processed in 2.628951 secs); 08 Jan 2019 11:21:34 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190108112126euoutp02473397a73b9043db991f771bd98d3c2e~326IuiVu42770327703euoutp02O DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1546946486; bh=1/4PqlUi+jqId+FP6mR10icbSUYSSV1WqoX/ej5GLKw=; h=Subject:From:To:Date:In-Reply-To:References:From; b=KKBsR3bYHDsu2j+vghSf/n/dmELVgMrSYbMBljeU6eC23yu6ikXhCqpDVzHEsO2V0 60XRYjmkjG+nqlgULODdzAs6YmGDLva93UAphqIUYIlwG2s6fN31hv4zhYKUZ9YqHD ysOW649qqCN4jR4MOU8NxMTOlnP87ORPb9LaufAs= X-AuditID: cbfec7f5-34dff700000012c6-79-5c3487b590bf Message-ID: <1546946484.4090.2.camel@samsung.com> Subject: Re: how to make zsh tab-complete path after colon (instead of just `=`) From: Peter Stephenson To: Date: Tue, 8 Jan 2019 11:21:24 +0000 In-Reply-To: X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djPc7pb201iDK41WFjsOLmS0YHRY9XB D0wBjFFcNimpOZllqUX6dglcGZN2PGUr2MxXsfXub6YGxmfcXYycHBICJhK7725n62Lk4hAS WMEose/uVlYIp4dJ4tKNz1BON5PE9W9bmWBa1m/bDNWynFHiStdzhKpZy7YzQTinGSU2ne1k hnDOM0pMmvSVFaSfV8BQYtvFP+xdjBwcwgJBEm9XqIGE2YDCUzfNZgSxRQTEJZ7N/MYCYrMI qEgcXXyPGcTmFAiUuD7jAAvEGRoSG24eY4IYKShxcuYTsDizgLxE89bZYHslBB6zSTz8d4Id osFFom/JYqhmYYlXx7dAxWUk/u+czwTR0M4osWbSa3YIpwfohaN3GCGqrCX6bl9kBLmaWUBT Yv0ufYiwo0TP9VNgz0gI8EnceCsIcQSfxKRt05khwrwSHW1CENVqEjuatjJChGUknq5RmMCo NAvJB7OQfDALYdUCRuZVjOKppcW56anFxnmp5XrFibnFpXnpesn5uZsYgcng9L/jX3cw7vuT dIhRgINRiYdXIME4Rog1say4MvcQowQHs5II7/pSkxgh3pTEyqrUovz4otKc1OJDjNIcLEri vNUMD6KFBNITS1KzU1MLUotgskwcnFINjCn6LjxvzJhfrtvs1Rt+p3nCqaOT/sWE1JcL8a8O FV5i8GqaoP+3eW80XjdtEJps8jF3jnbPwntX1+1K2/SYi+VIg+rd++Y1XfOnhn14tJw1xODm 3/kP6jPWiO6pNXT3jv7IJ2Ol3XdqU+WT6rQHl5aa3DaPauTUvdh7PKf5sPvZniT7M7wKtkos xRmJhlrMRcWJAEbvPpcCAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42I5/e/4Pd2t7SYxBp+usVvsOLmS0YHRY9XB D0wBjFF6NkX5pSWpChn5xSW2StGGFkZ6hpYWekYmlnqGxuaxVkamSvp2NimpOZllqUX6dgl6 GZN2PGUr2MxXsfXub6YGxmfcXYycHBICJhLrt21m62Lk4hASWMoosXbONBaIhIzEpysf2SFs YYk/17qgijqZJHbPm8QO4ZxmlLi9bjsThHOeUeL6nZdsIC28AoYS2y7+Aari4BAWCJJ4u0IN JMwGFJ66aTYjiC0iIC7xbOY3sG0sAioSRxffYwaxOQUCJa7POMACd9KWSR1gDcwCmhKt239D naQhseHmMSaIXYISJ2c+YYGokZdo3jqbeQKj0CwkLbOQlM1CUraAkXkVo0hqaXFuem6xoV5x Ym5xaV66XnJ+7iZGYPhvO/Zz8w7GSxuDDzEKcDAq8fAKJBjHCLEmlhVX5h5ilOBgVhLhXV9q EiPEm5JYWZValB9fVJqTWnyI0RToo4nMUqLJ+cDYzCuJNzQ1NLewNDQ3Njc2s1AS5z1vUBkl JJCeWJKanZpakFoE08fEwSnVwDh1zud5fs88Cpbt824o4K18npKwIWmPQ1RhaujRsteLTd/p JH7/JH/EctVy99r4lT6Xd/+a/rYoQ3OOQHpdwtGz+yOai2aLOh8N3191uUFzr93n/6Gnmutf OXzc0e7mw+SSO+dkWba8bsFK3r+cqcKXw19+qbmztl9F7tvd2wsmpR756J9+T1uJpTgj0VCL uag4EQABGs2qlQIAAA== X-CMS-MailID: 20190108112125eucas1p1092510771212105407c8ced3fa493330 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20190108095220epcas2p1220c2b5ad3e9401282d243bcfea7ada1 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190108095220epcas2p1220c2b5ad3e9401282d243bcfea7ada1 References: On Tue, 2019-01-08 at 01:49 -0800, Timothee Cour wrote: > is it possible make zsh complete filenames after a colon (instead of > just after `=`) ? > t foo=/tm autocomples with /tmp > t foo:/tm doesn't do any autocomplete >  > (IIRC  in bash COMP_WORDBREAKS can be used for that) > I don't want to specify this rule for every single command, I want it > to apply to all commands by default Generally speaking, zsh doesn't work like that --- it will perform completion after colons in cases where that actually make sense, e.g. in assignments to path variables etc.  So the right answer would indeed be to make this happen in completions for the t command. If you really want a brutal answer, however, it's not so hard to add a style that will allow you to split all file completions on a given set of characters.  The following simple patch allows you to set zstyle ':completion:*' file-split-chars : Given how brutal this is, I can well imagine there are cases this fails horribly.  It is at least safe in the sense that if you don't set the style nothing nasty will happen, and you have the usual style context syntax to limit its application.  So it's probably about the best you're likely to get. pws diff --git a/Completion/Unix/Type/_path_files b/Completion/Unix/Type/_path_files index 9fa6ae9..1021c34 100644 --- a/Completion/Unix/Type/_path_files +++ b/Completion/Unix/Type/_path_files @@ -2,6 +2,11 @@    local -a match mbegin mend   +local splitchars +if zstyle -s ":completion:${curcontext}:" file-split-chars splitchars; then +  compset -P "*[${(q)splitchars}]" +fi +  # Look for glob qualifiers.  Do this first:  if we're really  # in a glob qualifier, we don't actually want to expand  # the earlier part of the path.  We can't expand inside