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 13424 invoked from network); 30 Dec 2020 22:19:25 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 30 Dec 2020 22:19:25 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1609366765; b=O6n37qrGnmQBfaUGYc4xJyd6HY/812JXPOheMaB8F/zgrNEc7V671BMscULWEaiteLjWJG1i8h IJplOOMasu3b9QsDxAQ5aacphbKaKjIHMZ4aOY8OpbVwFhRW1HMvFNScl+WkGjFlpW3RsHSKnZ 3WJFUrMoaqnI9yij9wCIuBkAYIc0PnuU+PvRJeCtoM/H7fzC7Xfj+mmvVvKARbaO35jRUpRA4R NalUA10X8p4B+UlzUvx7GKBbKWJK7F7Hu0/BvnPQGNd951oHzGWt1KqWAmK/OJDbXoW0Jar9Mo HGakU6kccEmQZ12swV97b/vmVl7BpOf0HKU4WDG1FHWHOA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-wr1-f53.google.com) smtp.remote-ip=209.85.221.53; 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=1609366765; bh=tXTH5PJ+nji2NazOT2uvZjTasvCjFY0C0saMoLzeSXo=; 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=HqnCyHdUdeec2Acy/DFwb+OVg+IG8azTIXBLyh9SpLCvcFIAsVDh7NYCr3e/dARBnGw/9adHQC 11zJR02V7GMvsic8ht50WGy9JsUMN0QkHvZMocn2Rzlco2gp7ylEuRyJUZ3RyxNesBogLG7O44 GTqK4Pvxvffx9d/H8rHJ/CIo0BOQmaXGAY9lHpZn6uiMYfuX9dZFIzMI+hcnOA4b9c4owCpKIS RkLwEISofL0Kk5x/WvhLKgIROo7V/r2+yLZn7hlRRn4ieN2RdYS7ty+lom/lmIWL5tz/BVXqmy cot1f7Fa/9Km/uGZb8e8CYo5Ji+nBIg3UkjNPsVka/ESeA==; 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=ocWZDoFPlehMFeCOaYmzxPifeiiEeCGawMVuX8SivkA=; b=BsVZlA8HsPKxRFE8mk/8E4Px4O 3zMNAsne3TANXo+8gFuJ98jtT3qVpL+jdHwinsKxsysLJQg7lnepP/XON03ZRIePgcQakX2WQKexd lNWQqR+KBcMrFAsdcsbGVB/FYM/FY9N2CwD3bWeCNOO9pR4LUA5WKDXbOPERxo930uAxf5Btm599H Q6R8PpXaBOXq84xjkteCJdbHbkOtmO/3QhpSLlT46B8ng2g47sCFFsZMQNdpvM5zH1pWeh/8W58Le GTHAvDSg/ZItQmi4o0rb5AiSCLiivYRe114qSp7q5u9n6QXcGcYCCmc23ONuzkQHDfIzIgwGJW7ub CwVxX5fA==; Received: from authenticated user by zero.zsh.org with local id 1kujoS-00062L-8o; Wed, 30 Dec 2020 22:19:24 +0000 Authentication-Results: zsh.org; iprev=pass (mail-wr1-f53.google.com) smtp.remote-ip=209.85.221.53; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-wr1-f53.google.com ([209.85.221.53]:33867) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1kujo3-0005eX-Ti; Wed, 30 Dec 2020 22:19:01 +0000 Received: by mail-wr1-f53.google.com with SMTP id q18so18743543wrn.1 for ; Wed, 30 Dec 2020 14:18:59 -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=ocWZDoFPlehMFeCOaYmzxPifeiiEeCGawMVuX8SivkA=; b=PhS/HHcBkEhooognEgo3JOI9l+mTgWDACkMY8D+kKi7jOZeP9JJNdbTNOxARzCxGUt lfqDQdm0Y3ooQjueJlaxNmk5N1qv1GyR1yNFCGpzXvl8+Ku3VoGnmJ7ZE4irHo0Lktz0 pvMrFUnoCu/F1iOVjtr4vyIVON13ATLu3nHKDaMBaE9tlm5vvBTibwhFKm0GwMvpUgtL S8lkmDqGAdCoRypXFGgdrJWBl7si5nBNM97B+zYFe1VaoBBQKSM6LxbdZefLESpH9W6i Q8cbIbC06CDXDhJ5qEAhmtB0HUEVcvWCI0K3YhsnmcWw2/G7vdeRgIarZAlxLI52CaJn dqPA== 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=ocWZDoFPlehMFeCOaYmzxPifeiiEeCGawMVuX8SivkA=; b=ucAUMmGY3YuxqV5kB7Cx4NXzBU5+WuKPUlJ7PYgA1oIgdEJut+XE5OAYi/I7wYYpok CyysGvFcXvEzUXb6wBf265td48PpZjRI4MMGnuY0Ouniu7GwbMa+ZsGGuZbNlSoaUm0B Dc4614nHBvtKVch3jGfmlHY4512F6jweR6FavnJuTjNMIobTU21h4460x5LNqBjYUTVS w8+tR62lrTsVxQ2pIlvA8wLXm847UNckPOsA0p2Nc1iwF700dwUoKeLEZkdwhU7n3e1I ClIuwB2vPKJ02anHNykmKIBK3iPmEdYHDvQMGxvyctOrfRaBDZmOVWDH0yC7X17UwvoY Y8YA== X-Gm-Message-State: AOAM531tKoxE/N44rob7rj2CF5N/F066Z2jgrSpCqIH9p7qmyHzunjYS c4I+filmBVf/4LKbJeVVx7dx/jS762ePGVFD2kniZ+NZyI4= X-Google-Smtp-Source: ABdhPJwDc1+E+ei2DyOxwZ+UHZGtIQaDlwRXmgkkT1daV8EHdsalA3GeprbxxoaFEYYlqhVVfwhErODhDFFY1/d2JFk= X-Received: by 2002:adf:ce90:: with SMTP id r16mr63009905wrn.100.1609366739527; Wed, 30 Dec 2020 14:18:59 -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: Wed, 30 Dec 2020 16:18:48 -0600 Message-ID: Subject: Re: completion within a function To: Bart Schaefer Cc: Ray Andrews , Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 26280 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 Wed, Dec 30, 2020 at 2:43 PM Bart Schaefer wrote: > > On Wed, Dec 30, 2020 at 9:22 AM Felipe Contreras > wrote: > > > > After removing all the unnecessary stuff from the tests, I came up > > with this script that does list completions: > > I think it might be possible to do something even less complicated. > The basic idea is to first borrow this from the manual: > > zle -C all-matches complete-word _generic > bindkey '^Xa' all-matches > zstyle ':completion:all-matches::::' completer \ > _all_matches _complete > zstyle ':completion:all-matches:*' insert true > > And then: > > do-complete() { zle -U $'\Cxa\n' } > zle -N do-complete > run-complete () { > vared -i do-complete argv > } > complete() { > local -i n=$argc > zpty complete-tty run-complete "$@" > zpty -r complete-tty > zpty -d complete-tty > } > > There is likely some additional quoting needed on $@ to assure the > right arguments are passed to run-complete, and some more could be > done to separate the context from the results. I don't know what that's supposed to do, but nothing happens when I run: complete "g" (other than the fact that "g" is printed). -- Felipe Contreras