Chromium Code Reviews| 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 |