From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F414C606B3 for ; Mon, 8 Jul 2019 13:05:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DC2A32064B for ; Mon, 8 Jul 2019 13:05:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="NSP2kfay" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731239AbfGHNF6 (ORCPT ); Mon, 8 Jul 2019 09:05:58 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:40675 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731235AbfGHNF5 (ORCPT ); Mon, 8 Jul 2019 09:05:57 -0400 Received: by mail-wm1-f67.google.com with SMTP id v19so16338610wmj.5 for ; Mon, 08 Jul 2019 06:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=kBezTPnTqCdw/0P9uielP/zWUgvOGL03R8LDl/7B9T8=; b=NSP2kfayAA1WDdyujC07ifgcQM5x8ZXh/o54O8PTO9r5iuP7Ho/45raHRYY2iWccaa 3R82z13r+qtV1wSU6hzPhaHO2EgiB51XB6rLIZ3g2GfLu5f/dOEeC/lLTUerFzFSuzvw q0PHmefmB2A7FwLqDHUg6x8TwWUHkNfNRQGYL6RtktvoKYE58iuj/cF6LhjFe4MgQDI5 MFDCmCy+QbBUpvL1ywd5bIutSMcm57oid1Uw9M1shjnHy/+nt3ln54rfVtxcJrvWtnm9 LOfCrYkWbsbX8mXp2ZC6uy6Au17R52zHE/Gx1etJGoUPRhJu1jv1RrG5tW8M4MqtbgPl J4Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=kBezTPnTqCdw/0P9uielP/zWUgvOGL03R8LDl/7B9T8=; b=JoETzWzQb6K73GWtqfW+d46/0Gc0XzGSdtT+S4W/sfxYHQfEhRtgt+hjub7TGjZQwg FbDQ4+tB9mhPKp/VenAnX57pfj/FZ0TTqwjbzFGP+Fq/ioNbtYrlt6m4aasexahcaQRf SNQk0SxGNLzlPPH2OX3SP0RuvbolKj3qR4o5Y0V3kb+PhKNRPDGkGrVUEh+/AYhv014p 9aKZnkmsZnkOriovdFwfa7Yos1KDb4cuM5l3s9PYuFDF2t3NkRM961S5JF7JLbGUEL/3 ypLFACzm5bQEU3X4OeH9aeQUQdnsC+2MZeb6zQbpb+FvbrxCB9FWTP9DmxqFUcc8syf7 GNEQ== X-Gm-Message-State: APjAAAXqox+WNRvzO9p7n/LidqFbIG4J/wQQFf+03WobsJ+Hwot/yHcE 6RT9pi57w5awrsTnVka+qML9FJVbvnE= X-Google-Smtp-Source: APXvYqxhyXd5o6GGE395XRWyVBg429XqKT+TCdbjcC21qLXaWyUeiWfiFWIA0RhNJlXSJXlFWHGWpQ== X-Received: by 2002:a1c:1a4c:: with SMTP id a73mr12568041wma.109.1562591155504; Mon, 08 Jul 2019 06:05:55 -0700 (PDT) Received: from cbtest32.netronome.com ([217.38.71.146]) by smtp.gmail.com with ESMTPSA id e7sm16059575wmd.0.2019.07.08.06.05.54 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 08 Jul 2019 06:05:54 -0700 (PDT) From: Quentin Monnet To: Alexei Starovoitov , Daniel Borkmann Cc: bpf@vger.kernel.org, netdev@vger.kernel.org, oss-drivers@netronome.com, Quentin Monnet Subject: [PATCH bpf-next] tools: bpftool: add completion for bpftool prog "loadall" Date: Mon, 8 Jul 2019 14:05:46 +0100 Message-Id: <20190708130546.7518-1-quentin.monnet@netronome.com> X-Mailer: git-send-email 2.17.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Bash completion for proposing the "loadall" subcommand is missing. Let's add it to the completion script. Add a specific case to propose "load" and "loadall" for completing: $ bpftool prog load ^ cursor is here Otherwise, completion considers that $command is in load|loadall and starts making related completions (file or directory names, as the number of words on the command line is below 6), when the only suggested keywords should be "load" and "loadall" until one has been picked and a space entered after that to move to the next word. Signed-off-by: Quentin Monnet Reviewed-by: Jakub Kicinski --- tools/bpf/bpftool/bash-completion/bpftool | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/bpf/bpftool/bash-completion/bpftool b/tools/bpf/bpftool/bash-completion/bpftool index 965a8658cca3..c8f42e1fcbc9 100644 --- a/tools/bpf/bpftool/bash-completion/bpftool +++ b/tools/bpf/bpftool/bash-completion/bpftool @@ -342,6 +342,13 @@ _bpftool() load|loadall) local obj + # Propose "load/loadall" to complete "bpftool prog load", + # or bash tries to complete "load" as a filename below. + if [[ ${#words[@]} -eq 3 ]]; then + COMPREPLY=( $( compgen -W "load loadall" -- "$cur" ) ) + return 0 + fi + if [[ ${#words[@]} -lt 6 ]]; then _filedir return 0 @@ -435,7 +442,7 @@ _bpftool() *) [[ $prev == $object ]] && \ COMPREPLY=( $( compgen -W 'dump help pin attach detach \ - load show list tracelog run' -- "$cur" ) ) + load loadall show list tracelog run' -- "$cur" ) ) ;; esac ;; -- 2.17.1