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 19019 invoked from network); 3 Jan 2021 23:17:20 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 3 Jan 2021 23:17:20 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1609715840; b=DG1Wt+LS1d/oN4/QDzV7rC0qEMnXah1sen85KClcgrQhAUkZez4wLx9rAjNpi9RmA96Hm1aHHL FPLduZFu9WrLYuT1xWBzYfAFR6rToxQd6v2WbPw69VmxkKSqkrW9nwF4iIJLB2nWpHhNmUSdB+ x3KaSfWvQCoHyaZPnfEncDcXIBCpdfDfqcJEknweVU22Bh4THhEgAZUFK/AKfAWjLzw/Jit4/U pDxPvNdFlH5h6kjsa87Ki99HdN3FMXohuqQwdYZ05oxA8j0rTfUj3tLehv62ZTfddrdNqGONJ9 PKNT7337rjRwZyOhFWxbm/tIYhmV58yZ8jsbmYr4NNvGjA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-wm1-f42.google.com) smtp.remote-ip=209.85.128.42; dkim=pass header.d=gmail.com header.s=20161025 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-20200801; t=1609715840; bh=XxZS0oRrEtTjBClzoitJLGw6GbISFCoFc/GQ0FtgaBk=; 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=MQeuEXMSLjUpYfpqKIQov4T8c5BH/p5qfInCxslgo0eh03DqoAFt4jXRlxlYFEeD6oWNxopuGw 73lC8guw2hEUb5ZV+vfUNTwlP5WO8ev/nvkM/0GxmCBGhqHMONgs7MD1cQywPGpF9h4zM9dX2I WgRSbH/yWmzp1ZoABN1MK3IEJcuhTp/gu3pDe1lAFn/UFrU/tABv5Yy99KX3lYzPGIcfV2DsY7 H50aQPTrCRAdFshwI2PXaDD2QA7qcesndHiW125LF8x/G8JYZOUTeUewhjPTVwN+1rV7eM/YIG nKzaS867yWcJ1eUSn0cnGwe5pSbddEZRSQEhF6ElTONW+A==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; 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=+yCbuVEq3UKmL3PWureknieXqcpWDtrjw3tVVXlknM0=; b=ygVIueHz01uQ7FPCv4Mp0GgG7X jUME9hQL5U09AWj4iLcT/oeA37Rb4ngoB4+qQ3kDdztrWeq2P88J9GwORP2LfinNm3cSFbGiFTv0X 0cZI3x/YGC49nE08RlSfVPTRYji8j72Oj/sJl8pHTX+2Dy/b/u8M6TkuPOCPRzDYhqMqQ4FHlrVz0 /nid/LVhnqjQuTb9F8EfsnMHlztOx0+4eRVtHNJmCqjrrTzyTK4Bv2yFvfP0FKoOOu6NTmUu79PQl Lykq5szc4k6eB3ec8JU7qEiG9HO2UtWiaN+fUO+JSXunszUZSp2jNk4B5beTuwB80uhobIwcVgG5J 33ucwWmg==; Received: from authenticated user by zero.zsh.org with local id 1kwCch-000MVG-2s; Sun, 03 Jan 2021 23:17:19 +0000 Authentication-Results: zsh.org; iprev=pass (mail-wm1-f42.google.com) smtp.remote-ip=209.85.128.42; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-wm1-f42.google.com ([209.85.128.42]:39031) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1kwCc9-000M8L-KZ; Sun, 03 Jan 2021 23:16:46 +0000 Received: by mail-wm1-f42.google.com with SMTP id 3so17211693wmg.4 for ; Sun, 03 Jan 2021 15:16:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+yCbuVEq3UKmL3PWureknieXqcpWDtrjw3tVVXlknM0=; b=atJGfUyhGsLyFMkrmyg/VWzxi6V+K8nPQO7XTTp7TAs/K6Li+8I3esdF+BeY+ZlZJI qR2a7K35LYS07FttHFKF60EO6/SODuS7EUNVgEHlyVS/qy9SYZyOnfQN5OyS5QHwc6qg vEgP6zAx3BbFsRp63OYtJoFgquEhGVNbqGvtGJ8KJMG+jtdVITJ42G46ZLBKbG6X7jSI hI1YQuNC4h0QvV724Vmp6+QgTxfrn2gmg6IMZSVB71I2FCj1WoILZ0yeuIAKhJKZ0BVZ kZWBdodJ7TfX/yizF0GpNmf33w7d6NdUw3iJPgbXWouwOi268KvbHt21lKSAF+RCmuyk Ln3w== 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=+yCbuVEq3UKmL3PWureknieXqcpWDtrjw3tVVXlknM0=; b=ktiRZsm26KlS/Nqf8PIFq2aamVP/CzDByMSE2HlGn+/iJj+NZ1c7UiCmEexdDoJ+oK 1CQMlZ3uiMUksNrYShUnl0v/VbL+8GKbhmRNfPuUWrUlfrr2b/bXdedA3swIARpPMZpy YnwDBnmXztYiQlgYSOYgZ5/NtuBwqnnCDjkKtPuOs8gIhKgwAPN8fhI7MppDzWfxYdJW JJx496FlVECdXFqt8rXg+myFSdke3DuxLnLRXXFVWRNtpJmPjpE3Lv8g33ibg0/7Uzmp N2Lwbs8kYwcREHPsVhZkEGs9CoZCQS4JCjiS3BqnIUOeV+3nVkxQ4eO+PAjfWAz9FtA7 2hHg== X-Gm-Message-State: AOAM5339MPn22QvrRLVpi7DqTMGRuAJlM5hroX1xYI4U4bHYBg2Sehj7 Ff1yu6rwZUceqHQHDRqhCYI96X0hDVu4CZMAAlZGfmzsNlLXTw== X-Google-Smtp-Source: ABdhPJxcmQL6A7Y6t1yuGKdP02nHuFVBkXKbeF12AMinM5a1XdVR76wz3dRccohZBR0YZ6IFb6VDUFcXpq3y/Olo26M= X-Received: by 2002:a1c:df57:: with SMTP id w84mr24225997wmg.37.1609715805308; Sun, 03 Jan 2021 15:16:45 -0800 (PST) MIME-Version: 1.0 References: <819ec6fe-5af2-2e97-c5bb-f434b1de86d7@eastlink.ca> <520ce98a-4394-726d-3d12-8ef414e881c9@eastlink.ca> In-Reply-To: From: Felipe Contreras Date: Sun, 3 Jan 2021 17:16:34 -0600 Message-ID: Subject: Re: completion within a function To: Bart Schaefer Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 26327 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: On Sat, Jan 2, 2021 at 9:31 PM Bart Schaefer wrote: > > On Sat, Jan 2, 2021 at 6:47 PM Felipe Contreras > wrote: > > > > OK. That works. Takes 8.7s to complete on the Linux repository with > > 3350 entries on my system, but it does complete. > > That's likely because it's doing "compinit -D". It would go faster > for subsequent tests if they all ran in the same shell with that > pre-loaded. At the moment I can't do that, it has to be a new shell every time, and your version seems to take longer to load, slowing the tests. > > You do see why I think 'git checkout ' is more friendly than 'git' > > 'checkout' '', right? > > For your usage, I do, but that makes it a bit harder to separate the > context from the completions. OK. But it still doesn't work correctly: I can't pass empty arguments in the middle of a command-line. For example in the tests I added a fake "func" command that calls a function, for example: git func __gitcomp_opts "octopus ours recursive resolve subtree" "" "re" --strategy=re Why my method that works fine, with your method what effectively ends up happening is the equivalent of: git func __gitcomp_opts "octopus ours recursive resolve subtree" "re" --strategy=re The "" is there in the array, I don't know why varead seems to ignore it. Also, I don't understand why is there an argv there: vared -M __complete -i __init_complete ${${argv:+argv}:-reply} (( ARGC )) || print -nrl -- "~~~${(@)reply}~~~" Isn't "reply" always used? And ARGC is always 0? Cheers. -- Felipe Contreras