Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH] _git-grep: Complete files when outside git repos
- X-seq: zsh-workers 47399
- From: Mikael Magnusson <mikachu@xxxxxxxxx>
- To: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- Subject: Re: [PATCH] _git-grep: Complete files when outside git repos
- Date: Fri, 25 Sep 2020 08:49:30 +0200
- Archived-at: <https://zsh.org/workers/47399>
- Archived-at: <http://www.zsh.org/sympa/arcsearch_id/zsh-workers/2020-09/CAHYJk3Tg4pNf7H5ZP08cgB1ONH7D5dt3oLw-pWpHZ8sBF3xGHA%40mail.gmail.com>
- Authentication-results: zsh.org; iprev=pass (mail-io1-f67.google.com) smtp.remote-ip=209.85.166.67; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none
- Cc: Guido Cella <guidocella91@xxxxxxxxx>, zsh-workers@xxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=y+IfnNmw1BqE1LY6Cb3DUFs6UpK8wCR2/RvwzHO9eyw=; b=tfc8pv5n+FAr8a+S5WJQ4JpK/7Q+8+lv9waJtKa51N99ANYuOIu6YdOpSctzL509Cc KH3PI2sFXxdqANct5GiTCJ63I8UiIzALFbhlNrlT7Yfv5JVArtIlE/fYbOidgOFQ1xW6 LkQyxXgMYyjDYKtTfn+c7InZPFQKv+Myi+DgRsKZHuFPKv8nQXlD4xESxEtHtrrx2AHQ qSEzwBwgvguGsZHB3/ed/AsnBr7pLuPOUxImZxKYvLjoRwJ2ijoLfasAd+pqVS6sv5qL rev4fX/Y1aEXy7Qj8kNZ4jpCPjrWSaT1bunPuQEnSQv9uwH/m1ZekoEbjUp9SlQRDmBx +eCg==
- In-reply-to: <20200925063411.GD29504@tarpaulin.shahaf.local2>
- List-archive: <http://www.zsh.org/sympa/arc/zsh-workers>
- List-help: <mailto:sympa@zsh.org?subject=help>
- List-id: <zsh-workers.zsh.org>
- List-owner: <mailto:zsh-workers-request@zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-subscribe: <mailto:sympa@zsh.org?subject=subscribe%20zsh-workers>
- List-unsubscribe: <mailto:sympa@zsh.org?subject=unsubscribe%20zsh-workers>
- References: <20200924203441.80963-1-guidocella91@gmail.com> <20200925063411.GD29504@tarpaulin.shahaf.local2>
- Sender: zsh-workers-request@xxxxxxx
On 9/25/20, Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
> Guido Cella wrote on Thu, Sep 24, 2020 at 22:34:41 +0200:
>> ---
>> Completion/Unix/Command/_git | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
>> index 05e2a23..67f06c5 100644
>> --- a/Completion/Unix/Command/_git
>> +++ b/Completion/Unix/Command/_git
>> @@ -1037,6 +1037,12 @@ _git-grep () {
>> # don't complete treeishs.
>> case $state in
>> (tree-or-file)
>> + # Check if we're not in a git repository.
>> + if ! git rev-parse 2>/dev/null; then
>> + _files && ret=0
>> + return ret
>> + fi
>
> Why is this correct? When cwd isn't a repository, «git grep foo ./bar»
> just errors out:
> .
> % ls
> iota
> % git grep This iota
> fatal: not a git repository (or any parent up to mount point /)
> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not
> set).
> zsh: exit 128
>
> Does newer git behave differently? If not, shouldn't the behaviour be
> conditional on --no-index having been passed?
grep.fallbackToNoIndex
If set to true, fall back to git grep --no-index if git grep is executed
outside of a git repository. Defaults to false.
I guess if we want to be fancy we can check for this option / command
line switch, but it seems easier to just complete files in this
context since git can be configured to accept them here.
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author