Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Side by Side Diff: tools/bash-completion.sh

Issue 1518663002: [tools] Fix tools/bash-completion.sh for bool flags and harmony features (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright 2012 the V8 project authors. All rights reserved. 2 # Copyright 2012 the V8 project authors. All rights reserved.
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following 10 # copyright notice, this list of conditions and the following
(...skipping 21 matching lines...) Expand all
32 # Flag completion rule for bash. 32 # Flag completion rule for bash.
33 # To load in your shell, "source path/to/this/file". 33 # To load in your shell, "source path/to/this/file".
34 34
35 v8_source=$(readlink -f $(dirname $BASH_SOURCE)/..) 35 v8_source=$(readlink -f $(dirname $BASH_SOURCE)/..)
36 36
37 _v8_flag() { 37 _v8_flag() {
38 local cur defines targets 38 local cur defines targets
39 cur="${COMP_WORDS[COMP_CWORD]}" 39 cur="${COMP_WORDS[COMP_CWORD]}"
40 defines=$(cat $v8_source/src/flag-definitions.h \ 40 defines=$(cat $v8_source/src/flag-definitions.h \
41 | grep "^DEFINE" \ 41 | grep "^DEFINE" \
42 | grep -v "DEFINE_implication" \ 42 | grep -v "DEFINE_IMPLICATION" \
43 | sed -e 's/_/-/g'; \
44 cat $v8_source/src/flag-definitions.h \
45 | grep "^ V(harmony_" \
Jakob Kummerow 2015/12/10 09:44:36 Harmony feature flags are generated by a macro, so
46 | sed -e 's/^ V/DEFINE-BOOL/' \
Jakob Kummerow 2015/12/10 09:44:36 ...but we can use "sed" as a poor man's macro expa
43 | sed -e 's/_/-/g') 47 | sed -e 's/_/-/g')
44 targets=$(echo "$defines" \ 48 targets=$(echo "$defines" \
45 | sed -ne 's/^DEFINE-[^(]*(\([^,]*\).*/--\1/p'; \ 49 | sed -ne 's/^DEFINE-[^(]*(\([^,]*\).*/--\1/p'; \
46 echo "$defines" \ 50 echo "$defines" \
47 | sed -ne 's/^DEFINE-bool(\([^,]*\).*/--no\1/p'; \ 51 | sed -ne 's/^DEFINE-BOOL(\([^,]*\).*/--no\1/p'; \
Jakob Kummerow 2015/12/10 09:44:36 Remember https://codereview.chromium.org/259573003
48 cat $v8_source/src/d8.cc \ 52 cat $v8_source/src/d8.cc \
49 | grep "strcmp(argv\[i\]" \ 53 | grep "strcmp(argv\[i\]" \
50 | sed -ne 's/^[^"]*"--\([^"]*\)".*/--\1/p') 54 | sed -ne 's/^[^"]*"--\([^"]*\)".*/--\1/p')
51 COMPREPLY=($(compgen -W "$targets" -- "$cur")) 55 COMPREPLY=($(compgen -W "$targets" -- "$cur"))
52 return 0 56 return 0
53 } 57 }
54 58
55 complete -F _v8_flag -f d8 59 complete -F _v8_flag -f d8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698