OLD | NEW |
---|---|
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # Flag completion rule for bash. | 5 # Flag completion rule for bash. |
6 # To load in your shell, "source path/to/this/file". | 6 # To load in your shell, "source path/to/this/file". |
7 | 7 |
8 chrome_source=$(readlink -f $(dirname $BASH_SOURCE)/..) | 8 chrome_source=$(dirname $BASH_SOURCE)/.. |
9 if [ $(uname) = "Darwin" ] | |
10 then | |
11 chrome_source=$(python -c 'import os,sys;print os.path.realpath(sys.argv[1])'\ | |
12 $chrome_source) | |
Evan Martin
2012/02/17 20:23:17
Simpler:
chrome_source=$((cd $chrome_source && pwd
groby-ooo-7-16
2012/02/17 22:19:28
Surely you only meant one level of parens :)
On 2
| |
13 sed_expr='s/^[^/]*"\([^" /]*\)".*/--\1/p' | |
Evan Martin
2012/02/17 20:23:17
Why is this different between Darwin and not?
groby-ooo-7-16
2012/02/17 22:19:28
Because Darwin doesn't support \+. And if I'd read
| |
14 else | |
15 chrome_source=$(readlink -f $chrome_source) | |
16 sed_expr='s/^[^/]*"\([^" /]\+\)".*/--\1/p' | |
17 fi | |
9 | 18 |
10 _chrome_flag() { | 19 _chrome_flag() { |
11 local cur targets | 20 local cur targets |
12 cur="${COMP_WORDS[COMP_CWORD]}" | 21 cur="${COMP_WORDS[COMP_CWORD]}" |
13 targets=$(cd $chrome_source; \ | 22 targets=$(cd $chrome_source; \ |
14 git ls-files '*switches*' | \ | 23 git ls-files '*switches*' | \ |
15 xargs sed -ne 's/^[^/]*"\([^" /]\+\)".*/--\1/p') | 24 xargs sed -ne "$sed_expr") |
16 COMPREPLY=($(compgen -W "$targets" -- "$cur")) | 25 COMPREPLY=($(compgen -W "$targets" -- "$cur")) |
17 return 0 | 26 return 0 |
18 } | 27 } |
19 | 28 |
20 complete -F _chrome_flag google-chrome | 29 complete -F _chrome_flag google-chrome |
21 complete -F _chrome_flag chrome | 30 complete -F _chrome_flag chrome |
31 if [ $(uname) = "Darwin" ] | |
32 then | |
33 complete -F _chrome_flag Chromium | |
34 fi | |
OLD | NEW |