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 30413 invoked from network); 31 Oct 2021 13:23:58 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 31 Oct 2021 13:23:58 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1635686638; b=XT07Ntiaa7qlQA4vZQPbFwDgoUt1MVbw6bX8UwAYiHs9zGHSOaCEXzED2adhPfVQd8Ii68ZAWY JnBWi5pOQT3k3mgvaoj2rao5deGhnh7mKvJjHVmnh+MzB/cLgMXa22X5zsFFJWSqNIlwA3tbCy hw9eqlMrCs+a3sm0ZHOHAebXGQTkHDOvc3fu++0qosONeS+/RTI6nZEu39i5Se37gmKi5UQ+nP OWFmyVheAYHYiR7MTxwoY8fDh+SkDyeyr9MMHSdrRd2q9LnKZdOeRyKaMj6uHwVExyd9M/etFm prLEBOeof3NxAsj/zE5TcAcTOSZ4BT4REjjuQf2eB4M/rg==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-vk1-f177.google.com) smtp.remote-ip=209.85.221.177; 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=1635686638; bh=GRN5yZA8+7PBPNWXZ/ZZSWZt5ijJw7HZrfmNQMpaS7Q=; 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:References: In-Reply-To:MIME-Version:DKIM-Signature:DKIM-Signature; b=lVAo2tUMpmYJNqWRUHylaVlDGJirKB38gnu38ok6Jncbaqlbh8Z/VPs2JevFT14tgMPxfMoR4+ yKkYc3j0aO2lRzff9pKhT+1/syA0MlBtZcSx3RMjz+lym452hEPh+toITpt5XN9kQVDRQw6pYv gP/dFWgWPiC1wyDb4Vt85b03r9gTxj5MJCTvwji9xqtrjhQCY4VB7cAQG5F8Bg2PTXNDKEn7dq r5PFgamlju5MqVU7oIqvRKTJDytZ7SHcwD864MsJVnHPf+zrRCZrh3vRZBD9Wp25QHAZuRFnXm mk1e0up/edNhWOYleAT7S68lZ1i/yBU48vGg+6+bQDccng==; 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:References:In-Reply-To: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=3vE9/gkSkSXYfkm+tyzQO+f/OfCEwFvMWWD9kZFb3a8=; b=Y0RNF2tw215EV+jS2nSkGxutw3 ieLgqoXH1aJA9TRDs+2vz8iyj9Sl9ezGHOEeQb9ie0y56mNiTTeKTHWtlU+OjTrvVbJXQ1EeoRNad JJ/P9QQ135OcaXU7BnIw61WAvCHwSPedK3GFqF513YGECF1KeYPUtuX1/1RB/6ia9aJofbrNzM9rj L7kxxTEwjRx03C5VfcgCFOew/bCmqJCeVJ+1CJT70uLn8UdsOk4x6TGx9BrENTtvWCaqaf9rOI/7L 3ms2uxKEZVDFRDoifk22QqM1L0kbfvJbST7/Ymad5t0UkrY9m45GUbCpIf+SCGFisNJIcHumSEan+ 8+K1uVLQ==; Received: from authenticated user by zero.zsh.org with local id 1mhAoX-0007jH-8Q; Sun, 31 Oct 2021 13:23:57 +0000 Authentication-Results: zsh.org; iprev=pass (mail-vk1-f177.google.com) smtp.remote-ip=209.85.221.177; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-vk1-f177.google.com ([209.85.221.177]:45804) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1mhAnb-00071F-Rt; Sun, 31 Oct 2021 13:23:00 +0000 Received: by mail-vk1-f177.google.com with SMTP id n201so6838785vkn.12 for ; Sun, 31 Oct 2021 06:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=3vE9/gkSkSXYfkm+tyzQO+f/OfCEwFvMWWD9kZFb3a8=; b=Vlvraq5+9KSzo9PPE9ugFoSGrGGygharFPsfLqvUjSWhegTrdvw/JACgqn25jJbs1N eEAYViBCSnux8jxu4iUXw2GLrVwv86DbhRGCGkwJrys6gzzksy1QOhZo/6XbP6ZuvIgt 0P5tdk/rpzntfGCg9M/vz/sEGRCefpvOqzoD1R2AeIgagZRnpes3X7aVQcNTKk68kjAe xDkD2ZpP375RnMl1iFM89mHXTq5ybddOaB8HAmuG8hGTCOaTz3WETQjDomSgdCAxg/zN 6pJzsszyw1D35vZ2lUwoMQGWnefEzveDYgd4hRu/PJydRSROfpclTcUbMVIBeEzeXD16 DV0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=3vE9/gkSkSXYfkm+tyzQO+f/OfCEwFvMWWD9kZFb3a8=; b=TwyfJnRiHKCB94N0hID7iwjMTYxkdHC+5vdDsie5VBqgD222gyCUS0OL3cTOdqUGRo w6n02FJJkwJmXaMpc2bWGsMw5XLIrXt+8Avp8p7bMWd8Hk7BWiPWsPCudR5tydjG2haX iBxlGbfNMP4uZD9rBpS2XZnYi0adS/5EJWuIplrOQI8hoFZk2lcXVO+hW2nFsZ0vKxEQ CGHkNuUPs1C/qtn/D2MhIvcpo0J9OPb2hn6ZKDraMgcBrqUYwp0OR/nqkrwhrFngfnUl h9QjIukf/ZvV4ZaiD24FMALySSFgRoOWpbT5J4HoJh903XMs9BKDsXNvRl9TfuTSZhLU MA6A== X-Gm-Message-State: AOAM5311D94aT0ImivNpgzzMtqhsjQLxHJBqmyDW2iYj8LDcUXcKmOph uQfFLI2YrLTd1bisasP6iuNqS/WINz10eW6w55Q= X-Google-Smtp-Source: ABdhPJyAZQWRPnK6gZiO6B1ofS10sQMwegdA+T8Ib3jStgWPR84QONZdodLesvcW+iwVd2mqGIq4UX1CxPQPoDFPpqY= X-Received: by 2002:a1f:784b:: with SMTP id t72mr22444461vkc.15.1635686578610; Sun, 31 Oct 2021 06:22:58 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ab0:2a82:0:0:0:0:0 with HTTP; Sun, 31 Oct 2021 06:22:58 -0700 (PDT) In-Reply-To: References: From: Mikael Magnusson Date: Sun, 31 Oct 2021 14:22:58 +0100 Message-ID: Subject: Re: Composing completions for a wrapper script To: Anton Suslov Cc: zsh-users@zsh.org Content-Type: text/plain; charset="UTF-8" X-Seq: 27304 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: On 10/31/21, Anton Suslov wrote: > Hi, everyone! > > I am writing some wrapper functions over existing commands, e.g. > > kubectldc() { > DC="$1" > shift > KUBECONFIG="$HOME/.kube/$DC.kubeconfig" kubectl "$@" > } > > Kubectl is a well-behaved command, which does have rich completion > available. Is it possible to somehow reuse its completion for kubectldc > command? As-is the function definition becomes a tradeoff between "using > kubectl directly for completion but having to select config manually" and > "using the wrapper for automatic config but no completion". compdef -e 'shift words; (( CURRENT-- )); service=kubectl; words[1]=kubectl; _normal' kubectldc There is a side effect that if you try to complete the first word, it will try to complete command names. You can handle that with some extra code if you want, but at that point you should probably create a _kubectldc completer as it will become a bit unwieldy for a one-liner. -- Mikael Magnusson