lkml.org 
[lkml]   [2013]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/34] perf completion: Factor out compgen stuff
    Date
    From: Ramkumar Ramachandra <artagnon@gmail.com>

    compgen is a bash-builtin; factor out the invocations into a separate
    function to give us a chance to override it with a zsh equivalent in
    future patches.

    Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Link: http://lkml.kernel.org/r/1384704807-15779-3-git-send-email-artagnon@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/bash_completion | 15 ++++++++++-----
    1 file changed, 10 insertions(+), 5 deletions(-)

    diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion
    index 3efdc84f112c..824312681601 100644
    --- a/tools/perf/bash_completion
    +++ b/tools/perf/bash_completion
    @@ -89,6 +89,11 @@ __ltrim_colon_completions()
    fi
    }

    +__perfcomp ()
    +{
    + COMPREPLY=( $( compgen -W "$1" -- "$2" ) )
    +}
    +
    __perf_main ()
    {
    local cmd
    @@ -99,23 +104,23 @@ __perf_main ()
    # List perf subcommands or long options
    if [ $cword -eq 1 ]; then
    if [[ $cur == --* ]]; then
    - COMPREPLY=( $( compgen -W '--help --version \
    + __perfcomp '--help --version \
    --exec-path --html-path --paginate --no-pager \
    - --perf-dir --work-tree --debugfs-dir' -- "$cur" ) )
    + --perf-dir --work-tree --debugfs-dir' -- "$cur"
    else
    cmds=$($cmd --list-cmds)
    - COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
    + __perfcomp "$cmds" "$cur"
    fi
    # List possible events for -e option
    elif [[ $prev == "-e" && "${words[1]}" == @(record|stat|top) ]]; then
    evts=$($cmd list --raw-dump)
    - COMPREPLY=( $( compgen -W '$evts' -- "$cur" ) )
    + __perfcomp "$evts" "$cur"
    __ltrim_colon_completions $cur
    # List long option names
    elif [[ $cur == --* ]]; then
    subcmd=${words[1]}
    opts=$($cmd $subcmd --list-opts)
    - COMPREPLY=( $( compgen -W '$opts' -- "$cur" ) )
    + __perfcomp "$opts" "$cur"
    fi
    }

    --
    1.8.1.4


    \
     
     \ /
      Last update: 2013-11-27 21:41    [W:5.558 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site