OLD | NEW |
---|---|
(Empty) | |
1 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 | |
6 # This adds completion to bash shells for git cl commands. It is | |
7 # meant for developers and not needed for inclusion by any automated | |
8 # processes that will, of course, specify the full command, not rely | |
9 # on or benefit from tab-completion. | |
10 # | |
11 # Requires: | |
12 # Installed git bash completion. | |
13 # | |
14 # Usage: | |
15 # Put something like the following in your .bashrc: | |
16 # . $PATH_TO_DEPOT_TOOLS/git cl_completion.sh | |
17 # | |
18 | |
19 | |
20 # Parses commands from git cl -h. | |
21 __git_cl_commands () { | |
22 git cl -h 2> /dev/null | sed -n 's/^\s*\x1b\[32m\(.*\)\x1b\[39m.*$/\1/p' | |
M-A Ruel
2016/08/22 19:18:02
lol at ascii parsing
that's sooo brittle
| |
23 } | |
24 | |
25 # Caches variables in __git_cl_all_commands. | |
26 __git_cl_compute_all_commands () { | |
27 test -n "$__git_cl_all_commands" || | |
28 __git_cl_all_commands="$(__git_cl_commands)" | |
29 } | |
30 | |
31 _git_cl () { | |
32 __git_cl_compute_all_commands | |
33 __gitcomp_nl "$(__git_cl_commands)" | |
34 } | |
OLD | NEW |